MIMEタイプtext/html:どのように、どこで定義されますか?

MIMEタイプtext/html:どのように、どこで定義されますか?

AskUbuntuについて質問をしました(*.htmを*.htmlとは異なる方法で開くにはどうすればよいですか?)まだ興味がないので、もう少し基本的な質問で同じ問題を解決しました。

text/htmlGNOME MIMEタイプが通常(常にではありません)、Webファイル(*.htmlおよび)に割り当てられる方法と場所は不明です*.htm。少なくとも2つのルールが適用されます。部分的には、ファイル拡張子とファイルの先頭にあるさまざまな文字数に関連しています(GNOME 3.28.2 / Ubuntu 18.04でテスト済み)。

$ ls -l empty.html
-rw-r--r-- 1 rphair rphair 0 2019-08-02 16:26 empty.html
$ gio info empty.html | grep standard::content-type
  standard::content-type: text/plain

$ cat less-than.html
<
$ gio info less-than.html | grep standard::content-type
  standard::content-type: text/html

$ mv less-than.html less-than.junk
$ gio info less-than.junk | grep standard::content-type
  standard::content-type: text/plain

$ echo '<html' > less-than.junk
$ gio info less-than.junk | grep standard::content-type
  standard::content-type: text/html

定義を変更できるように、このMIMEタイプがどこに定義されているかを知る必要があります。 (これはこの質問の範囲をわずかに超えていますが、私の目標は、同じMIME分類の* .htmファイルをブラウザではなくWebエディタに関連付けることです。)

答え1

インストールされているパッケージの既存のMIMEタイプはで定義されています/usr/share/mime/packages。一般的に許可されているMIMEタイプはこのディレクトリにfreedesktop.org.xml定義されています。このデータベースの内容はここで定義されています(freedesktop.org>仕様>共有mime-info-spec)と標準MIMEタイプを追加または変更するプロセス。

カスタムMIMEタイプは、次のようにファイルを配置して定義できます。

shared-mime-info特に、標準のMIMEタイプ(関連するシステムパッケージで定義されています)をオーバーライドする方法は関連するtext/html質問に答えるので、他のフォーラムのリンクされたスレッドで扱うことにします。

関連情報