15.2. 全ユーザー用のカスタム MIME タイプの追加
システム上のすべてのユーザーに対してカスタム MIME タイプを追加し、その 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 タイプに割り当てます。/usr/share/applications/に、以下のような内容で、myapplication1.desktopなどの名前の付いた新しい.desktopファイルを作成します。[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_codeここで、サンプル
myapplication1.desktopファイルはapplication/x-newtypeMIME タイプをMy Application 1という名前のアプリケーションに関連付けます。これは、コマンドmyapplication1で実行します。myapplication1の開始方法に基づいて、Desktop Entry Specification からそれぞれのフィールドコードを 1 つ選択します。たとえば、複数のファイルを開くことができるアプリケーションの場合は、次のように使用します。Exec=myapplication1 %Froot ユーザーとして、変更を有効にするために MIME データベースを更新します。
# update-mime-database /usr/share/mimeroot ユーザーとして、アプリケーションデータベースを更新します。
# update-desktop-database /usr/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