3

似乎 Thunar 和 Midnight Commander(任何可能的其他工具)不使用 Mailcap 来决定如何打开文件。他们用什么代替?

问题背景:在我的系统上,Thunar 和 Midnight Commander 使用 Okular 而不是 LibreOffice 打开所有 ODT 文件。

我尝试通过检查~/.mailcap和来调试它/etc/mailcap,其中确实包含 ODT 的 Okular 规则,但 LibreOffice ( soffice) 规则显然优先。

我通过mailcap直接在 ODT 文件上运行来验证这一点:

run-mailcap --norun /tmp/example.odt

输出正是我所期望的:

soffice --nologo --writer '/tmp/example.odt'

此外,如果我运行该命令,LibreOffice 确实会启动并打开文件。

所以据我了解,MC 和 Thunar 应该使用 LibreOffice 打开 ODT 文件。但他们使用 Okular。为什么?

4

1 回答 1

2

为了回答我自己的问题,这些应用程序使用xdg-open而不是run-mailcap.

实际上,以下命令运行的是 Okular 而不是 LibreOffice:

命令:

xdg-open /tmp/example.odt

我可以通过以下方式验证分配的 MIME 类型:

命令:

xdg-mime query filetype /tmp/example.odt

输出:

application/vnd.oasis.opendocument.text

然后,我可以检查哪个应用程序分配给了该 MIME 类型:

命令:

xdg-mime query default application/vnd.oasis.opendocument.text

输出:

 kde4-okularApplication_ooo.desktop

这解释了这个问题。当我卸载 Okular 时,它会导致正确的响应:

输出:

 libreoffice-writer.desktop

所以无论是 Okular 还是 LibreOffice 软件包都有问题。

于 2017-03-11T09:08:42.627 回答