我将 evince 配置为打开 pdf 文件的默认应用程序(使用打开方式...并单击始终使用此应用程序打开 pdf 文件),但是当我输入gnome-open foo.pdf
evince 而不是 evince 时,Nautilus 会在正确的文件夹中打开并突出显示我选择的文件。
这尤其令人不安,因为我正在使用 gedit 的 LaTeX 插件,当我尝试将 tex 文件编译为 pdf 时,不是打开一个新窗口来显示我编译的 pdf 文件,而是只弹出 nautilus。我知道我可以编辑 gedit LaTeX 插件的脚本来调用 evince(或 acroread)来打开我想要的 pdf,但这只是一种变通方法,而不是我正在寻找的解决方案。
答案1
删除exo-utils
对我来说非常有效。
答案2
第四种方法
我可以通过删除此文件来重现您的问题/usr/share/applications/evince.desktop
,因此请确保您拥有此文件。
参考。
第三种方法
xdg-open 似乎使用了 的配置/etc/mailcap
。因此编辑它以将 pdf 与 evince 关联。
gksu gedit /etc/mailcap
application/pdf
查找以; application/x-pdf
; application/x-bzpdf
;开头的行application/x-gzpdf
。它们应该看起来像这样,以将 pdf 与 evince 关联起来:
application/pdf; evince '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf
application/x-pdf; evince '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf
application/x-bzpdf; evince '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf.bz2
application/x-gzpdf; evince '%s'; test=test -n "$DISPLAY"; nametemplate=%s.pdf.gz
参考。
第二种方法
输出是什么
xdg-mime query filetype foo.pdf
如果输出不是我们期望的,那么:
xdg-mime default evince.desktop application/pdf
参考。
第一种方法
还有其他地方设置了文件关联。
您可以在以下位置更改文件关联:
/usr/share/applications/defaults.list
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/
~/.gnome/share/apps/
在这些文件中查找“pdf”和“Nautilus”。
答案3
我今天刚刚遇到了这个问题,根据 ubuntuforums.org 上的这个帖子,这是由 exo-utils 引起的:
http://ubuntuforums.org/showthread.php?t=1729680
exo-tools 是 Thunar 的依赖项(我今天安装了),但通常不会安装在原版 Ubuntu 中,我猜这就是为什么他们在发布时忽略了这个错误。
删除这个包(我实际上只是删除了 Thunar 和它的所有依赖项)就解决了这个问题。
答案4
我遇到了类似的问题,删除 exo-utils 对我来说不起作用。
经过一番挖掘,我在 /etc/mailcap 中发现了两个 application/pdf 条目,它们优先考虑 Xpdf 而不是 evince。
注释掉 Xpdf 的两个条目后,xdg-open 可以使用 evince 正确打开 pdf 文档。