コマンドラインからGnomeの「アプリケーション」メニューにメニュー項目を追加するにはどうすればよいですか?


6

Ubuntu 9.10を使用していますが、Ubuntuの「アプリケーション」メニューにいくつかのメニュー項目の追加を自動化したいと考えています。

alacarteを使用して1回限りの追加を行えることは知っていますが、このメニューへの多くのメニュー項目の追加を(PerlまたはBashを介して)自動化することを検討しています。

何か案は?

回答:


4

GNOMEのメニューにエントリを作成するシェルスクリプトのリンク次に示します。

投稿のスニペット:

この質問は、Ubuntuフォーラムで頻繁に聞かれています。このページでは、その方法を説明します。ユーザーは、左上にあるメニューアイコンを右クリックして[メニューの編集]を選択することにより、独自のメニューエントリを作成できます。これにより、GUIが表示され、メニュー項目をインストールするセクションを選択できます。シェルスクリプトを使用して作成します。

すべてのメニュー項目は/ usr / share / applicationsフォルダーに保存されます。そのフォルダには、各メニューエントリの.desktopファイルがあります。これらの.desktopファイルに入れましょうか?

.desktopファイルの内容の例を次に示します。次のコードは、GnomeメニューのプログラミングセクションにKompozerというメニューエントリを作成します。


3

アラカルトは、追加したアイテムを配置しないことに注意してください/usr/share/applications。ホームディレクトリに追加します。したがって、すべてのユーザー(現在のユーザーのみ)のエントリを作成したくない場合は、以下の変更を行う必要があります。

以下は、alacharteを介して追加されたテストエントリと、作成された結果ファイルです。

(1)ローカルのapplications.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

ここにある他の回答のいくつかは、パスが正しくない(少なくとも、Ubuntu 10.10システムには存在しない)か、システムレベルのメニューのみに対応しています。Gnomeユーザーレベルメニューは、$ XDG_CONFIG_HOME / menusディレクトリ(デフォルトでは〜/ .config / menus /)および$ XDG_DATA_HOME / applicationsディレクトリ(デフォルトでは〜/ .local / share / applications)に保存されます。これらのファイルを手動で編集できます。詳細については、このUbuntoフォーラムのスレッドをご覧ください。特にデスクトップメニュー仕様では、ファイルとその形式について詳しく説明しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.