【问题标题】:How do Thunar and MC decide how to open a file?Thunar 和 MC 如何决定如何打开文件?
【发布时间】:2017-08-01 16:09:13
【问题描述】:

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

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

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

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

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

输出正是我所期望的:

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

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

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

【问题讨论】:

    标签: mime-types mc thunar


    【解决方案1】:

    为了回答我自己的问题,这些应用程序使用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 包中有问题。

    【讨论】:

      猜你喜欢
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多