我知道有一些文件/etc/gnome/defaults.list
存储了 MIME 关联并且其格式应该可以进行编辑。
但我正在寻找一种方法来处理以下至少一个问题
- 此文件的格式是可以合理解析的。不过,使用有人制作并希望测试过的 API 可以节省一些时间并避免错误问题
- 如果 API 能够根据操作系统版本、操作系统等了解该文件的位置,那就太好了。即使出现“不支持”的崩溃,也比编辑不再使用的内容的脚本要好
我想完全自动化我的 Ubuntu 安装——设置文件关联来纠正其中一个是其中的一部分。
甚至使用自动/半自动(如文档)方式来查找存储文件关联的地方也会受到欢迎。
如何全局更改文件关联?提及/usr/share/gnome/applications/defaults.list
,/usr/share/applications/defaults.list
另/usr/share/applications/mimeapps.list
请参阅对于默认应用程序,我应该修改哪个 default.list,以及两者之间有什么区别?(所以我希望至少能够自动定位文件)
答案1
xdg-mime(1) 可能就是您正在寻找的。
此命令的手册页链接到 MIME 数据库规范https://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/以及 MIME 应用程序关联规范http://www.freedesktop.org/wiki/Specifications/mime-apps-spec/
答案2
在某些情况下,以下方法有效,但不是全部:
查看 mimetype:
file --mime-type -b sudolightburn.sh
查看当前关联:
xdg-mime query default text/plain
改变关联:
xdg-mime default codium.desktop text/plain
如果有人感兴趣的话,我有一个 ansible 角色使用它来设置合理的默认程序:https://github.com/matkoniecz/recovery-with-ansible/tree/master/roles/set_default_programs_for_file_types