Die integrierte GNOME-Dokumentation deckt nur die Dinge ab, die jeder leicht erraten kann. Ich habe eine Anwendung, die ich nur von der Befehlszeile aus starten kann. Nicht, dass es mir etwas ausmacht, ein Terminal zu benutzen, aber …
Jedenfalls, wie füge ich den Befehl (und vorzugsweise ein nettes Logo) zu GNOME WM hinzu?
Akzeptierte Antwort:
In GNOME und anderen freedesktop.org-kompatiblen Desktop-Umgebungen wie KDE und Unity werden Anwendungen über Desktop-Einträge zu den Desktop-Menüs oder der Desktop-Shell hinzugefügt , definiert in Textdateien mit .desktop
Erweiterung (als Desktop-Dateien bezeichnet ). Die Desktop-Umgebungen erstellen Menüs für einen Benutzer aus den kombinierten Informationen, die aus verfügbaren Desktop-Einträgen extrahiert werden.
Desktop-Dateien können an zwei Orten 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.
Per Konvention sollten Desktop-Dateien keine Leerzeichen oder internationale Zeichen in ihrem Namen enthalten.
Jede Desktop-Datei ist in Gruppen aufgeteilt , jeweils beginnend mit dem Gruppenkopf in eckigen Klammern ([]
). Jeder Abschnitt enthält eine Reihe von Schlüsseln , Wert Paare, getrennt durch ein Gleichheitszeichen (=
).
Unten sehen Sie ein Beispiel einer 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
Erklärung
[Desktop Entry]
denDesktop Entry
Gruppenheader identifiziert die Datei als Desktop-EintragType
die Art des Eintrags, gültige Werte sindApplication
,Link
undDirectory
Encoding
die Zeichenkodierung der Desktop-DateiName
der in Menüs oder Startprogrammen sichtbare AnwendungsnameComment
eine Beschreibung der verwendeten Anwendung in TooltipsIcon
das Symbol, das für die Anwendung in Menüs oder Startprogrammen angezeigt wirdExec
der Befehl, der verwendet wird, um die Anwendung von einer Shell aus zu starten.Terminal
ob die Anwendung in einem Terminal ausgeführt werden soll, gültige Werte sindtrue
oderfalse
Categories
Semikolon (;
) getrennte Liste der Menükategorien, in denen der Eintrag angezeigt werden soll
Befehlszeilenargumente in Exec
Schlüssel kann mit den folgenden Variablen bezeichnet werden:
%f
ein einzelner Dateiname.%F
mehrere Dateinamen.%u
eine einzelne URL.%U
mehrere URLs.%d
ein einzelnes Verzeichnis. Wird in Verbindung mit%f
verwendet um eine Datei zu finden.%D
mehrere Verzeichnisse. Wird zusammen mit%F
verwendet um Dateien zu finden.%n
ein einzelner Dateiname ohne Pfad.%N
mehrere Dateinamen ohne Pfade.%k
ein URI oder lokaler Dateiname des Speicherorts der Desktop-Datei.%v
der Name des Geräteeintrags.
Beachten Sie, dass ~
oder Umgebungsvariablen wie $HOME
werden nicht innerhalb von Desktop-Dateien erweitert, daher müssen sich alle ausführbaren Dateien, auf die verwiesen wird, entweder im $PATH
befinden oder über ihren absoluten Pfad referenziert werden.
Eine vollständige Desktop Entry Specification ist im GNOME Dev Center verfügbar.
Skripts starten
Wenn die zu startende Anwendung vor dem Aufrufen bestimmte Schritte erfordert, können Sie ein Shell-Skript erstellen, das die Anwendung startet, und den Desktop-Eintrag auf das Shell-Skript verweisen. Angenommen, eine Anwendung muss von einem bestimmten aktuellen Arbeitsverzeichnis aus ausgeführt werden. Erstellen Sie ein Startskript an einem geeigneten Ort (~/bin/
zum Beispiel). Das Skript könnte etwa wie folgt aussehen:
#!/bin/bash
pushd "/path/to/application/directory"
./application "[email protected]"
popd
Setzen Sie das ausführbare Bit für das Skript:
$ chmod +x ~/bin/launch-application
Zeigen Sie dann auf Exec
Geben Sie den Desktop-Eintrag für das Startskript ein:
Exec=/home/user/bin/launch-application