MIMEデータベースを共有するために新しいファイルタイプをインストールしました。しかし、_xdg-mime query filetype
_は新しいタイプを区別できません。この問題は、デスクトップとしてGNOMEまたはKDEを使用しない自分のLinuxOSでのみ発生します。 Ubuntuでは、同じプロセスがうまく機能します。
_xdg-mime query filetype
_は、OSの内部では「file-i filename」を使用していますが、Ubuntuではgnomevfsを使用していることがわかりました。
これが私のステップです:
my_file.xml
_のxmlファイルを作成しましたxdg-mime install my_file.xml
_xdg-mime query filetype
_ <クエリするファイルの名前> ....出力なし:-(_/usr/share/mime/applications
_を確認したところ、update-mime-databaseによって生成されたxmlエントリが見つかりました。また、C API g_file_info_get_content_type()
は適切なmimeタイプを取得できます。
したがって、shared-mime-infoは正常に更新されたようです。しかし、「ファイル」コマンドはまだ失敗します、なぜですか?
これが私のxmlファイルです:
_<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/vnd.xxx.xxx.xxx">
<comment>xxxx</comment>
<glob pattern="*.dcf"/>
</mime-type>
</mime-info>
_
私は答えを見つけたと思います。私のシステムでは、「xdg-mime query filetype ...」は「file」コマンドを使用してファイルタイプを取得しますが、ubuntuでは「gnomevfs」を使用します。
「file」コマンドはshared-mime-infoのxmlエントリをチェックしないようですが、ファイル「/ user/share/file/magic」を調べてファイルのMIMEタイプを取得します。
Ubuntuで「file」コマンドを使用すると、正しいMIMEタイプもわかりません。
この魔法のファイルを編集する方法を勉強します。
mimetype
ユーティリティを含む http://search.cpan.org/dist/File-MimeInfo/ (またはこのためのディストリビューションのパッケージ)をインストールしてみてください。
このパッケージをインストールした後、xdg-mime
(ArchLinuxでテスト済みバージョン1.1.0rc1)は、mimetype
(がを検出するはずです。 -)XDG共有mime情報データベースを使用)が利用可能であり、file -i
にフォールバックする代わりにそれを使用します。