In GNOME- und anderen freedesktop.org- kompatiblen Desktop-Umgebungen wie KDE und Unity werden Anwendungen über Desktop-Einträge , die in Textdateien mit der .desktop
Erweiterung (als Desktop-Dateien bezeichnet ) definiert sind, zu den Desktop-Menüs oder der Desktop-Shell hinzugefügt . Die Desktop-Umgebungen erstellen Menüs für einen Benutzer aus den kombinierten Informationen, die aus verfügbaren Desktop-Einträgen extrahiert wurden.
Desktop-Dateien können an zwei Stellen erstellt werden:
/usr/share/applications/
für Desktop-Einträge, die jedem Benutzer im System zur Verfügung stehen
~/.local/share/applications/
für Desktop-Einträge, die einem einzelnen Benutzer zur Verfügung stehen
Möglicherweise müssen Sie GNOME neu starten, damit die neu hinzugefügten Anwendungen funktionieren.
Laut Konvention sollten Desktop-Dateien keine Leerzeichen oder internationalen Zeichen in ihrem Namen enthalten.
Jede Desktop-Datei ist in Gruppen unterteilt , wobei jede mit dem Gruppenkopf in eckigen Klammern ( []
) beginnt . Jeder Abschnitt enthält eine Anzahl von Schlüsseln , Wert - Paaren, durch ein Gleichheitszeichen getrennt ist ( =
).
Unten finden Sie ein Beispiel für eine Desktop-Datei:
[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
Erläuterung
[Desktop Entry]
Der Desktop Entry
Gruppenkopf kennzeichnet die Datei als Desktop-Eintrag
Type
die Art des Eintrags, gültige Werte sind Application
, Link
undDirectory
Encoding
die Zeichenkodierung der Desktop-Datei
Name
Der Anwendungsname, der in Menüs oder Startprogrammen angezeigt wird
Comment
eine Beschreibung der in QuickInfos verwendeten Anwendung
Icon
Das Symbol, das für die Anwendung in Menüs oder Startprogrammen angezeigt wird
Exec
Der Befehl, mit dem die Anwendung von einer Shell aus gestartet wird.
Terminal
ob die Anwendung in einem Terminal ausgeführt werden soll, sind gültige Werte true
oderfalse
Categories
durch Semikolon ( ;
) getrennte Liste der Menükategorien, in denen der Eintrag angezeigt werden soll
Befehlszeilenargumente im Exec
Schlüssel können mit den folgenden Variablen angegeben werden:
%f
ein einzelner Dateiname.
%F
mehrere Dateinamen.
%u
eine einzelne URL.
%U
mehrere URLs.
%d
ein einziges Verzeichnis. Wird in Verbindung mit %f
zum Suchen einer Datei verwendet.
%D
mehrere Verzeichnisse. Wird in Verbindung mit %F
zum Suchen von Dateien verwendet.
%n
Ein einzelner Dateiname ohne Pfad.
%N
mehrere Dateinamen ohne Pfade.
%k
Ein URI oder lokaler Dateiname des Speicherorts der Desktop-Datei.
%v
den Namen des Geräteeintrags.
Beachten Sie, dass ~
oder Umgebungsvariablen wie $HOME
in Desktop-Dateien nicht erweitert werden, sodass alle ausführbaren Dateien, auf die verwiesen wird, entweder im $PATH
absoluten Pfad oder über den absoluten Pfad referenziert werden müssen .
Eine vollständige Desktop Entry Specification ist im GNOME Dev Center verfügbar .
Starten Sie Skripte
Wenn die zu startende Anwendung bestimmte Schritte erfordert, bevor sie aufgerufen wird, können Sie ein Shell-Skript erstellen, mit dem die Anwendung gestartet wird, und den Desktop-Eintrag auf das Shell-Skript verweisen. Angenommen, eine Anwendung muss in einem bestimmten aktuellen Arbeitsverzeichnis ausgeführt werden. Erstellen Sie ein Startskript an einem geeigneten Ort ( ~/bin/
zum Beispiel). Das Skript könnte ungefähr so aussehen:
#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd
Setzen Sie das ausführbare Bit für das Skript:
$ chmod +x ~/bin/launch-application
Zeigen Sie dann mit dem Exec
Schlüssel im Desktop-Eintrag auf das Startskript:
Exec=/home/user/bin/launch-application