11.3. 個別ユーザー用のカスタム MIME タイプの追加
個々のユーザーに対してカスタム MIME タイプを追加し、その 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は、MIME タイプapplication/x-newtypeを My Application 1 という名前のアプリケーションに関連付けます。これは、コマンドmyapplication1で実行します。myapplication1の開始方法に基づいて、Desktop Entry Specification からそれぞれのフィールドコードを 1 つ選択します。たとえば、複数のファイルを開くことができるアプリケーションの場合は、次のように使用します。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 test.xyz | grep "standard::content-type" standard::content-type: application/x-newtypemyapplication1.desktopが MIME タイプapplication/x-newtypeのデフォルトの登録アプリケーションとしてが正しく設定されていることを確認するには、次のコマンドを実行します。$ gio mime --query application/x-newtype Default application for 'application/x-newtype': myapplication1.desktop Registered applications: myapplication1.desktop Recommended applications: myapplication1.desktop