在 kubuntu 中,mozilla 产品中与 mime 类型关联的默认程序与系统范围设置或用户设置完全不同。例如,firefox/thunderbird 将始终使用 krita 打开 pdf,但对于所有其他程序(例如 dolphin),将通过 okular 正确打开它
这似乎与以下内容一致/usr/share/applications/mimeinfo.cache
:
application/pdf=kde4-krita_pdf.desktop;kde4-okularApplication_pdf.desktop;gimp.desktop
但是,xdg-mime query default application/pdf
给出了正确的值:okularApplication_pdf.desktop
并且在 dolphin->“文件类型选项”中,它给出了正确的优先级列表:Okular、Gimp、Imagemagick、krita
有没有什么方法可以让 firefox/thunderbird 使用正确的 xdg-mime 值而不是错误的 mimeinfo.cache?
或者有什么方法可以将正确的数据复制到 mimeinfo.cache 中?
谢谢
答案1
最后我明白了:Mozilla 应用程序将按以下顺序查看文件列表中的 mime-type-app 关联:
~/.local/share/applications/mimeapps.list
~/.local/share/applications/mimeinfo.cache
/usr/local/share/applications/mimeapps.list
/usr/local/share/applications/mimeinfo.cache
/usr/share/applications/mimeapps.list
/usr/share/applications/mimeinfo.cache
/usr/share/applications/defaults.list
实际上它们根本不应该使用mimeinfo.cache
。因为这些文件中没有顺序。在某些发行版中会有默认设置,mimeapps.list
这很好。但是许多发行版没有默认设置mimeapps.list
。在某些发行版中根本没有mimeinfo.cache
。因此在这些发行版中它会回退到/usr/share/applications/defaults.list
可以正常工作的设置。但在 ubuntu 中,仍然有mimeinfo.cache
s,它们会在每次更新后自动生成。在 kubuntu 中情况更糟,因为 中的关联defaults.list
指定给 gnome 应用程序而不是 KDE 应用程序。
解决这个问题的好方法是生成我自己的mimeapps.list
并将其放入~/.local/share/applications/
。
答案2
Firefox 允许您自行设置辅助程序。请前往Preferences => Applications
并进行相应设置:
不确定雷鸟,我没有使用它,但附件部分可能有类似的设置。
答案3
根据@Wang 的回答,我决定在我的计算机上调查为什么这不起作用。
我发现当您使用 Dolphin 设置文件关联时,更改会保存到非标准位置“~/.config/mimeapps.list”。
从此文件创建到 Firefox 寻找的预期文件之一的符号链接似乎已经解决了此问题:
ln -s ~/.config/mimeapps.list ~/.local/share/applications/mimeapps.list
运行此命令并重新启动 Firefox 后,它似乎最终遵循了我的文件关联偏好设置!