问题描述
我将evince配置为打开pdf文件的默认应用程序(使用“打开方式为…”,然后单击始终使用此应用程序打开pdf文件),但是当我键入gnome-open foo.pdf
而不是evince时,我的Nautilus会在正确的文件夹中打开突出显示我选择的文件。
这尤其令人不安,因为我正在使用LaTeX插件进行gedit,并且当我尝试将tex文件编译为pdf时,而不是使用编译后的pdf文件打开新窗口时,只有Nautilus弹出窗口。我知道我可以编辑我的gedit LaTeX插件的脚本,以使用我要打开的pdf调用evince(或acroread),但这是一种解决方法,而不是我正在寻找的解决方案。
最佳方法
删除exo-utils
非常适合我。
次佳方法
第四方法
我可以通过删除此文件/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”。
第三种方法
我今天才遇到这个问题,根据ubuntuforums.org上的这个线程,这是由exo-utils引起的:
http://ubuntuforums.org/showthread.php?t=1729680
exo-tools是Thunar的依赖项(我今天安装了它),但通常没有在Ubuntu中安装,我想这就是为什么他们错过了发行版中的此bug。
删除这个打包的文件(我实际上只是删除了Thunar及其所有部门)对我来说解决了这个问题。
第四种方法
该问题与exo-utils
有关。
-
有一个错误,该错误已为Ubuntu Utopic修复:https://bugs.launchpad.net/bugs/956255
-
由于某些原因,以下
x-scheme-handler
行被复制/粘贴在〜/.local /share /applications /mimeapps.list中
% grep exo ~/.local/share/applications/mimeapps.list
x-scheme-handler/file=exo-file-manager.desktop
x-scheme-handler/trash=exo-file-manager.desktop
这导致xdg-open
/gvfs-open
使用/usr/share/applications/exo-file-manager.desktop
,其中包含:
Exec=exo-open --launch FileManager %u
这就是即使使用固定软件包仍会为每个文件打开Nautilus的原因。