为什么`xdg-mime query filetype ...` 找不到新添加的文件类型?

Ama*_*nda 6 linux freedesktop mime-types

我安装了一种新的文件类型来共享 MIME 数据库。但xdg-mime query filetype不能说新类型。这个问题只发生在我自己的 Linux 操作系统上,它不使用 GNOME 或 KDE 作为桌面。在 Ubuntu 上,同样的过程运行良好。

我发现xdg-mime query filetype在我的操作系统上使用了“file -i filename”,但在 Ubuntu 上使用了 gnomevfs。

这是我的步骤:

  1. 为我的新文件类型写了一个 xml 文件 my_file.xml
  2. xdg-mime install my_file.xml
  3. xdg-mime query filetype <要查询的文件名> .... 没有输出 :-(

我检查/usr/share/mime/applications并在那里找到了由 update-mime-database 生成的 xml 条目。并且 C APIg_file_info_get_content_type()可以获得正确的 mime 类型。

所以看起来 shared-mime-info 已经成功更新了。但是“file”命令仍然失败,为什么?

这是我的 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>
Run Code Online (Sandbox Code Playgroud)

Ama*_*nda 3

我想我找到了答案。在我的系统上xdg-mime query filetype ...使用该file命令来获取文件类型,而在 Ubuntu 上它使用gnomevfs.

file命令似乎不会检查共享 mime 信息的 XML 条目,而是查看该文件/usr/share/file/magic以获取文件 MIME 类型。

如果我file在 Ubuntu 上使用命令,它也无法告诉我正确的 MIME 类型。

我将研究如何编辑这个神奇的文件。