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 Entry
záhlaví skupiny identifikuje soubor jako záznam na plošeType
typ položky, platné hodnoty jsouApplication
,Link
aDirectory
Encoding
kódování znaků v souboru plochyName
název aplikace viditelný v nabídkách nebo spouštěcích nástrojíchComment
popis aplikace použité v popisechIcon
ikona zobrazená pro aplikaci v nabídkách nebo spouštěcích nástrojíchExec
příkaz, který se používá ke spuštění aplikace ze shellu.Terminal
zda má být aplikace spuštěna v terminálu, platné hodnoty jsoutrue
nebofalse
Categories
stř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:
%f
jeden název souboru.%F
více názvů souborů.%u
jednu adresu URL.%U
více adres URL.%d
jeden adresář. Používá se ve spojení s%f
k vyhledání souboru.%D
více adresářů. Používá se ve spojení s%F
k vyhledání souborů.%n
jeden název souboru bez cesty.%N
více názvů souborů bez cest.%k
URI nebo místní název souboru umístění souboru plochy.%v
ná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