MIME 型を処理するアプリケーションを登録する

任意の MIME 型のファイルを扱うアプリケーションの登録はかなり単純です。それらのアプリケーションの .desktop の中に MimeType キーを持つエントリを一つ作成し、MIME 型をセミコロン (“;”) で区切って並べます。MimeType というキーは、Type キーの値が Application である .desktop でのみ使用するようにしてください。.desktop ファイルについて詳細は「セクション 2.3 - デスクトップ・エントリのファイル」をご覧ください。

.desktop ファイルを作成するか変更するなどしたら、update-desktop-database コマンドを使ってデスクトップ・アプリケーション用のデータベースを更新してください (このコマンドは引数を受け取らない点を除いて、update-mime-database とかなり類似しています)。このコマンドは mimeinfo.cache というファイルを $XDG_DATA_HOME:$XDG_DATA_DIRS が示す各フォルダの applications サブフォルダの中に生成します。このキャッシュ・ファイルが存在していることで、デスクトップ・エントリのファイルから MimeType キーを取得する際に、すべての .desktop ファイルを解析する必要がなく、デスクの I/O を抑えることができます。

特定の MIME 型で使用するデフォルトのアプリケーションは defaults.list と呼ばれるファイルの中で指定します。このファイルは環境変数である $XDG_DATA_HOME$XDG_DATA_DIRS が示すフォルダの applications サブフォルダの中に保管されています。このファイルには、一行ごとに MIME 型とデスクトップ・エントリのファイルの識別子 (デスクトップ・エントリのファイル名) が = で区切られて記述されています。例 5-4~/.local/share/applications というフォルダに格納された defaults.list ファイルの短い例を示します。

例 5-4ユーザ用の defaults.list ファイル
[Default Applications]
application/pdf=evince.desktop
text/html=epiphany.desktop
text/plain=gedit.desktop
image/jpeg=eog.desktop
image/png=eog.desktop
text/xml=gedit.desktop
XDG デスクトップ・エントリの仕様

アプリケーション毎に MIME 型を登録する方法は「XDG Shared MIME Info の仕様」というよりは、むしろ「XDG デスクトップ・エントリの仕様」の一部です。