我尝试让 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 -i
或file --mime-type
测试系统范围的 MIME 数据库的功能。默认file
使用magic
及其配置,因此要更改的行为file
,您必须更改magic
配置。
到检查并修改xdg-open
行为,你应该使用XDG-实用程序。例如,您可以检查当前设置如何处理text/plain
MIME 类型的文件:
~ $ 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 文件。