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 タイプ関連のファイルが保存されます。このファイルの一例として、デフォルトでシステム上で利用可能な標準 MIME タイプについての情報を指定する /usr/share/mime/packages/freedesktop.org.xml を挙げることができます。そのファイルは、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 タイプの追加

  1. /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 タイプに割り当てます。
  2. myapplication1.desktop などの名前の付いた新規の .desktop ファイルを作成し、これを /usr/share/applications/ ディレクトリーに置きます。
    [Desktop Entry]
    Type=Application
    MimeType=application/x-newtype
    Name=My Application 1
    Exec=myapplication1
    上記のサンプル myapplication1.desktop ファイルは、application/x-newtype MIME タイプを My Application 1 という名前のアプリケーションに関連付けます。これはコマンド myapplication1 で実行されます。
  3. 変更を有効にするには、root として MIME データベースを更新します。
    # update-mime-database /usr/share/mime
  4. root としてアプリケーションデータベースを更新します。
    # update-desktop-database /usr/share/applications
  5. *.xyz ファイルを application/x-newtype MIME タイプに正常に関連付けたことを確認するには、まず test.xyz などの空のファイルを作成します。
    $ touch test.xyz
    次に、gvfs-info コマンドを実行します。
    $ gvfs-info test.xyz | grep "standard::content-type"
      standard::content-type: application/x-newtype
  6. myapplication1.desktopapplication/x-newtype MIME タイプのデフォルトの登録アプリケーションとして正常に設定されていることを確認するには、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 タイプの追加

  1. ~/.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 タイプに割り当てます。
  2. myapplication1.desktop などの名前の付いた新規の .desktop ファイルを作成し、これを ~/.local/share/applications/ ディレクトリーに置きます。
    [Desktop Entry]
    Type=Application
    MimeType=application/x-newtype
    Name=My Application 1
    Exec=myapplication1
    上記のサンプル myapplication1.desktop ファイルは、application/x-newtype MIME タイプを My Application 1 という名前のアプリケーションに関連付けます。これはコマンド myapplication1 で実行されます。
  3. 変更を有効にするには、MIME データベースを更新します。
    $ update-mime-database ~/.local/share/mime
  4. アプリケーションデータベースを更新します。
    $ update-desktop-database ~/.local/share/applications
  5. *.xyz ファイルを application/x-newtype MIME タイプに正常に関連付けたことを確認するには、まず test.xyz などの空のファイルを作成します。
    $ touch test.xyz
    次に、gvfs-info コマンドを実行します。
    $ gvfs-info test.xyz | grep "standard::content-type"
      standard::content-type: application/x-newtype
  6. myapplication1.desktopapplication/x-newtype MIME タイプのデフォルトの登録アプリケーションとして正常に設定されていることを確認するには、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 ファイルを作成する必要があります。
構成が適用される順序は次のとおりです。
  1. /usr/share/applications/
  2. /etc/xdg/
特定の位置内に、構成がこの順で適用されます。
  1. mimeapps.list
  2. [desktop environment name]-mimeapps.list
このように、システム管理者の設定は、パッケージ構成よりも優先されます。そして、その中でも、デスクトップ固有の設定は、デスクトップ環境を指定していない設定よりも優先されます。

注記

7.5 以前のバージョンの Red Hat Enterprise Linux では、mimeapps.list ファイルの代わりに、defaults.list のファイルを使用していました。

手順12.5 全ユーザー用のデフォルトの登録済みアプリケーションの上書き

  1. /usr/share/applications/mimeapps.list ファイルを参照して、デフォルトの登録アプリケーションを変更するために使用する MIME タイプを判別します。たとえば、mimeapps.list ファイルに含まれる以下のサンプルは、MIME タイプの text/html および application/xhtml+xml でデフォルトの登録アプリケーションを指定します。
    [Default Applications]
    text/html=firefox.desktop
    application/xhtml+xml=firefox.desktop
    デフォルトアプリケーション (Firefox) はその対応する .desktop ファイル (firefox.desktop) を指定して定義されます。他のアプリケーションの .desktop ファイルのデフォルトの場所は /usr/share/applications/ です。
  2. /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 および myapplication2.desktop ファイルの両方が /usr/share/applications/ ディレクトリーに置かれていることを確認します。
  3. 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 タイプを開くために登録するアプリケーションを指定します。
個別ユーザーのシステムデフォルトを上書きするには、デフォルトの登録アプリケーションの上書きに使用する MIME タイプの一覧で ~/.local/share/applications/mimeapps.list ファイルまたは ~/.local/share/applications/[desktop environment id]-mimeapps.list ファイルを作成する必要があります。
構成が適用される順序は次のとおりです。
  1. /usr/share/applications/
  2. /etc/xdg/
  3. ~/.local/share/application/
特定の位置内に、構成がこの順で適用されます。
  1. mimeapps.list
  2. [desktop environment name]-mimeapps.list
このように、ユーザーの設定は、システム管理者の設定よりも優先され、システム管理者の設定は、パッケージの構成よりも優先されます。そして、その中でも、デスクトップ固有の設定は、デスクトップ環境を指定していない設定よりも優先されます。

注記

7.5 以前のバージョンの Red Hat Enterprise Linux では、mimeapps.list ファイルの代わりに、defaults.list のファイルを使用していました。

手順12.6 個別ユーザー用のデフォルトの登録済みアプリケーションの上書き

  1. /usr/share/applications/mimeapps.list ファイルを参照して、デフォルトの登録アプリケーションを変更するために使用する MIME タイプを判別します。たとえば、mimeapps.list ファイルに含まれる以下のサンプルは、MIME タイプの text/html および application/xhtml+xml でデフォルトの登録アプリケーションを指定します。
    [Default Applications]
    text/html=firefox.desktop
    application/xhtml+xml=firefox.desktop
    デフォルトアプリケーション (Firefox) はその対応する .desktop ファイル (firefox.desktop) を指定して定義されます。他のアプリケーションの .desktop ファイルのシステム上のデフォルトの場所は /usr/share/applications/ です。個別ユーザーの .desktop ファイルは ~/.local/share/applications/ に保存することができます。
  2. ~/.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 および myapplication2.desktop ファイルの両方が /usr/share/applications/ ディレクトリーに置かれていることを確認します。
  3. 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