我有一个应用程序多次出现,名称和图标相同,但其中一个无法启动,另一个则无法启动。这种情况发生在多种不同类型的应用程序中,但最近一次发生的是 Google Hangouts 扩展程序。(下面的文件)
如果文件未以人性化格式命名,您如何识别与菜单中列出的应用程序关联的桌面文件?是否有一些 GUI 工具可以在您将鼠标悬停在应用程序上或在应用程序上右键单击内容菜单时为您提供图标的路径?
我无法简单地阅读文件的内容来了解哪个是正确的文件以及哪个文件已损坏,正如另一个问题/答案指出的那样。
通过文件资源管理器查找并打开
如果我导航到文件夹直接执行它们,我会得到这个 此外,在 Gnome 中,Nemo 不会显示隐藏文件/文件夹来导航到路径,并且您无法直接输入路径。
桌面文件
cat /home/pcnate/.local/share/applications/chrome-knipolnnllmklapflnccelgolnpehhpl-Default.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Google Hangouts
Exec=/opt/google/chrome/google-chrome --profile-directory=Default --app-id=knipolnnllmklapflnccelgolnpehhpl
Icon=chrome-knipolnnllmklapflnccelgolnpehhpl-Default
StartupWMClass=crx_knipolnnllmklapflnccelgolnpehhpl
cat /home/pcnate/.gnome/apps/chrome-knipolnnllmklapflnccelgolnpehhpl-Default.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Google Hangouts
Exec=/opt/google/chrome/google-chrome --profile-directory=Default --app-id=knipolnnllmklapflnccelgolnpehhpl
Icon=chrome-knipolnnllmklapflnccelgolnpehhpl-Default
StartupWMClass=crx_knipolnnllmklapflnccelgolnpehhpl
OnlyShowIn=Old;
答案1
我最终手动在终端中搜索桌面文件,然后重命名它们,以破坏启动器图标。一旦识别出来,我就可以删除它。
# export a list of all desktop files
sudo find / -name '*.desktop' > desktop_file_list
# read and grep each one looking for ( in this case ) 'Hangouts'
while read p; do if [ -f "$p" ] && grep -q Hangouts "$p" ; then echo "$p"; echo; cat "$p"; echo; echo; fi ; done < desktop_file_list
# rename
sudo mv /path/to/desktop/file.desktop /path/to/desktop/file.desktop.bak
然后尝试在开始菜单或任何方式中打开该程序。就我而言,使用 Gnome 3,点击super然后输入程序名称。
如果文件错误,请重复该sudo mv
命令,将 .desktop 与 .desktop.bak 交换