web-dev-qa-db-ja.com

CLIツールを使用してLinuxシステムに新しい(カスタム)MIMEタイプをインストールする方法

私のシステムで新しいカスタムMIMEタイプを作成して登録する完全な手順を教えてください。問題があれば、Arch LinuxでKDEを実行しています。

手順には、XMLファイルの書き込み、アイコンとファイルタイプの関連付け、その他の必要な作業が含まれます。 xdg-mimeコマンドラインユーティリティのみを使用することをお勧めします。

このMIME関連付けを1)ユーザーアカウントと2)システム全体に追加することの両方を理解したいと思います。

例として、MyCertInspectorを呼び出すカスタムアプリケーションで証明書ファイルを開きたいとしましょう。 XMLは次のようになるはずです。

<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="text/publickey">
    <glob-deleteall/>
    <glob pattern="*.crt"/>
    <glob pattern="*.cert"/>
  </mime-type>
</mime-info>

私が理解しているように、ユーザーローカル定義にglob-deleteallを含めると、既存のシステム全体のMIME関連付けが削除されます。私の理解が正しいことを確認したいと思います。

また、このプロセスの最初のステップは、使用する予定のファイル拡張子が付いたMIMEタイプの存在を確認することであることも理解しています。 / usr/share/applications/defaults.list がArchになく、(少なくとも私のシステムでは)システム全体にないため、Archでそれを行う方法を正確に知りませんmimeapps.listファイル。

答えとしては、必要なすべてのステップをカバーし、Arch Linuxシステム上に配置する必要がある特定のディレクトリを説明するステップバイステップガイドを期待しています。

これまでの私の研究から、私は一般的な手順は次のとおりだと考えています。

  1. 使用する予定のファイル拡張子を持つMIMEタイプの存在を確認する
  2. 希望するMIMEタイプのXMLファイルを作成します。
  3. Sudo xdg-mime install [options]を使用してXMLファイルを登録します(システムモードとローカルユーザーモードの両方に対応する必要があります。
  4. 新しいMIMEタイプを、それを開くために使用されたアプリケーションに関連付けます。
  5. mIMEタイプのアイコンを登録します。
  6. その他(人が行うべきチェックや確認手順など)

私の目標は、この質問の答えを読んだ人なら誰でも、システムにカスタムMIMEタイプを作成してインストールするすべてのプロセスを習得できることです。

5
MountainX

man xdg-mime[〜#〜] examples [〜#〜]セクションを引用することから始めます

EXAMPLES
           xdg-mime install shinythings-shiny.xml

       Adds a file type description for "shiny"-files. "shinythings-" is used as the vendor prefix. The file type description could look as follows.

           shinythings-shiny.xml:

           <?xml version="1.0"?>
           <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
             <mime-type type="text/x-shiny">
               <comment>Shiny new file type</comment>
               <glob pattern="*.shiny"/>
               <glob pattern="*.shi"/>
             </mime-type>
           </mime-info>

       An icon for this new file type must also be installed, for example with:

           xdg-icon-resource install --context mimetypes --size 64 shiny-file-icon.png text-x-shiny

このMIME関連付けを1)ユーザーアカウントと2)システム全体に追加することの両方を理解したいと思います。

同じmanページから

xdg-mime install [--mode mode] [--novendor] mimetypes-file
--mode mode

mode can be user or system. In user mode the file is (un)installed for the current user only. In system mode the file is (un)installed for all users on the system. Usually only root is allowed to install in system mode.
The default is to use system mode when called by root and to use user mode when called by a non-root user.

ユーザーローカル定義にglob-deleteallを含めると、既存のシステム全体のMIME関連付けが削除されます

はい、glob-deleteallはmimetype定義のglob部分を上書きするために使用されますが、onlyシステム全体。モードに応じて両方

arch Linuxシステム上に配置すべき特定のディレクトリについて言及している

システムモード/usr/share/mime/にインストールされます。 ユーザーモード.local/share/mimeに変更すると、ファイルリストは次のようになります。

./.local/share/mime/generic-icons
./.local/share/mime/mime.cache
./.local/share/mime/types
./.local/share/mime/text
./.local/share/mime/text/x-shiny.xml
./.local/share/mime/version
./.local/share/mime/treemagic
./.local/share/mime/globs
./.local/share/mime/globs2
./.local/share/mime/aliases
./.local/share/mime/subclasses
./.local/share/mime/magic
./.local/share/mime/icons
./.local/share/mime/XMLnamespaces
./.local/share/mime/packages/shinythings-shiny.xml
2
Munzir Taha