12.3. ファイルの関連付けの設定
12.3.1. MIME タイプとは
GNOME において、MIME (Multipurpose Internet Mail Extension) タイプは、ファイルの形式を特定するために使用されます。GNOME デスクトップは以下を実行するために MIME タイプを使用します。
- デフォルトで特定のファイル形式を開くアプリケーションを決定します。
- 特定のファイル形式を開くことができる他のアプリケーションの登録。
- ファイル アプリケーションのファイルプロパティーダイアログなどで、ファイルのタイプを記述する文字列を指定します。
- ファイル アプリケーションのファイルプロパティーダイアログなどで、特定のファイル形式を表すアイコンを指定します。
MIME タイプ名は指定された形式に従います。
media-type/subtype-identifier
例12.7 MIME タイプの形式
image/jpeg
は MIME タイプの例です。ここで、image
はメディアタイプで、jpeg
はサブタイプの識別子です。
GNOME は、以下を判別するために freedesktop.org 共有 MIME 情報仕様に従います。
- すべての MIME タイプ仕様ファイルを保存するためのマシン全体およびユーザー固有の場所。
- 特定のファイル形式を開くために使用できるアプリケーションをデスクトップ環境で認識できるように MIME タイプを登録する方法。
- どのアプリケーションがどのファイル形式を開くかをユーザーが変更する方法。
12.3.1.1. MIME データベースとは
MIME データベースは、GNOME が既知の MIME タイプについての情報を保存するために使用するすべての MIME タイプ仕様ファイルの集合です。
システム管理者の観点からの MIME データベースの最も重要な部分は、
/usr/share/mime/packages/
ディレクトリーです。ここには、既知の MIME タイプの情報を指定する MIME タイプ関連のファイルが保存されます。このようなファイルの例は /usr/share/mime/packages/freedesktop.org.xml
で、デフォルトでシステムで利用可能な標準の MIME タイプに関する情報を指定します。このファイルは、shared-mime-info パッケージによって提供されます。
詳細情報の入手
MIME タイプシステムについての説明の詳細は、freedesktop.org の Web サイトより 『freedesktop.org Shared MIME Info の仕様』 を参照してください。
12.3.2. 全ユーザー用のカスタム MIME タイプの追加
システム上のすべてのユーザーにカスタム MIME タイプを追加し、その MIME タイプのデフォルトアプリケーションを登録するには、
/usr/share/mime/packages/
ディレクトリーに新規の MIME タイプ仕様ファイルと、/usr/share/applications/
ディレクトリーに .desktop
ファイルを作成する必要があります。
手順12.3 全ユーザー用のカスタム application/x-newtype
MIME タイプの追加
/usr/share/mime/packages/application-x-newtype.xml
ファイルを作成します。<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-newtype"> <comment>new mime type</comment> <glob pattern="*.xyz"/> </mime-type> </mime-info>
上記のサンプルapplication-x-newtype.xml
ファイルは新規の MIME タイプapplication/x-newtype
を定義し、.xyz
拡張子の付いたファイル名をその MIME タイプに割り当てます。- たとえば、
myapplication1
ファイルを作成し、.desktop
という名前の新しい .desktop/usr/share/applications/
ディレクトリーに配置します。[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_code
上記のサンプルmyapplication1.desktop
ファイルは、MIME タイプapplication/x-newtype
を My Application 1 という名前のアプリケーションに関連付けます。これは、コマンド myapplication1 によって実行されます。myapplication1
の起動方法に基づいて、デスクトップエントリー仕様 からそれぞれのフィールドコードを選択します。たとえば、複数のファイルを開くことができるアプリケーションの場合は、次のように使用します。Exec=myapplication1 %F
- 変更を有効にするには、root として MIME データベースを更新します。
#
update-mime-database /usr/share/mime
- root としてアプリケーションデータベースを更新します。
#
update-desktop-database /usr/share/applications
*.xyz
ファイルを MIME タイプapplication/x-newtype
に正常に関連付けたことを確認するには、まずtest.xyz
などの空のファイルを作成します。$
touch test.xyz
次に、gvfs-info コマンドを実行します。$
gvfs-info test.xyz | grep "standard::content-type"
standard::content-type: application/x-newtypemyapplication1.desktop
が MIME タイプapplication/x-newtype
のデフォルトの登録アプリケーションとして正しく設定されていることを確認するには、gvfs-mime --query コマンドを実行します。$
gvfs-mime --query application/x-newtype
Default application for 'application/x-newtype': myapplication1.desktop Registered applications: myapplication1.desktop Recommended applications: myapplication1.desktop
12.3.3. 個別ユーザー用のカスタム MIME タイプの追加
個別ユーザーのカスタム MIME タイプを追加し、その MIME タイプのデフォルトアプリケーションを登録するには、~/.local/share/
mime/packages/ ディレクトリーに新規の MIME タイプ仕様ファイルと ~/.local/share/applications/
ディレクトリーに .desktop
ファイルを作成する必要があります。
手順12.4 個別ユーザー用のカスタム application/x-newtype
MIME タイプの追加
~/.local/share/mime/packages/application-x-newtype.xml
ファイルを作成します。<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-newtype"> <comment>new mime type</comment> <glob pattern="*.xyz"/> </mime-type> </mime-info>
上記のサンプルapplication-x-newtype.xml
ファイルは新規の MIME タイプapplication/x-newtype
を定義し、.xyz
拡張子の付いたファイル名をその MIME タイプに割り当てます。- たとえば、
myapplication1
ファイルを作成し、.desktop
という名前の新しい .desktop~/.local/share/applications/
ディレクトリーに配置します。[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_code
上記のサンプルmyapplication1.desktop
ファイルは、application/x-newtype
MIME タイプを My Application 1 という名前のアプリケーションに関連付けます。これは、コマンド myapplication1 によって実行されます。myapplication1
の起動方法に基づいて、デスクトップエントリー仕様 からそれぞれのフィールドコードを選択します。たとえば、複数のファイルを開くことができるアプリケーションの場合は、次のように使用します。Exec=myapplication1 %F
- 変更を有効にするために MIME データベースを更新します。
$
update-mime-database ~/.local/share/mime
- アプリケーションデータベースを更新します。
$
update-desktop-database ~/.local/share/applications
*.xyz
ファイルを MIME タイプapplication/x-newtype
に正常に関連付けたことを確認するには、まずtest.xyz
などの空のファイルを作成します。$
touch test.xyz
次に、gvfs-info コマンドを実行します。$
gvfs-info test.xyz | grep "standard::content-type"
standard::content-type: application/x-newtypemyapplication1.desktop
が MIME タイプapplication/x-newtype
のデフォルトの登録アプリケーションとして正しく設定されていることを確認するには、gvfs-mime --query コマンドを実行します。$
gvfs-mime --query application/x-newtype
Default application for 'application/x-newtype': myapplication1.desktop Registered applications: myapplication1.desktop Recommended applications: myapplication1.desktop
12.3.4. 全ユーザー用のデフォルトの登録済みアプリケーションの上書き
/usr/share/applications/mimeapps.list
および /usr/share/applications/[desktop environment name]-mimeapps.list
ファイルは、パッケージによってインストールされたデフォルトです。これは、デフォルトで特定の MIME タイプを開くために登録されるアプリケーションを指定します。
システム上のすべてのユーザーのシステムデフォルトを上書きするには、システム管理者は、デフォルトの登録アプリケーションを上書きする MIME タイプの一覧で
/etc/xdg/mimeapps.list
ファイルまたは /etc/xdg/desktop environment name]-mimeapps.
list ファイルを作成する必要があります。
設定が適用される順序は次のとおりです。
/usr/share/applications/
/etc/xdg/
特定の位置内に、設定がこの順で適用されます。
mimeapps.list
[desktop environment name]-mimeapps.list
このように、システム管理者の設定は、パッケージ設定よりも優先されます。そして、その中でも、デスクトップ固有の設定は、デスクトップ環境を指定していない設定よりも優先されます。
7.5 より前の Red Hat Enterprise Linux バージョンは、
mimeapps.list
ファイルの代わりに defaults.list
ファイルを使用していました。
手順12.5 全ユーザー用のデフォルトの登録済みアプリケーションの上書き
/usr/share/applications/mimeapps.list
ファイルを参照して、デフォルトの登録アプリケーションを変更する MIME タイプを判別します。たとえば、mimeapps.list
ファイルの以下のサンプルは、text/html
およびapplication/xhtml+xml
MIME タイプのデフォルトの登録アプリケーションを指定します。[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop
デフォルトのアプリケーション(Firefox)は、対応する .desktop ファイル(firefox
)を指定して定義されます。他のアプリケーションの.desktop
.desktop
ファイルのデフォルトの場所は/usr/share/applications/
です。/etc/xdg/mimeapps.list
ファイルを作成します。このファイルで、MIME タイプとそれらの対応するデフォルトの登録アプリケーションを指定します。[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop
これにより、text/html
MIME タイプのデフォルト登録アプリケーションがmyapplication1.desktop
に設定され、application/xhtml+xml
MIME タイプのデフォルトの登録アプリケーションがmyapplication2.desktop
に設定されます。これらの設定が適切に機能するには、myapplication1.desktop およびmyapplication
2.desktop/usr/share/applications/
ディレクトリーに置かれていることを確認します。- gvfs-mime query コマンドを使用して、デフォルトの登録アプリケーションが正しく設定されていることを確認できます。
$
gvfs-mime query text/html
Default application for 'text/html': myapplication1.desktop Registered applications: myapplication1.desktop firefox.desktop Recommended applications: myapplication1.desktop firefox.desktop
12.3.5. 個別ユーザー用のデフォルトの登録済みアプリケーションの上書き
/usr/share/applications/mimeapps.list
および /usr/share/applications/[desktop environment name]-mimeapps.list
ファイルは、パッケージによってインストールされたデフォルトです。これは、デフォルトで特定の MIME タイプを開くために登録されるアプリケーションを指定します。
個々のユーザーのシステムデフォルトを上書きするには、
~/.local/share/applications/mimeapps.list
または ~/.local/share/applications/[desktop environment id]-mimeapps.list
ファイルを、デフォルトの登録アプリケーションを上書きする MIME タイプの一覧で作成する必要があります。
設定が適用される順序は次のとおりです。
/usr/share/applications/
/etc/xdg/
~/.local/share/application/
特定の位置内に、設定がこの順で適用されます。
mimeapps.list
[desktop environment name]-mimeapps.list
このように、ユーザーの設定は、システム管理者の設定よりも優先され、システム管理者の設定は、パッケージの設定よりも優先されます。そして、その中でも、デスクトップ固有の設定は、デスクトップ環境を指定していない設定よりも優先されます。
7.5 より前の Red Hat Enterprise Linux バージョンは、
mimeapps.list
ファイルの代わりに defaults.list
ファイルを使用していました。
手順12.6 個別ユーザー用のデフォルトの登録済みアプリケーションの上書き
/usr/share/applications/mimeapps.list
ファイルを参照して、デフォルトの登録アプリケーションを変更する MIME タイプを判別します。たとえば、mimeapps.list
ファイルの以下のサンプルは、text/html
およびapplication/xhtml+xml
MIME タイプのデフォルトの登録アプリケーションを指定します。[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop
デフォルトのアプリケーション(Firefox)は、対応する .desktop ファイル(firefox
)を指定して定義されます。他のアプリケーションの.desktop
.desktop
ファイルのシステムのデフォルト場所は/usr/share/applications/
です。個々のユーザーの.desktop
ファイルは~/.local/share/applications/
に保存できます。~/.local/share/applications/mimeapps.list
ファイルを作成します。このファイルで、MIME タイプとそれらの対応するデフォルトの登録アプリケーションを指定します。[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop
これにより、text/html
MIME タイプのデフォルト登録アプリケーションがmyapplication1.desktop
に設定され、application/xhtml+xml
MIME タイプのデフォルトの登録アプリケーションがmyapplication2.desktop
に設定されます。これらの設定が適切に機能するには、myapplication1.desktop およびmyapplication
2.desktop/usr/share/applications/
ディレクトリーに置かれていることを確認します。- gvfs-mime --query コマンドを使用して、デフォルトの登録アプリケーションが正しく設定されていることを確認できます。
$
gvfs-mime --query text/html
Default application for 'text/html': myapplication1.desktop Registered applications: myapplication1.desktop firefox.desktop Recommended applications: myapplication1.desktop firefox.desktop