为什么应用程序在“使用其他应用程序打开…”选项中重复多次?

我正在使用Ubuntu 11.04桌面,当我右键单击某个特定文件夹并选择“使用其他应用程序打开….”时,某些应用程序会重复多次。 这种情况发生在多个应用程序中。 我能够从“编辑菜单”选项中删除它们,但为什么会发生这种情况以及如何确保它不再发生?

在此处输入图像描述

至于为什么会这样,我不是百分百肯定。 有时它会在WINE应用程序中发生,因为在设置.desktop文件和相应的关联方面存在一些困难。

然而,这是一个已知的问题,希望在不久的将来能够解决。

要自己解决问题,请删除: ~/.local/share/applications中的重复条目,它应该没问题。 大多数情况下,当您重新安装相关应用程序之前,您不必再次执行此操作。

(对于解决方案,请跳到底部。我将解释一些技术细节,以防有人试图理解为什么会发生这种情况。)

问题是该程序有多个.desktop文件,在applications目录中具有不同的文件名

在Ubuntu中, applications目录是:

 ~/.local/share/applications /usr/share/applications 

例如,在我的系统上, /usr/share/applications/ Banshee有三个条目:

 /usr/share/applications/banshee.desktop /usr/share/applications/banshee-audiocd.desktop /usr/share/applications/banshee-media-player.desktop 

这会在Open With Other Application...对话框中为Banshee生成三个条目。

三个女妖

一种解决方案是删除额外的.desktop文件,但这可能会破坏打开其他文件类型(例如, banshee-audiocd.desktop用于打开音频CD)。

正确的解决方案是在/usr/share/applications/为这些重复的.desktop文件添加一个Hidden=true行。 但是,我不建议你这样做,因为它需要搞乱root所拥有的系统文件(默认情况下这个修复应该在那里)。

那么,在Ubuntu中修复之前你能做些什么呢?

还记得我在开始时用不同的文件名说过吗? 这是因为~/.local .desktop文件比具有相同名称的系统范围的.desktop文件具有更高的优先级。 因此,将要从/usr/share/applications删除的条目复制到~/.local/share/applications并将Hidden=true添加到它们。

编辑.desktop文件

问题解决了!

问题解决了