為什麼xdg-mime query filetype ...
找不到新添加的文件類型?
我安裝了一個新的文件類型來共享 MIME 數據庫。但
xdg-mime query filetype
不能分辨新類型。這個問題只發生在我自己的不使用 GNOME 或 KDE 作為其桌面的 Linux 作業系統上。在 Ubuntu 上,同樣的過程執行良好。我發現它
xdg-mime query filetype
在我的作業系統的底層使用了“file -i filename”,但在 Ubuntu 上使用了 gnomevfs。這是我的步驟:
- 為我的新文件類型寫了一個 xml 文件
my_file.xml
xdg-mime install my_file.xml
xdg-mime query filetype
<要查詢的文件名> …. 無輸出 :-(我檢查
/usr/share/mime/applications
並在那裡找到了 update-mime-database 生成的 xml 條目。並且 C APIg_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 上使用“文件”命令,它也無法告訴我正確的 MIME 類型。
我將研究如何編輯這個魔法文件。
嘗試安裝包含該實用程序的http://search.cpan.org/dist/File-MimeInfo/(或您的發行版包) 。
mimetype
安裝此軟體包後,
xdg-mime
(在 Arch Linux 上測試版本 1.1.0 rc1)現在應該檢測到mimetype
(確實使用 XDG 共享 mime 資訊數據庫)可用,並使用它而不是退回到file -i
.