To je zajímavé, já když kliknu na soubor s příponou .desktop, tak se mi otevře dialog "Co si přejete provést s tímto souborem?" Otevřít/Spustit/Zrušit (KDE Plasma)
Když ho přejmenuju aby měl příponu .pdf, tak se otevře v Okularu a vidím text toho vnitřku .desktop souboru.
V jakém linuxovém desktopovém prostředí se to chová jinak?
ZIP to ukládat umí a Ark mi při rozbalení i ochotně při rozbalování +x na souborech nastaví. Celkem děsivé. Na druhou stranu, Ark ukazuje původní název souboru (ne ten nastavený uvnitř Desktop Entry souboru) i práva souboru zabaleného v ZIPu. Z Arku soubor nejde spustit (otevře se namísto toho např. v textovém editoru), ale pokud ho rozbalím, tak už ano.
Nemám tušení, jak se chovají jiná desktopová prostředí.
Takhle to vypadá v ZIPu:
$ zipinfo okular.zip Archive: okular.zip Zip file size: 3284 bytes, number of entries: 1 -rwxr-xr-x 3.0 unx 10582 tx defN 25-Aug-25 12:56 okularApplication_pdf.desktop 1 file, 10582 bytes uncompressed, 3076 bytes compressed: 70.9%
Samozřejmě to má natavený eXecutable flag, ale chová se to stejně i bez něj. ZIP eXecutable flag uložit umí, pokud je vytvořen v Linuxu.
V KDE Plasma to takhle dělá dlouho. Zkoušel jsem minimálně v předchozí Plasma 5.x, teď v Plasma 6.x to je stejné. Tyhle soubory se prostě nespustí kliknutím, bez potvrzení.
Ono se to chová odlišně podle toho, jestli klikáš na ikonu na ploše nebo najdeš příslušnou složku a soubor ve správci souborů a klikáš tam. Zkoušel jsem to v KDE a Dolphinovi.
Na ploše to spouští, zatímco v Dolphinovi se zeptá.
Pokud nemá soubor spustitelný příznak, tak je tam o jeden dialog víc a ptá se tě to jestli to skutečně chceš spustit a pokud dáš ano, tak to ten spustitelný příznak přidá za tebe.
Bohužel tenhle problém nemá jednoduché řešení, protože uživatel na ploše nebo v nabídce chce mít ikony, na které může klikat a spouštět jimi programy – a pod tím je obyčejný textový soubor. Jde tedy spíš o to, aby se v těch složkách nemohl objevit soubor stažený z internetu jen tak náhodou. Tzn. ukládat do jiné složky a tam nic nespouštět. Stejně tak by www prohlížeč neměl mít práva zapisovat do našeho .ssh/authorized_keys atd. Trochu může pomoci i SELinux nebo AppArmor či jiný bezpečnostní modul Jádra.
Ano mám v exec něco ke spuštění. Když do položky name napíšu něco.pdf, tak to stejně v Dolphinu vidím jako .desktop. To co je v Name, popř. v Name[XX] (kód jazyka), tak se to zobrazí při pokusu o spuštění v dalším dialogu, že to spustí "něco.pdf", jestli to skutečně chci.
Tak by mě fakt zajímalo, jak se to stane "samo", jak se to píše ve zprávičce. Nebo jestli to dělají konkrétní DE v Linuxu. V KDE se mi to replikovat nepodařilo.