Integrovaná dokumentace GNOME pokrývá pouze věci, které může každý snadno uhodnout. Mám na to aplikaci, kterou mohu spustit pouze z příkazového řádku. Ne že by mi vadilo používat terminál, ale …
Každopádně, jak přidám příkaz (a nejlépe pěkné logo) do GNOME WM?
Přijatá odpověď:
V GNOME a dalších desktopových prostředích kompatibilních s freedesktop.org, jako je KDE a Unity, jsou aplikace přidávány do nabídek plochy nebo prostředí plochy prostřednictvím položek na ploše , definovaný v textových souborech s .desktop rozšíření (označované jako soubory na ploše ). Prostředí pracovní plochy vytváří nabídky pro uživatele z kombinovaných informací extrahovaných z dostupných položek pracovní plochy.
Soubory na ploše mohou být vytvořeny na dvou místech:
/usr/share/applications/pro záznamy na ploše dostupné všem uživatelům v systému~/.local/share/applications/pro záznamy na ploše dostupné jednomu uživateli
Aby nově přidané aplikace fungovaly, možná budete muset restartovat GNOME.
Podle konvence by soubory na ploše neměly ve svém názvu obsahovat mezery nebo mezinárodní znaky.
Každý soubor plochy je rozdělen do skupin , přičemž každý začíná záhlavím skupiny v hranatých závorkách ([] ). Každá sekce obsahuje určitý počet klíčů , hodnota párů, oddělených rovnítkem (= ).
Níže je ukázka souboru na ploše:
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Application Name
Comment=Application description
Icon=/path/to/icon.xpm
Exec=/path/to/application/executable
Terminal=false
Categories=Tags;Describing;Application
Vysvětlení
[Desktop Entry]Desktop Entryzáhlaví skupiny identifikuje soubor jako záznam na plošeTypetyp položky, platné hodnoty jsouApplication,LinkaDirectoryEncodingkódování znaků v souboru plochyNamenázev aplikace viditelný v nabídkách nebo spouštěcích nástrojíchCommentpopis aplikace použité v popisechIconikona zobrazená pro aplikaci v nabídkách nebo spouštěcích nástrojíchExecpříkaz, který se používá ke spuštění aplikace ze shellu.Terminalzda má být aplikace spuštěna v terminálu, platné hodnoty jsoutruenebofalseCategoriesstředník (;) samostatný seznam kategorií menu, ve kterých by se měl záznam zobrazit
Argumenty příkazového řádku v Exec klíč může být označen následujícími proměnnými:
%fjeden název souboru.%Fvíce názvů souborů.%ujednu adresu URL.%Uvíce adres URL.%djeden adresář. Používá se ve spojení s%fk vyhledání souboru.%Dvíce adresářů. Používá se ve spojení s%Fk vyhledání souborů.%njeden název souboru bez cesty.%Nvíce názvů souborů bez cest.%kURI nebo místní název souboru umístění souboru plochy.%vnázev položky Zařízení.
Všimněte si, že ~ nebo proměnné prostředí jako $HOME nejsou rozbaleny v souborech na ploše, takže všechny odkazované spustitelné soubory musí být buď v $PATH nebo odkazováno prostřednictvím jejich absolutní cesty.
Úplná specifikace Desktop Entry je k dispozici v GNOME Dev Center.
Spouštěcí skripty
Pokud aplikace, která má být spuštěna, vyžaduje provedení určitých kroků před jejím vyvoláním, můžete vytvořit skript shellu, který aplikaci spustí, a nasměrovat položku na ploše na skript shellu. Předpokládejme, že aplikace vyžaduje spuštění z určitého aktuálního pracovního adresáře. Vytvořte spouštěcí skript ve vhodném umístění (~/bin/ například). Skript může vypadat nějak takto:
#!/bin/bash
pushd "/path/to/application/directory"
./application "[email protected]"
popd
Nastavte spustitelný bit pro skript:
$ chmod +x ~/bin/launch-application
Poté přejděte na Exec zadejte na ploše položku spouštěcího skriptu:
Exec=/home/user/bin/launch-application