Show Table of Contents
第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
上記のファイルは、アプリケーションの名前 (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//usr/share/applications/gcalctool.desktop:Name=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>上記に示されるように、ファイルにはサブメニューの名前 (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//usr/share/applications/gcalctool.desktop:Name=Calculator上記に示されるように、電卓 メニュー項目は/usr/share/applications/gcalctool.desktopファイルに対応しています。/etc/xdg/menus/applications.menuファイルを編集し、以下のように<Exclude>要素を使用して.menuの末尾にある最後の</Menu>タグの前に新規の<Menu>セクションを追加します。<!-- 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 -->
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>
上記のように、ファイルには、サブメニュー (System Tools) の名前を指定する
<Menu> セクションが含まれ、<Deleted/> タグが組み込まれます。
12.1.4. すべてのユーザーのサブメニューの削除
すべてのユーザーの アプリケーション メニューのカスタマイズは、デフォルトで
/etc/xdg/menus/applications.menu 定義ファイルに保存されます。そのファイルの場所は、 $XDG_CONFIG_DIRS 環境変数を設定することにより上書きできます。
アプリケーション メニューのデフォルトを上書きするには、
.menu ファイルを編集する必要があります。アプリケーション メニューからサブメニューを削除することにより、アクティビティ画面 の「アプリケーション」ビューからサブメニュー内に含まれるすべてのメニュー項目も削除されるため、ユーザーが アクティビティ画面 からそれらの項目を検索できなくなります。
例12.2 アプリケーションメニューから「システムツール」サブメニューを削除
/etc/xdg/menus/applications.menu ファイルを編集し、以下のように <Deleted/> 要素を使用して .menu ファイルの末尾にある最後の </Menu> タグの前に新規の <Menu> セクションを追加します。
<!-- Removes the System Tools submenu from the Applications menu-->
<Menu>
<Name>System Tools</Name>
<Deleted/>
</Menu>
<!-- END of System Tools removal content -->
</Menu>
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.