Die On-Board-Dokumentation zu GNOME behandelt nur die Dinge, die jeder leicht erraten kann. Ich habe eine Anwendung dafür, die ich nur von der Kommandozeile aus starten kann. Nicht, dass es mir etwas ausmacht, ein Terminal zu benutzen, aber ...
Wie füge ich den Befehl (und vorzugsweise ein schönes Logo) zu GNOME WM hinzu?
Antworten:
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 stehenMö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:
Erläuterung
[Desktop Entry]
DerDesktop Entry
Gruppenkopf kennzeichnet die Datei als Desktop-EintragType
die Art des Eintrags, gültige Werte sindApplication
,Link
undDirectory
Encoding
die Zeichenkodierung der Desktop-DateiName
Der Anwendungsname, der in Menüs oder Startprogrammen angezeigt wirdComment
eine Beschreibung der in QuickInfos verwendeten AnwendungIcon
Das Symbol, das für die Anwendung in Menüs oder Startprogrammen angezeigt wirdExec
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 Wertetrue
oderfalse
Categories
durch Semikolon (;
) getrennte Liste der Menükategorien, in denen der Eintrag angezeigt werden sollBefehlszeilenargumente 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:Setzen Sie das ausführbare Bit für das Skript:
Zeigen Sie dann mit dem
Exec
Schlüssel im Desktop-Eintrag auf das Startskript:quelle
<path>/.FTL
würde auf eine versteckte Datei verweisen, die aufgerufen wird.FTL
, was nicht dasselbe ist wie./FTL
, was auf eine Datei verweist, dieFTL
im aktuellen Verzeichnis aufgerufen wird . Sie können versuchen,FTL
über/full/path/path/to/FTL
in einem Terminal zu starten, um festzustellen, ob Sie eine aussagekräftige Fehlerausgabe erhalten. Wenn die ausführbare Datei beispielsweise im aktuellen Arbeitsverzeichnis nach Bibliotheken sucht, müssen Sie möglicherweise ein Startskript ausführen, das sich an das Startskript anlehntpushd <path>; ./FTL; popd
und denExec
Bezeichner in der Desktop-Datei auf das Startskript verweist.Sehr gute Antwort von Thomas Nyman.
Gnome wird mit einem GUI-Tool
gnome-desktop-item-edit
geliefert, das beim Erstellen von * .desktop-Dateien hilft. Wir müssen es von der Kommandozeile aus benutzen oder eine Desktop-Datei dafür erstellen.Anweisungen, um Gnome Application von zu machen
gnome-desktop-item-edit
Öffnen Sie das Terminalfenster und geben Sie den folgenden Befehl ein:
gnome-desktop-item-edit --create-new / home / [Ihr Benutzername] /. local / share / applications
Füllen Sie im geöffneten Fenster Folgendes aus:
Name: Gnome Applicaiton
Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications
Klicken Sie auf das Symbol, um ein anderes Symbol auszuwählen.
Klicken Sie auf OK, um die Fenster zu schließen
Schließen Sie das Terminalfenster
Testen neu generiert
Gnome Application
Gnome Application
eingegebene vorher sehenquelle
Die bisherigen Antworten von Thomas Nyman und Dudi Boy sind sehr gut und detailliert. Ich poste dies, weil ich in keinem anderen Post eine Antwort auf meinen Zweifel gefunden habe und in Git-Ausgaben suchen musste.
Nachdem ich die Schritte befolgt hatte, die Thomas Nyman vorgeschlagen hatte, konnte ich das Symbol für mein Programm im App-Menü anzeigen. Das Problem hierbei ist, dass ich Dash zum Andocken als Seitenleiste verwende und das Symbol nicht wie andere Symbole als Favorit festlegen kann. Nach der Suche habe ich festgestellt, dass Sie die Zeile
StartupWMClass=ApplicationName
in der.desktop
Datei hinzufügen müssen . Danach wird die Option zum Hinzufügen zu Favoriten angezeigt, indem Sie mit der rechten Maustaste auf das Symbol in Dash to Dock klicken.quelle