web-dev-qa-db-ja.com

`xdg-mime query filetype ...`が新しく追加されたファイルタイプを見つけられないのはなぜですか?

MIMEデータベースを共有するために新しいファイルタイプをインストールしました。しかし、_xdg-mime query filetype_は新しいタイプを区別できません。この問題は、デスクトップとしてGNOMEまたはKDEを使用しない自分のLinuxOSでのみ発生します。 Ubuntuでは、同じプロセスがうまく機能します。

_xdg-mime query filetype_は、OSの内部では「file-i filename」を使用していますが、Ubuntuではgnomevfsを使用していることがわかりました。

これが私のステップです:

  1. 私の新しいファイルタイプ_my_file.xml_のxmlファイルを作成しました
  2. _xdg-mime install my_file.xml_
  3. _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>
_
6
Amanda

私は答えを見つけたと思います。私のシステムでは、「xdg-mime query filetype ...」は「file」コマンドを使用してファイルタイプを取得しますが、ubuntuでは「gnomevfs」を使用します。

「file」コマンドはshared-mime-infoのxmlエントリをチェックしないようですが、ファイル「/ user/share/file/magic」を調べてファイルのMIMEタイプを取得します。

Ubuntuで「file」コマンドを使用すると、正しいMIMEタイプもわかりません。

この魔法のファイルを編集する方法を勉強します。

3
Amanda

mimetypeユーティリティを含む http://search.cpan.org/dist/File-MimeInfo/ (またはこのためのディストリビューションのパッケージ)をインストールしてみてください。

このパッケージをインストールした後、xdg-mime(ArchLinuxでテスト済みバージョン1.1.0rc1)は、mimetypeを検出するはずです。 -)XDG共有mime情報データベースを使用)が利用可能であり、file -iにフォールバックする代わりにそれを使用します。

1
ack