Как добавить пункты меню в меню «Приложения» Gnome из командной строки?

23562
Mick

Я использую Ubuntu 9.10, и я хотел бы автоматизировать добавление некоторых пунктов меню Ubuntu «Приложения».

Я знаю, что могу использовать alacarte для создания одноразовых дополнений, но я хочу автоматизировать (через Perl или Bash) добавление многих пунктов меню в это меню.

Есть идеи?

6

4 ответа на вопрос

4
Sathya

Вот ссылка на скрипт оболочки, который будет создавать записи в меню GNOME

Фрагмент поста:

Я часто видел этот вопрос на форумах Ubuntu. Эта страница научит вас как. Вы, как пользователь, можете сделать свой собственный пункт меню, щелкнув правой кнопкой мыши значок меню в верхнем левом углу и выбрав «Редактировать меню». Это вызывает графический интерфейс, и вы можете выбрать, в какой раздел установить элемент меню. Мы хотим создать его с помощью сценария оболочки.

Все пункты меню хранятся в папке / usr / share / apps. В этой папке будет файл .desktop для каждого пункта меню. Давайте перейдем к этим файлам .desktop?

Вот пример содержимого файла .desktop: В следующем коде создается пункт меню под названием Kompozer в разделе «Программирование» меню Gnome.

3
jar

Следует отметить, что алакарта не помещает предметы, которые вы добавляете /usr/share/applications. Он добавляет их в ваш домашний каталог. Поэтому, если вы не хотите создавать записи для каждого пользователя, только для текущего пользователя, вам нужно будет внести следующие изменения.

Ниже приводится тестовая запись, добавленная через alacarte, и полученные файлы, которые были созданы.

(1) Локальный файл application.menu обновляется. Обратите внимание на <Filename>запись.

# 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) Файл alacarte-made.desktop создается в ~/.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) Если вы посмотрите на содержимое, alacarte-made.desktopвы увидите «тестовую» запись, которая была добавлена ​​в мое меню.

# 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 

Я не уверен, что лучший способ изменить applications.menuфайл в 1 выше. Это явно отформатированный файл, и я не знаю, есть ли утилита, которую можно использовать для записи в сценарии или командной строке.

0
Mick

В дополнение к предоставленной ссылке Сатья здесь также показано, как автоматизировать добавление дополнительных меню в меню «Приложения»:

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

0
djb

Some of the other answers here have incorrect paths (at least, they do not exist on my Ubuntu 10.10 system) or only address system-level menus. Gnome user-level menus are stored in your $XDG_CONFIG_HOME/menus directory (by default ~/.config/menus/) and $XDG_DATA_HOME/applications directory (by default ~/.local/share/applications). You can manually edit these files. See this Ubunto Forums thread for some details; specifically the Desktop Menu Specification tells more about the files and their format.

Похожие вопросы