第12章 アプリケーションの統合
アプリケーションを GNOME デスクトップと統合する場合、システム管理者は通常、アプリケーションメニュー構造や MIME タイプのカスタマイズに関連するタスクを実行します。以下に例を示します。
- サブメニューを作成または変更して、アプリケーションのメニュー項目を追加または変更するか、アプリケーション メニュー構造をカスタマイズします。メニューのカスタマイズについての詳細は、「メニューのカスタマイズ」 を参照してください。
アクティビティー画面 の GNOME Shell ダッシュボード に表示されるデフォルトのお気に入りアプリケーションをカスタマイズします。その方法は、「デフォルトのお気に入りアプリケーションのカスタマイズ」 を参照してください。- アプリケーションの MIME タイプを追加または変更し、アプリケーションを特定の MIME タイプに関連付けます。MIME タイプの設定方法の詳細は、「ファイルの関連付けの設定」 を参照してください。
12.1. メニューのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
GNOME メニューシステムは freedesktop.org デスクトップメニュー仕様 に基づいており、設定およびデータファイルの 3 つの主なセットから設定されています。
- デスクトップエントリーファイル(
.desktop) .desktopファイルは、各メニュー項目(名前、実行するコマンド、アイコンなど)に関するデータを提供します。.desktopエントリーファイルは、メニュー階層のメニュー項目の場所と、アクティビティー画面 でアプリケーション検索に使用されるキーワードも指定します。システム.desktopファイルは/usr/share/applications/ディレクトリーにあります。ユーザー固有の.desktopファイルは~/.local/share/applications/ディレクトリーにあります。以下は、~/.local/share/applications/myapplication1ファイルです。.desktopという名前のサンプルの .desktop[Desktop Entry] Type=Application Name=My Application 1 Icon=myapplication1 Exec=myapplication1 Categories=Network;WebBrowser; MimeType=application/x-newtype
[Desktop Entry] Type=Application Name=My Application 1 Icon=myapplication1 Exec=myapplication1 Categories=Network;WebBrowser; MimeType=application/x-newtypeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のファイルは、アプリケーションの名前(My Application 1)、アプリケーションのアイコン(myapplication1)、およびアプリケーションを実行するコマンド(myapplication1)を指定します。また、アプリケーションを指定のカテゴリー(Network;WebBrowser;)に配置し、アプリケーションをapplication/x-newtypeMIME タイプに関連付けます。- メニュー定義ファイル(
.menu) .menuファイルは、メニューとメニュー項目の両方の順序、階層、マージを指定する XML 設定ファイルです。マシン全体の.menuファイルは、/etc/xdg/menus/ディレクトリーにあります。ユーザー固有のファイルは.menu~/.config/menus/ディレクトリーにあり、マシン全体の .menu ファイルで指定される値を上書きするために使用できます。特に、/etc/xdg/menus/applications.menuファイルには、アプリケーション メニューレイアウトの定義が含まれます。- ディレクトリーエントリーファイル(
.directory) .directoryファイルは、名前などの各メニューに関するデータを提供し、/usr/share/desktop-directories/にあります。
詳細情報の入手
デスクトップエントリーファイルについての詳細は、freedesktop.org の Web サイトより 『Desktop Entry Specification』 を参照してください。
GNOME メニューシステムの実装方法の詳細は、freedesktop.org の Web サイトより 『Desktop Menu Specification』 を参照してください。
12.1.1. 個別ユーザーのメニュー項目の削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
特定ユーザーの アプリケーション メニューのカスタマイズは、デフォルトで
~/.config/menus/gnome-applications.menu 定義ファイルに保存されます。このファイルの場所は、$XDG_DATA_HOME 環境変数を設定して上書きできます。
アプリケーション メニューのデフォルト を 上書きするには、まず
gnome-applications.menu ファイルを作成する必要があります。アプリケーション メニューおよびそのサブメニューから項目を削除すると、アクティビティー 画面 の アプリケーション ビューからも削除されるため、ユーザーが アクティビティー画面 内でその項目を検索できなくなることに注意し てください。
手順12.1 例: アクセサリサブメニューから電卓メニュー項目を削除
/usr/share/applications/ディレクトリーのコンテンツを参照し、削除するメニュー項目に対応する.desktopファイルを確認します。grep -r "Name=Calculator" /usr/share/applications/
$ grep -r "Name=Calculator" /usr/share/applications/ /usr/share/applications/gcalctool.desktop:Name=CalculatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のように Calculator メニュー項目は/usr/share/applications/gcalctool.desktopファイルに対応します。~/.config/menus/gnome-applications.menuファイルを作成します。<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> <Menu> <Name>Applications</Name> <MergeFile type="parent">/etc/xdg/menus/gnome-applications.menu</MergeFile> <!-- Removes the Calculator from the Accessories submenu --> <Menu> <Name>Accessories</Name> <Exclude> <Filename>gcalctool.desktop</Filename> </Exclude> </Menu> <!-- END of Calculator removal content --> </Menu><!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> <Menu> <Name>Applications</Name> <MergeFile type="parent">/etc/xdg/menus/gnome-applications.menu</MergeFile> <!-- Removes the Calculator from the Accessories submenu --> <Menu> <Name>Accessories</Name> <Exclude> <Filename>gcalctool.desktop</Filename> </Exclude> </Menu> <!-- END of Calculator removal content --> </Menu>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のように、ファイルには、サブメニューの名前(Accessories)、.desktop ファイルの名前(gcalctool.desktop)を指定し、<Menu>要素が含まれる<Exclude>セクションが含まれます。
12.1.2. すべてのユーザーのメニュー項目の削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
すべて の ユーザーの アプリケーション メニューのカスタマイズは、デフォルトで
/etc/xdg/menus/applications.menu 定義ファイルに保存されます。このファイルの場所は、$XDG_CONFIG_DIRS 環境変数を設定して上書きできます。
アプリケーション メニューのデフォルトを上書きするには、
.menu ファイルを編集する必要があります。アプリケーション メニューおよびそのサブメニューから項目を削除すると、アクティビティー 画面 の アプリケーション ビューからも削除されるため、ユーザーが アクティビティー画面 内でその項目を検索できなくなることに注意し てください。
手順12.2 例: アクセサリサブメニューから電卓メニュー項目を削除
/usr/share/applications/ディレクトリーのコンテンツを参照し、削除するメニュー項目に対応する.desktopファイルを確認します。grep -r "Name=Calculator" /usr/share/applications/
$ grep -r "Name=Calculator" /usr/share/applications/ /usr/share/applications/gcalctool.desktop:Name=CalculatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のように Calculator メニュー項目は/usr/share/applications/gcalctool.desktopファイルに対応します。/etc/xdg/menus/applications.menuファイルを編集し、以下のように<Menu>要素を使用して、.menuファイルの最後にある最後の</Menu>タグの前に新しい<Exclude>セクションを追加します。<!-- Removes the Calculator from the Accessories submenu --> <Menu> <Name>Accessories</Name> <Exclude> <Filename>gcalctool.desktop</Filename> </Exclude> </Menu> <!-- END of Calculator removal content --> </Menu> <!-- End Applications --><!-- Removes the Calculator from the Accessories submenu --> <Menu> <Name>Accessories</Name> <Exclude> <Filename>gcalctool.desktop</Filename> </Exclude> </Menu> <!-- END of Calculator removal content --> </Menu> <!-- End Applications -->Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.1.3. 個別ユーザーのサブメニューの削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
特定ユーザーの アプリケーション メニューのカスタマイズは、デフォルトで
~/.config/menus/gnome-applications.menu 定義ファイルに保存されます。このファイルの場所は、$XDG_DATA_HOME 環境変数を設定して上書きできます。
アプリケーション メニューのデフォルト を 上書きするには、まず
gnome-applications.menu ファイルを作成する必要があります。アプリケーション メニューからサブメニューを削除すると、アクティビティー 画面 の アプリケーション ビューからそのサブメニュー内に含まれるすべてのメニュー項目も削除されるため、ユーザーがアクティビティー画面 内からこれらのアイテムを検索できなく なります。
例12.1 アプリケーションメニューからシステムツールサブメニューを削除
~/.config/menus/gnome-applications.menu ファイルを作成します。
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<Name>Applications</Name>
<MergeFile type="parent">/etc/xdg/menus/gnome-applications.menu</MergeFile>
<!-- Removes the System Tools submenu from the Applications menu-->
<Menu>
<Name>System Tools</Name>
<Deleted/>
</Menu>
<!-- END of System Tools removal content -->
</Menu>
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<Name>Applications</Name>
<MergeFile type="parent">/etc/xdg/menus/gnome-applications.menu</MergeFile>
<!-- Removes the System Tools submenu from the Applications menu-->
<Menu>
<Name>System Tools</Name>
<Deleted/>
</Menu>
<!-- END of System Tools removal content -->
</Menu>
上記のように、ファイルには、サブメニュー (
<Menu>) の名前を指定する System Tools セクションが含まれ、<Deleted/> タグが組み込まれます。
12.1.4. すべてのユーザーのサブメニューの削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
すべて の ユーザーの アプリケーション メニューのカスタマイズは、デフォルトで
/etc/xdg/menus/applications.menu 定義ファイルに保存されます。このファイルの場所は、$XDG_CONFIG_DIRS 環境変数を設定して上書きできます。
アプリケーション メニューのデフォルトを上書きするには、
.menu ファイルを編集する必要があります。アプリケーション メニューからサブメニューを削除すると、アクティビティー 画面 の アプリケーション ビューからそのサブメニュー内に含まれるすべてのメニュー項目も削除されるため、ユーザーがアクティビティー画面 内からこれらのアイテムを検索できなく なります。
例12.2 アプリケーションメニューからシステムツールサブメニューを削除
/etc/xdg/menus/applications.menu ファイルを編集し、以下のように <Menu> 要素を使用して、.menu ファイルの最後にある最後の </Menu> タグの前に新しい <Deleted/> セクションを追加します。
<!-- Removes the System Tools submenu from the Applications menu-->
<Menu>
<Name>System Tools</Name>
<Deleted/>
</Menu>
<!-- END of System Tools removal content -->
</Menu>
<!-- Removes the System Tools submenu from the Applications menu-->
<Menu>
<Name>System Tools</Name>
<Deleted/>
</Menu>
<!-- END of System Tools removal content -->
</Menu>