文件镜头和xdg-open只打开鹦鹉螺,但没有正确的应用

因为有些日子我的文件镜头只打开鹦鹉螺,但没有打开与文件扩展名相关的正确应用程序。 例如,如果我选择一个PDF文件,Nautilus是openend,指向该文件所在的目录(并选择该文件),但不打开Adobe Reader。

然后我在终端做同样的事情

xdg-open sample.pdf 

只有Nautilus也开了。

xdg-mime向我展示了这个信息:

 $ xdg-mime query default application/pdf acroread.desktop 

/usr/share/applications/acroread.desktop文件:

 [Desktop Entry] Name=Adobe Reader 9 MimeType=application/pdf;application/vnd.fdf;application/vnd.adobe.pdx;application/vnd.adobe.xdp+xml;application/vnd.adobe.xfdf; Exec=acroread Type=Application GenericName=PDF Viewer Terminal=false Icon=AdobeReader9 Caption=PDF Viewer X-KDE-StartupNotify=false Categories=Application;Office;Viewer;X-Red-Hat-Base; InitialPreference=9 

与其他文件类型相同,如图像,音乐文件和办公文档。

然后我在Nautilus中双击该文件一切正常,并打开正确的应用程序。

我认为这种行为与我几天前安装的Thunar有关,但在这些问题后卸载了。

有什么建议?

我安装xfce时遇到了同样的问题(我的问题可以在这里找到)。

卸载所有xubuntu *,xfdesktop4 *和xfce4 *包(以及thunar)后,我的问题得以解决。

也许你应该先输入:

aptitude search xfce xfd xubuntu | grep ^i

以查看系统中安装了哪些软件包。

然后继续卸载。

我在文件镜头以及Chrome浏览器中遇到了同样的问题。 我删除了所有xfce4相关的包,它解决了这个问题。 谢谢!

这就是我做的,

 sudo aptitude purge xfce4 desktop-base exo-utils gtk2-engines-xfce libexo-1-0 libexo-common libgarcon-1-0 libgarcon-common libthunarx-2-0 libtumbler-1-0 libxfce4ui-1-0 libxfce4util-bin libxfce4util-common libxfce4util4 libxfconf-0-2 orage tango-icon-theme thunar thunar-data thunar-volman tumbler tumbler-common xfce-keyboard-shortcuts xfce4 xfce4-appfinder xfce4-mixer xfce4-panel xfce4-session xfce4-settings xfce4-utils xfconf xfdesktop4 xfdesktop4-data xfwm4 xfwm4-themes 

我在这里找到了这个信息

这是exo-utils / exo-file-manager.desktop中的一个错误:

https://bugs.launchpad.net/ubuntu/+source/exo/+bug/956255

这是一个错误,但解决(解决)问题的一种方法是制作自己的xdg-open版本:

 mkdir -p ~/bin cp /usr/bin/xdg-open ~/bin 

您需要确保在路径中添加了~/bin 。 你的~/.bashrc文件应该包含类似下面的东西(它可能已经存在):

 if [ -d ~/bin ]; then export PATH=~/bin:$PATH fi 

现在你需要编辑~/bin/xdg-open其中只包含文本detectDE之后添加以下行(在我的脚本版本的第525行左右):

 DE=xfce 

在注销并重新登录后,文档应该与其关联的处理程序一起打开,而不是使用Nautilus。

我解决了从文件〜/ .local / share / applications / mimeapps.list删除(或用#注释)这一行:

 x-scheme-handler/file=nautilus.desktop