Wie kann ich dem Gnome-Menü "Applications" Menüpunkte von der Befehlszeile aus hinzufügen?

23872
Mick

Ich verwende Ubuntu 9.10 und möchte das Hinzufügen einiger Menüpunkte im Ubuntu "Applications" -Menü automatisieren.

Ich weiß, dass ich alacarte verwenden kann, um einmalige Ergänzungen vorzunehmen, aber ich versuche, das Hinzufügen vieler Menüelemente zu diesem Menü (entweder über Perl oder Bash) zu automatisieren.

Irgendwelche Ideen?

6

4 Antworten auf die Frage

4
Sathya

Hier ist ein Link für ein Shellskript, das Einträge im GNOME-Menü erstellt

Ausschnitt des Beitrags:

Ich habe diese Frage häufig in den Ubuntu-Foren gestellt. Auf dieser Seite erfahren Sie, wie. Sie als Benutzer können einen eigenen Menüeintrag erstellen, indem Sie mit der rechten Maustaste auf das Menüsymbol in der oberen linken Ecke klicken und Menüs bearbeiten auswählen. Dadurch wird eine GUI angezeigt und Sie können auswählen, in welchem ​​Abschnitt der Menüpunkt installiert werden soll. Wir möchten einen über ein Shell-Skript erstellen.

Alle Menüelemente werden im Ordner / usr / share / applications gespeichert. In diesem Ordner befindet sich für jeden Menüeintrag eine .desktop-Datei. Lass uns in diese .desktop-Dateien einsteigen, oder?

Hier ein Beispiel für den Inhalt einer .desktop-Datei: Der folgende Code macht einen Menüeintrag namens Kompozer im Abschnitt Programmierung des Gnome-Menüs.

3
jar

Es sollte beachtet werden, dass die Alacarte die hinzugefügten Artikel nicht hinzufügt /usr/share/applications. Sie fügt sie Ihrem Home-Verzeichnis hinzu. Wenn Sie also nicht für jeden Benutzer Einträge erstellen möchten, sondern nur für den aktuellen Benutzer, müssen Sie die folgenden Änderungen vornehmen.

Unten ist ein Testeintrag, der über alacarte hinzugefügt wurde, und die resultierenden Dateien, die erstellt wurden.

(1) Die lokale Datei applications.menu wird aktualisiert. Beachten Sie den <Filename>Eintrag.

# cat /home/user/.config/menus/applications.menu  <!DOCTYPE Menu PUBLIC '-//freedesktop//DTD Menu 1.0//EN' 'http://standards.freedesktop.org/menu-spec/menu-1.0.dtd'> <Menu> <Name>Applications</Name> <MergeFile type="parent">/etc/xdg/menus/applications.menu</MergeFile> <Menu> <Name>Internet</Name> <Include> <Filename>alacarte-made.desktop</Filename> </Include> </Menu> </Menu> 

(2) Die Datei alacarte-made.desktop wird in erstellt ~/.local/share/applications.

# ls -ltr ~/.local/share/applications/ -rw------- 1 user user 495 2010-04-14 15:48 Nokia-QtCreator.desktop -rw------- 1 user user 403 2010-04-14 15:48 defaults.list -rw-r--r-- 1 user user 134 2010-12-20 10:33 userapp-gvim-JYONNV.desktop -rw-r--r-- 1 user user 321 2010-12-20 10:33 mimeinfo.cache -rw-r--r-- 1 user user 165 2010-12-20 10:33 mimeapps.list drwx------ 9 user user 4096 2011-05-26 15:34 .. -rw------- 1 user user 108 2011-05-26 15:34 installjammer-program.desktop -rw------- 1 user user 182 2011-05-26 15:34 installjammer-help.desktop -rw------- 1 user user 201 2011-05-26 15:34 installjammer-userguide.desktop -rw------- 1 user user 114 2011-05-26 15:34 installjammer-uninstall.desktop -rwxr-xr-x 1 user user 202 2011-06-10 09:27 alacarte-made.desktop -rw-r--r-- 1 user user 202 2011-06-10 09:28 alacarte-made.desktop.undo-0 drwxr-xr-x 2 user user 4096 2011-06-10 09:28 . 

(3) Wenn Sie sich den Inhalt ansehen alacarte-made.desktop, sehen Sie den Eintrag "test", der meinem Menü hinzugefügt wurde.

# cat ~/.local/share/applications/alacarte-made.desktop #!/usr/bin/env xdg-open  [Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Terminal=false Icon[en_US]=gnome-panel-launcher Name[en_US]=test Exec=secretsync Name=test Icon=gnome-panel-launcher 

Ich bin nicht sicher, wie Sie die applications.menuDatei in 1 oben am besten ändern können . Es ist offensichtlich eine spezifisch formatierte Datei, und ich weiß nicht, ob es ein Dienstprogramm gibt, mit dem ein Eintrag über ein Skript oder eine Befehlszeile vorgenommen werden kann.

0
Mick

Zusätzlich zu dem von Sathya bereitgestellten Link zeigt dies auch, wie das Hinzufügen zusätzlicher Menüs zum Anwendungsmenü automatisiert werden kann:

http://wiki.matusov.sk/howto/gnome-menu-edit

0
djb

Einige der anderen Antworten haben falsche Pfade (zumindest sind sie auf meinem Ubuntu 10.10-System nicht vorhanden) oder betreffen nur Menüs auf Systemebene. Gnome-Menüs auf Benutzerebene werden in den Verzeichnissen $ XDG_CONFIG_HOME / menüs (standardmäßig ~ / .config / menüs /) und $ XDG_DATA_HOME / applications (standardmäßig ~ / .local / share / applications) gespeichert. Sie können diese Dateien manuell bearbeiten. In diesem Ubunto Forums-Thread finden Sie einige Details. Insbesondere die Desktop-Menüspezifikation informiert Sie über die Dateien und ihr Format.