!Štítky: {tematický okruh}{aplikace}{syntaxe}{GUI} !OblíbenáZaklínadla: !ÚzkýRežim: zap
Tato kapitola pokrývá tvorbu spouštěčů aplikací (*.desktop) a jejich použití v nabídce aplikací a automatické spouštění aplikací po přihlášení do grafického sezení (pro automatické spouštění před přihlášením je třeba použít démon „cron“ nebo jiné řešení).
Spouštěč je textový soubor s příponou „.desktop“. Konkrétní možnosti a chování spouštěčů zavisí na použitém okenním prostředí; obecně však platí následující:
Spouštěč umístěný v těchto adresářích se objeví v nabídce aplikací a je možno ho nastavit, aby se spouštěl při dvojkliku na typy souborů, které uvádí v klíči „MimeType“:
!KompaktníSeznam:
- „/usr/share/applications“
- „/usr/local/share/applications“
- „~/.local/share/applications“
Spouštěč umístěný v těcho adresářích se automaticky spustí po přihlášení uživatele, pokud ho uživatel nepotlačí v nastavení systému:
!KompaktníSeznam:
- „/etc/xdg/autostart“
- „~/.config/autostart“
Spouštěč, k němuž má uživatel právo „x“, se zobrazí ve správcích souborů a (případně) na pracovní ploše se svou ikonou a svým názvem místo názvu souboru. Výchozí příkaz takového spouštěče můžete aktivovat dvojklikem nebo přetažením adresářových položek na něj.
- Název (name) je u spouštěče hlavní text, který se v nabídkách zobrazí u ikony spouštěče. Měl by být krátký a téměř nikdy neodpovídá názvu souboru.
- Popisek (comment) je vedlejší text, který prostředí může zobrazit spolu s názvem. Může být i delší, ale není povinný.
- Kategorie (category) jsou pojmenované skupiny sloužící především k roztřídění spouštěčů do podnabídek. Spouštěč může patřit i do více podnabídek současně.
- Výchozí příkaz je příkaz, který se spustí dvojkliknutím (popř. kliknutím) na spouštěč nebo když na něj uživatele přetáhne nějaké adresářové položky.
- Akce je dodatečný pojmenovaný příkaz příslušný ke spouštěči, který lze v některých prostředích spustit výběrem z kontextové nabídky.
!ÚzkýRežim: vyp
# obvyklý tvar spouštěče *.desktop
// Pozor — před psaním klíče „Exec“ nastudujte příslušnou podsekci v sekci „Parametry příkazů“! Pokud neznáte přesný identifikátor požadované ikony, doporučuji pro nastavení klíče „Icon“ použít GUI editor.
[Desktop␣Entry]
[Version=1.0]
Type=Application
Name={Název spouštěče}
[Name[cs]={Název jen pro české prostředí}]
Exec={výchozí příkaz}
[Icon={ikona}]
[Actions={IdAkce};[{IdDalsiAkce};]...]
[{další=volby}]...
[{definice akcí}]...
# nastavit aktuální adresář pro vých. příkaz
Path={/absolutní/cesta}
# spustit příkaz v emulátoru terminálu
Terminal=true
# řádek s komentářem (kdekoliv v souboru)
#[{libovolný text}]
# nastavit popisek
Comment={Popisek}
[Comment[cs]={Popisek jen pro české prostředí}]
# potlačit zobrazení v menu
NoDisplay=true
# zařadit do kategorií
Categories={Kategorie};[{DalšíKategorie};]...
# nastavit obsluhované MIME typy
MimeType={mime/typ};[{další/mime/typ};]...
# obecný tvar akce
// Pozor — před psaním klíče „Exec“ nastudujte příslušnou podsekci v sekci „Parametry příkazů“!
[Desktop␣Action␣{IdAkce}]
Name={Titulek}
[Name[cs]={Titulek česky}]
Exec={příkaz akce}
[Icon={ikona}]
# otevřít spouštěč v GUI editoru
exo-desktop-item-edit {cesta/ke/spouštěči.desktop}
# vytvořit nový spouštěč (GUI)
// Volitelné parametry jsem nezkoušel/a.
exo-desktop-item-edit --create-new --type Application [--name {"Název"}] [--command {"Příkaz"}] [--icon {ikona}] {cesta/ke/spouštěči.desktop}
# aktualizovat keš obsluh typů souborů po změně systémových spouštěčů
sudo update-desktop-database
Příkazová řádka v klíčích Exec se zadává podobně jako v Bashi, ale s několika dvěma zásadními odchylkami:
- Znaky !, $, &, ;, <, =, >, ?, [, ], ^, `, {, |, }, ~ a další jsou obyčejné; nemůžete je použít způsobem, na jaký jste zvyklý/á z Bashe, a není třeba je odzvláštňovat.
- Příkaz musí začínat názvem spustitelného souboru (bez cesty či s cestou); přiřazení do proměnných, funkce a vestavěné příkazy Bashe (včetně jakýchkoliv zvláštních konstrukcí) jsou vyloučeny.
- Znak „\“ má zvláštní význam všude kromě vnitřku apostrofů; znak „%“ i tam. Oba tyto znaky se zde odzvláštňují zdvojením.
- Mimo vnitřek apostrofů lze vložit (nezvláštní) konec řádku sekvencí „\n“.
Pokud nějakou konstrukci z Bashe potřebujete, musíte zavolat Bash a příkaz mu předat parametrem „-c“; přitom si dejte pozor na nutnost odzvláštnění znaku „%“ a znaku „\“ mimo apostrofy (GUI editor vám s tímto bohužel nepomůže).
Ve výchozím příkazu (ne v příkazu akce) můžete na místě jednoho parametru (obvykle posledního) uvést jednu z následujících značek, která se uplatní v případě, že uživatel na spouštěč přetáhne jeden nebo více souborů či adresářů (jinak se daný parametr tiše vypustí):
- %f se rozvine na absolutní cestu jednoho souboru/adresáře (v případě přetažení více položek se spustí pro každou položku samostatný příkaz)
- %F se rozvine na seznam souborů/adresářů (každý v samostatném parametru)
- %u a %U jsou jako %f a %F, ale místo cesty se předá URI (může být i vzdálené)
Ikona je obvykle zadána názvem (v takovém případě bude vyhledávána ve standardních adresářích). Může však být zadána také jako absolutní cesta k souboru s ikonou (ve formátu PNG nebo SVG), v takovém případě se použije vždy daný soubor (nezkoušel/a jsem). Pokud přesný název ikony neznáte, použijte k jejímu nastavení GUI editor.
(Podnabídka → Category)
- „Grafika“ → Graphics
- „Hry“ → Game
- „Internet“ → Network
- „Kancelář“ → Office
- „Multimédia“ → AudioVideo
- „Nastavení“ → Settings — Aplikace v této kategorii se v Xfce objevují také v okně „Nastavení systému“.
- „Příslušenství“ → Utility
- „Systém“ → System
- „Vývoj“ → Development
- „Vzdělávání“ → Education
Příklad (umístit spouštěč do podnabídek „Multimédia“ a „Vzdělávání“):
*# *
Category=AudioVideo;Education;
Většina použitých nástrojů je přítomna i v minimální instalaci Ubuntu. Pouze GUI editor exo-desktop-item-edit může být nutno doinstalovat:
*# *
sudo apt-get install exo-utils
# ~/.local/share/applications/vycet.xterm.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=List of paths in xterm
Name[cs]=Výčet cest v xtermu
Exec=xterm -e bash -c 'printf %%s\\\\n "$@" && read' -- %F
# řekněme, že lepší ikonu jste nenašel/a...
Icon=ibus
Categories=Utility;System;
Comment=Přetáhněte sem soubory a adresáře, xterm vám vypíše jejich cesty!
!ÚzkýRežim: zap
- Častá začátečnická chyba je očekávání, že znaky „~“ a „$“ v klíči Exec že budou fungovat stejně jako v Bashi.
- Název spouštěče může obsahovat prakticky jakékoliv tisknutelné znaky; zpětné lomítko však musí být odzvláštněno zdvojením a doporučuji název začínat písmenem, číslicí nebo ne-ASCII znakem.
- Umístíte-li do „~/.local/share/applications“ spouštěč se stejným názvem souboru, jaký existuje na systémové úrovni, váš spouštěč ten systémový „překryje“. Toho můžete využít k přízpusobení si spouštěčů v rámci svého uživatelského účtu; můžete změnit název, ikonu, příkaz apod.
- YouTube: Linux pro začátečníky: Jak vytvořit spouštěč
- man exo-destop-item-edit (anglicky)
- YouTube: Managing AppImages on Linux (anglicky)
- Oficiální specifikace formátu spouštěčů (anglicky)
- Balíček exo-utils (anglicky)
- Seznam hlavních kategorií (anglicky)
- Seznam vedlejších kategorií (anglicky)
V této verzi kapitoly chybí:
!KompaktníSeznam:
- nic
Tato kapitola záměrně nepokrývá:
!KompaktníSeznam:
- nic
!ÚzkýRežim: vyp