在我的thunderbird
设置中(64 位 Debian Stretch 上的 60.0 版本),PDF 附件打开时libreoffice
通常显示无用的乱码。双击时就是这种情况。右键单击时,没有'打开用 ...'选项,因此为了修复它,我需要找到用于打开 PDF 文件的应用程序列表。
同样,我最喜欢的轻量级图像查看器是qiv
,但 中的 PNG 附件在thunderbird
中打开gimp
。双击(或右键单击)PNG 文件总是会弹出一个选项对话框,其中列出了要打开它的程序,gimp
默认是 。但是qiv
不在该列表中。
所以我想知道
(A)是否可以配置thunderbird
以便可以选择其他程序来打开某些文件(就我而言,有 PDF 文件的选项和 PNG 文件的完整列表)?
(二)是否可以配置我的桌面(Xfce 4.12)以便我可以设置合理的选择(在我的情况下,不允许libreoffice
打开 PDF 文件)?
答案1
1.任意文件⇒MIME类型:
这共享 mime 信息根据文件扩展名和/或已知的“魔术”标头,查询数据库以确定其 MIME 类型。我思考甚至 Thunderbird 也会经历这一步骤,丢弃电子邮件声明的任何 MIME 类型。
数据库由“源” XML 文件组成,这些文件不直接使用,而是被编译成“缓存”文件update-mime-database
。
2. MIME 类型⇒应用程序.desktop文件:
用户的mimeapps.列表搜索文件中明确关联的默认应用程序,指向应用的 .desktop 文件。(它允许任何应用,并且不受该 .desktop 文件中声明的 MimeTypes 的限制。)
(在 CLI 中,xdg-mime query default <type>
和xdg-mime default <app> <type>
可用于方便地操作此列表。在 Xfce 中,您可能可以在 Thunar 中执行相同操作 - 任何 PDF 文件的“属性”窗口都会让您选择默认应用程序全部PDF 文件。
如果没有明确的关联,则根据 .desktop 文件(参见下一节)以及 mimeapps.list 中的“添加的关联”构建应用程序列表(完整算法在这里),并启动“最受欢迎”应用程序。
3.App.desktop文件⇒可执行程序:
所有“可关联”应用程序都必须有一个.desktop
文件(桌面入门规格) 位于标准位置之一 (~/.local/share/applications/、/usr/share/applications)。
.desktop 文件应该声明默认情况下它希望关联到哪些 MimeType。反向查找缓存(MimeType ⇒ .desktop 文件)会自动在mimeinfo.cache
相同位置维护。这些关联可以通过上面的第 2 节覆盖。