系统和 mozilla firefox/thunderbird 之间的默认 mime 类型程序不一致?

Wan*_*ang 8 linux firefox thunderbird mime-types kubuntu

在 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->"file type options" 中,它给出了正确的优先级列表:Okular、Gimp、Imagemagick、krita

有没有办法让 firefox/thunderbird 使用正确的 xdg-mime 值而不是错误的 mimeinfo.cache?

或者有什么方法可以将正确的数据复制到 mimeinfo.cache 中?

谢谢

Wan*_*ang 10

最后我想通了: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
Run Code Online (Sandbox Code Playgroud)

实际上他们根本不应该使用mimeinfo.cache。因为这些文件中没有顺序。在某些发行版中会有默认值mimeapps.list,这很好。但是许多发行版没有 default mimeapps.list。在某些发行版中根本没有mimeinfo.cache。因此,在这些发行版中,它回落到/usr/share/applications/defaults.list哪个工作正常。但是ubuntu里面还是有mimeinfo.caches的,每次更新后都会自动生成。在 kubuntu 中情况更糟,因为 中的关联defaults.list被指定给 gnome 应用程序而不是 KDE 应用程序。

解决这个问题的好方法是生成我自己的mimeapps.list并将其放入~/.local/share/applications/.