it-swarm.com.de

Wie kann ich dem GNOME-Fenstermanager eine Anwendung hinzufügen?

Die On-Board-Dokumentation von GNOME behandelt nur die Dinge, die jeder leicht erraten kann. Ich habe eine Anwendung dafür, die ich nur über die Kommandozeile starten kann. Nicht, dass es mir etwas ausmacht, ein Terminal zu benutzen, aber ...

Wie füge ich den Befehl (und vorzugsweise ein Nice-Logo) zu GNOME WM hinzu?

59
mart

In GNOME und anderen freedesktop.org - kompatiblen Desktop-Umgebungen wie KDE und nity , Anwendungen werden den Menüs oder der Desktop-Shell des Desktops über Desktop-Einträge hinzugefügt, definiert in Textdateien mit dem .desktop Erweiterung (bezeichnet als Desktop-Dateien). 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.

Gemäß Konvention sollten Desktop-Dateien keine Leerzeichen oder internationalen Zeichen in ihrem Namen enthalten.

Jede Desktop-Datei ist in Gruppen Aufgeteilt, wobei jede mit dem Gruppenkopf in eckigen Klammern beginnt ([]). Jeder Abschnitt enthält eine Anzahl von Schlüssel, Wert Paaren, die durch ein Gleichheitszeichen (=) Getrennt sind.

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

Erklärung

  • [Desktop Entry] Der Gruppenheader Desktop Entry Identifiziert die Datei als Desktop-Eintrag
  • Type der Typ des Eintrags, gültige Werte sind Application, Link und Directory
  • Encoding das Zeichenkodierung der Desktop-Datei
  • Name der Anwendungsname, der in Menüs oder Startern angezeigt wird
  • Comment eine Beschreibung der in QuickInfos verwendeten Anwendung
  • Icon das Symbol, das für die Anwendung in Menüs oder Startern 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, gültige Werte sind true oder false
  • Categories Semikolon (;) getrennte Liste der Menükategorien, in denen der Eintrag angezeigt werden soll

Befehlszeilenargumente in der Taste Exec können mit den folgenden Variablen angegeben werden:

  • %f Ein einzelner Dateiname.
  • %F Mehrere Dateinamen.
  • %u Eine einzelne URL.
  • %U Mehrere URLs.
  • %d Ein einzelnes 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 Der Name des Geräteeintrags.

Beachten Sie, dass ~ Oder Umgebungsvariablen wie $HOME Nicht in Desktop-Dateien erweitert werden. Daher müssen alle ausführbaren Dateien, auf die verwiesen wird, entweder im $PATH Oder über ihren absoluten Pfad referenziert sein.

Eine vollständige Desktop Entry Specification ist im GNOME Dev Center verfügbar.

Skripte starten

Wenn für die zu startende Anwendung bestimmte Schritte erforderlich sind, 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 aus einem bestimmten aktuellen Arbeitsverzeichnis ausgeführt werden. Erstellen Sie ein Startskript an einem geeigneten Ort (z. B. ~/bin/). Das Skript könnte ungefähr so ​​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 mit der Taste Exec im Desktop-Eintrag auf das Startskript:

Exec=/home/user/bin/launch-application
96
Thomas Nyman

Sehr gute Antwort von Thomas Nyman.

Gnome wird mit dem GUI-Tool gnome-desktop-item-edit Geliefert, das beim Erstellen von * .desktop-Dateien hilft. Wir müssen es über die Befehlszeile verwenden oder eine Desktop-Datei dafür erstellen.

Anleitung zum Erstellen einer Gnome-Anwendung aus gnome-desktop-item-edit

  1. Öffnen Sie die Terminalfenster und geben Sie den folgenden Befehl ein:

    gnome-desktop-item-edit --create-new/home/[Ihr Benutzername] /. local/share/applications

  2. Füllen Sie im geöffneten Fenster Folgendes aus: enter image description here

    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.

  3. Klicken Sie auf OK, um die Fenster zu schließen

  4. Schließen Sie das Terminalfenster

Testen neu generierter Gnome Application

  1. Dash öffnen
  2. Geben Sie Application ein
  3. Sie sollten den zuvor eingegebenen Gnome Application Sehen
  4. Wählen Sie es aus
  5. Erstellen Sie eine andere Anwendung
13
Dudi Boy

Die vorherigen Antworten von Thomas Nyman und Dudi Boy sind sehr gut und detailliert. Ich poste dies, weil ich in keinem anderen Beitrag eine Antwort auf meine Zweifel gefunden habe und in Git-Problemen 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 konnte. Nach der Suche stellte ich fest, dass Sie die Zeile StartupWMClass=ApplicationName In die Datei .desktop Einfü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.

2
JonLord