Ubuntu 9.10を使用していますが、Ubuntuの[アプリケーション]メニューのいくつかのメニュー項目の追加を自動化したいと思います。
アラカルトを使用して1回限りの追加を行うことができることは知っていますが、このメニューへの多くのメニュー項目の追加を(PerlまたはBashを介して)自動化することを検討しています。
何か案は?
ここにリンクがあります GNOMEのメニューにエントリを作成するシェルスクリプトの場合
投稿の抜粋:
私はこの質問がUbuntuフォーラムで頻繁に尋ねられるのを見てきました。このページではその方法を説明します。ユーザーは、左上隅のメニューアイコンを右クリックし、[メニューの編集]を選択することで、独自のメニューエントリを作成できます。これによりGUIが表示され、メニュー項目をインストールするセクションを選択できます。シェルスクリプトを使用してGUIを作成します。
すべてのメニュー項目は/ usr/share/applicationsフォルダーに保存されます。そのフォルダには、メニューエントリごとに.desktopファイルがあります。それらの.desktopファイルに入りましょう。
.desktopファイルの内容の例を次に示します。次のコードは、GnomeメニューのプログラミングセクションにKompozerというメニューエントリを作成します。
アラカルトは、追加したアイテムを/usr/share/applications
に入れないことに注意してください。それはあなたのホームディレクトリにそれらを追加します。したがって、現在のユーザーだけでなく、すべてのユーザーのエントリを作成したいnotの場合は、以下の変更を行う必要があります。
以下は、アラカルトを介して追加されたテストエントリと、作成された結果のファイルです。
(1)ローカルapplications.menファイルが更新されます。 <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
上記の1のapplications.menu
ファイルを変更する最善の方法がわかりません。これは明らかに特別にフォーマットされたファイルであり、スクリプトまたはコマンドラインからエントリを作成するために使用できるユーティリティがあるかどうかはわかりません。
Sathyaが提供したリンクに加えて、これは、アプリケーションメニューへのメニューの追加を自動化する方法も示しています。
ここにある他の回答のいくつかは、パスが正しくないか(少なくとも、Ubuntu 10.10システムには存在しません)、システムレベルのメニューのみに対応しています。 Gnomeユーザーレベルメニューは、$ XDG_CONFIG_HOME/menusディレクトリ(デフォルトでは〜/ .config/menus /)および$ XDG_DATA_HOME/applicationsディレクトリ(デフォルトでは〜/ .local/share/applications)に保存されます。これらのファイルは手動で編集できます。詳細については、これを参照してください buntoフォーラムスレッド ;具体的には デスクトップメニュー仕様 ファイルとその形式について詳しく説明します。