S B*_*S B 23 latex default-programs gnome-open
我将 evince 配置为我打开 pdf 文件的默认应用程序(使用 Open with... 并单击始终使用此应用程序打开 pdf 文件),但是当我输入gnome-open foo.pdf而不是 evince 时,我在正确的文件夹中打开了 Nautilus,突出显示我选择的文件。
这尤其令人不安,因为我将 LaTeX 插件用于 gedit,当我尝试将 tex 文件编译为 pdf 时,我没有打开一个带有我编译的 pdf 文件的新窗口,而是弹出 nautilus。我知道我可以编辑我的 gedit LaTeX 插件的脚本以使用我想要打开的 pdf 调用 evince(或 acroread),但这是一种解决方法,而不是我正在寻找的解决方案。
第四方法
我可以通过删除这个文件来重现你的问题/usr/share/applications/evince.desktop,所以请确保你有这个文件。
参考。
第三种方法
xdg-open 似乎使用/etc/mailcap. 所以编辑它以将pdf与evince相关联。
gksu gedit /etc/mailcap
Run Code Online (Sandbox Code Playgroud)
查找以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
Run Code Online (Sandbox Code Playgroud)
参考。
第二种方法
什么是输出
xdg-mime query filetype foo.pdf
Run Code Online (Sandbox Code Playgroud)
如果输出不是我们应该期望的,那么:
xdg-mime default evince.desktop application/pdf
Run Code Online (Sandbox Code Playgroud)
参考。
第一种方法
还有其他地方设置了文件关联。
您可以在以下位置更改文件关联:
/usr/share/applications/defaults.list
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/
~/.gnome/share/apps/
Run Code Online (Sandbox Code Playgroud)
在这些文件中查找“pdf”和“Nautilus”。
小智 5
我今天刚遇到这个问题,根据 ubuntuforums.org 上的这个线程,它是由 exo-utils 引起的:
http://ubuntuforums.org/showthread.php?t=1729680
exo-tools 是 Thunar(我今天安装的)的依赖项,但通常不会安装在股票 Ubuntu 中,我想这就是他们在发布时错过了这个错误的原因。
删除这个打包(我实际上只是删除了 Thunar 和所有它的 deps)为我解决了这个问题。