file 命令报告 .css 文件的 text/plain

file 命令报告 .css 文件的 text/plain

我尝试让 xdg-open 使用正确的编辑器打开 css 文件,但无法file报告 file.css 文件的正确 mimetype。/etc/mime.types 中有一个条目,并且文件已作为 /usr/share/mime/text/css.xml 存在,但总是发生这种情况:

➜  ~  echo ". {}" > file.css
➜  ~  file --mime-type file.css
file.css: text/plain
➜  ~  

当我跟踪代码时,我发现它使用了 magic 而不是 /usr/share/mime/text mime db。我如何才能让文件将其报告为 text/css 而不是 text/plain?

答案1

据我所知,您不能使用file -ifile --mime-type测试系统范围的 MIME 数据库的功能。默认file使用magic及其配置,因此要更改的行为file,您必须更改magic配置。

检查并修改xdg-open行为,你应该使用XDG-实用程序。例如,您可以检查当前设置如何处理text/plainMIME 类型的文件:

~ $ xdg-mime query default text/plain

在我的 Mint 笔记本电脑上,它返回

gedit.desktop

对于text/css,通常没有默认应用程序集(您可以使用 进行检查xdg-mime query default text/css)。要更改此项并将 GEdit 设置为默认 CSS 编辑器,你可以使用以下命令:

~ $ xdg-mime default gedit.desktop text/css

/home/<Username>/.local/share/applications/mimeapps.list这将在中插入一行text/css=gedit.desktop。您可以直接修改 ,而不是使用 xdg-mime mimeapps.list

现在,xdg-mime query返回我选择的应用程序...

~ $ xdg-mime query default text/css
gedit.desktop

...并将xdg-open /tmp/file.css启动 GEdit 并加载 CSS 文件。

另请参阅xdg-open来自 Arch Linux Wiki 的页面

相关内容