我正在使用 Ubuntu 11.04 桌面版,当我右键单击某个文件夹并选择“使用其他应用程序打开....”时,某些应用程序会重复出现多次。这种情况发生在多个应用程序上。我能够从“编辑菜单”选项中删除它们,但为什么会发生这种情况以及如何确保它不会再次发生?
答案1
(对于解决方案,请跳到下面。我会解释一些技术细节,以防有人试图理解为什么会发生这种情况。)
问题是.desktop
该程序有多个文件使用不同的文件名在applications
目录中。
在 Ubuntu 中,applications
目录是:
~/.local/share/applications
/usr/share/applications
例如,在我的系统上,有三个 Banshee 条目/usr/share/applications/
:
/usr/share/applications/banshee.desktop
/usr/share/applications/banshee-audiocd.desktop
/usr/share/applications/banshee-media-player.desktop
这会导致对话框中出现三个 Banshee 条目Open With Other Application...
。
一种解决方案是删除多余的.desktop
文件,但这可能会导致无法打开其他类型的文件(例如,banshee-audiocd.desktop
用于打开音频 CD)。
正确的解决方案是Hidden=true
向这些重复.desktop
文件添加一行/usr/share/applications/
。但是,我不建议您这样做,因为它需要弄乱 root 拥有的系统文件(默认情况下应该有此修复程序)。
那么,在 Ubuntu 修复这个问题之前你能做什么呢?
解决方案
记得我说过使用不同的文件名一开始?这是因为.desktop
中的文件比同名的~/.local
系统级文件具有更高的优先级。因此,将要删除的条目从 复制到并添加到其中。.desktop
/usr/share/applications
~/.local/share/applications
Hidden=true
问题解决了!
答案2
至于为什么会发生这种情况,我并不完全确定。有时,由于设置 .desktop 文件和适当的关联存在一些困难,WINE 应用程序也会发生这种情况。
但这是一个已知问题,希望在不久的将来能够得到解决。
要自行解决问题,请删除:中的重复条目,~/.local/share/applications
这样就没问题了。大多数情况下,只要您执行一次此操作,就无需再次执行,除非您重新安装有问题的应用程序。