7.3. 個別ユーザー用のカスタム MIME タイプの追加

個々のユーザーのためにカスタム MIME タイプを追加するために、~/.local/share/mime/packages/ ディレクトリーに MIME タイプ仕様ファイルを、~/.local/share/applications/.desktop ファイルを作成する必要があります。

手順

  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 field_code

    上記のサンプルファイル myapplication1.desktop は、MIME タイプ application/x-newtype を My Application 1 という名前のアプリケーションに関連付けます。これは、コマンド myapplication1 で実行します。

    myapplication1 の開始方法に基づいて、Desktop Entry Specification からそれぞれのフィールドコードを 1 つ選択します。たとえば、複数のファイルを開くことができるアプリケーションの場合は、次のように使用します。

    Exec=myapplication1 %F
  3. 変更を有効にするために MIME データベースを更新します。

    $ update-mime-database ~/.local/share/mime
  4. アプリケーションデータベースを更新します。

    $ update-desktop-database ~/.local/share/applications

検証手順

  1. *.xyz ファイルを MIME タイプ application/x-newtype に正常に関連付けたことを確認するには、最初に空のファイル (例: test.xyz) を作成し、以下のコマンドを実行します。

    $ touch test.xyz
    
    $ gvfs-info test.xyz | grep "standard::content-type"
      standard::content-type: application/x-newtype
  2. myapplication1.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