我很好奇 Linux 中文件关联管理是如何实现的。相关信息存储在哪里?如何修改它(我对非基于 KDE 的方式感兴趣;我知道 KDE 中有一个系统配置页面)?
如能提供相应文章/文档的链接将不胜感激:)
答案1
大多数桌面环境使用 Freedesktop.orgMIME Actions 规范. 每个程序都有一个.desktop
文件/usr/share/applications
和/或中~/.local/share/applications
,提供有关程序及其接受的 MIME 类型的信息。用户自己的偏好保存在 中~/.local/share/applications/defaults.list
。
URI 方案(例如http:
或mailto:
)仅列为特殊MIME 类型。(不过,较旧的程序可能仍在使用 GNOME 或 KDE 特定的 URI 方案数据库。)x-scheme-handler/scheme
一些“传统”邮件程序(例如 Alpine 或 Mutt)仍使用旧~/.mailcap
文件来确定查看附件的最佳工具。部分原因是它们纯粹基于终端,需要不同的机制。
答案2
您可以查看 的手册(和实际的 shell 脚本)xdg-open
。它会检查您是否正在使用 KDE、Gnome、lxde,并将文件传递给kde-open
等。如果您没有运行其中任何一个,它会使用 查找它们xdg-mime
。您可以在以下位置查找有关其工作原理的信息:自由桌面。