Answers:
通过分析位于以下位置的.desktop文件来创建此列表:
/usr/share/applications
~/.local/share/applications
每个应用程序可能有多个用例,例如banshee
默认情况下具有三个.desktop文件的媒体播放器:
$ ls -1 /usr/share/applications/banshee*
/usr/share/applications/banshee-1-audiocd.desktop
/usr/share/applications/banshee-1.desktop
/usr/share/applications/banshee-1-media-player.desktop
这些文件之间的唯一区别是开始参数和MimeType列表。
banshee-1.desktop
:常规媒体文件banshee-1-audiocd.desktop
:音频CDbanshee-1-media-player.desktop
音频播放器(也使用rhythmbox
,vlc
及其他)因此,在“打开方式”列表中(也许在“主菜单”中),我们有三个“ Banshee Media Player”。
填充此空间的另一种方法是在中创建个人.desktop文件~/.local/share/applications
。手动或使用工具。alacarte
(或右键单击“主菜单”->“编辑菜单”)就是其中之一。
每次在其中创建或移动应用程序时alacarte
,都会在其中放置一个新的.desktop文件~/.local/share/applications
。禁用应用程序将从“主菜单”中“删除”它,而不是从“打开方式”列表中“删除”它。
但“删除”按钮的功能,通过从创建相同副本/usr/share/applications
成~/.local/share/applications
并添加Hidden=true
到.desktop文件,从而“覆盖”全系统继承的值。
从alacarte
结果中删除其中两个条目:
$ ls -1 ~/.local/share/applications/banshee*
/home/user/.local/share/applications/banshee-1-audiocd.desktop
/home/user/.local/share/applications/banshee-1-media-player.desktop
从中删除任何条目~/.local/share/applications
将恢复为先前存在的状态(三项banshee
)。
如果这两个文件夹中确实没有任何重复项,请尝试从相应的.desktop文件中删除任何重复项,alacarte
或尝试使用该Hidden=true
选项。
承认这个线程很旧,我自己对此问题感到困惑。我个人觉得删除文件或播放“清理”是不必要的,就像对当前用户进行调整一样。如果.desktop文件超过1个,每个文件都没有唯一的描述吗?就Linux而言,某些应用程序开发人员是否真的忽略了诸如此类的简单事情?
我发现如果您在文本编辑器中打开.desktop文件,则“打开”菜单中将显示“ 名称”字段。因此,对我来说,我查找了我知道正在造成问题的.desktop文件(例如3个Banshee文件)。仔细观察每一个,差异几乎总是与快捷方式所处理的MIME类型有关。这是因为某些程序喜欢根据mimetype传递不同的参数。仅在一种情况下,我发现重复条目是应用程序升级的结果,而不是清理旧的.desktop文件
有了这一发现,我更改了已知重复条目的“ 名称”字段以反映这一点。例如,编辑Banshee专门处理音频CD的 .desktop文件,我将名称改为:
女妖(音频CD)
Rhythmbox也是一个很好的例子,因为它有一个单独的.desktop文件,专门用于处理CD + MP3播放器,但每个文件都显示相同。我的猜测是1个文件将加载应用程序,并将焦点放在单元而不是库上。那么,这值得重命名,因为您不希望在处理MP3 / OGG文件时发生这种情况。
无论如何,我认为这可以使“打开方式”菜单看起来更加干净,而不仅仅是删除看起来有用的文件。这些更改是否在应用程序更新之间是否仍然存在尚待观察……但是它们是简单,快速的编辑,甚至可以编写脚本。在这种情况下,外壳会提供极大帮助。例如,要查看具有此类重复条目的所有文件名(带有路径):
grep -rl "^Name=Banshee$" /usr/share/applications
当然,“ Banshee”在“打开方式”菜单中会多次显示。在上面提供的示例中,该应用程序名为Geany。
这样,您可以将结果文件直接发送到编辑器。如果您不是reg表达式专家,则^和$分别指定行首和行尾。这样可以防止系统查找类似的行XGnome-FullName=Banshee Media Player
。还可以防止系统查找您可能已经修复的条目。
您也可以在Gnome的“应用程序”菜单编辑器中查找,并从此处删除重复项。
jhbuild.desktop
和mimeapps.list
在〜/。本地/共享/应用程序。而且,/ usr / share / applications中没有重复对象,而且我仍然遇到问题。