In GNOME- und anderen freedesktop.org- kompatiblen Desktop-Umgebungen wie KDE und Unity werden Anwendungen über Desktop-Einträge , die in Textdateien mit der .desktopErweiterung (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 EntryGruppenkopf kennzeichnet die Datei als Desktop-Eintrag
Type die Art des Eintrags, gültige Werte sind Application, LinkundDirectory
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 trueoderfalse
Categories durch Semikolon ( ;) getrennte Liste der Menükategorien, in denen der Eintrag angezeigt werden soll
Befehlszeilenargumente im ExecSchlü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 %fzum Suchen einer Datei verwendet.
%D mehrere Verzeichnisse. Wird in Verbindung mit %Fzum 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 $HOMEin Desktop-Dateien nicht erweitert werden, sodass alle ausführbaren Dateien, auf die verwiesen wird, entweder im $PATHabsoluten 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 ExecSchlüssel im Desktop-Eintrag auf das Startskript:
Exec=/home/user/bin/launch-application