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 EntryGruppenheader identifiziert die Datei als Desktop-EintragTypedie Art des Eintrags, gültige Werte sindApplication,LinkundDirectoryEncodingdie Zeichenkodierung der Desktop-DateiNameder in Menüs oder Startprogrammen sichtbare AnwendungsnameCommenteine Beschreibung der verwendeten Anwendung in TooltipsIcondas Symbol, das für die Anwendung in Menüs oder Startprogrammen angezeigt wirdExecder Befehl, der verwendet wird, um die Anwendung von einer Shell aus zu starten.Terminalob die Anwendung in einem Terminal ausgeführt werden soll, gültige Werte sindtrueoderfalseCategoriesSemikolon (;) getrennte Liste der Menükategorien, in denen der Eintrag angezeigt werden soll
Befehlszeilenargumente in Exec Schlüssel kann mit den folgenden Variablen bezeichnet werden:
%fein einzelner Dateiname.%Fmehrere Dateinamen.%ueine einzelne URL.%Umehrere URLs.%dein einzelnes Verzeichnis. Wird in Verbindung mit%fverwendet um eine Datei zu finden.%Dmehrere Verzeichnisse. Wird zusammen mit%Fverwendet um Dateien zu finden.%nein einzelner Dateiname ohne Pfad.%Nmehrere Dateinamen ohne Pfade.%kein URI oder lokaler Dateiname des Speicherorts der Desktop-Datei.%vder 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