为什么应用程序在“使用其他应用程序打开…”选项中重复多次?
我正在使用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
添加到它们。
问题解决了!