如何找到快速启动图标指向的位置

如何找到快速启动图标指向的位置

当我将鼠标悬停在快速启动图标上时,会显示底层应用程序的名称。但我如何才能找到真正被调用的应用程序?

在 MS Windows 环境中,我会右键单击图标并选择属性 - 然后就会显示要执行的文件的路径。

出现这种情况是因为我的“文件”快速启动图标没有任何作用,经过大量研究才意识到该图标实际上链接到 /usr/bin/nautilus。

答案1

在 GNU/Linux 中我们使用.desktop又称为“桌面条目”的文件,它们位于:

/usr/share/applications/

也可以按用户查找:

~/.local/share/applications/

这里

桌面条目规范为应用程序集成到桌面环境提供了标准。桌面条目是配置文件,描述了应用程序如何启动以及它可以处理哪些数据。它们还配置了应用程序如何以图标形式显示在菜单中,这受相关菜单规范标准的约束。

您也可以使用命令来找到它们locate

locate nautilus.desktop

或者

locate nautilus | grep ".desktop"

让我们看看里面有什么nautilus.desktop

$ cat /usr/share/applications/nautilus.desktop

[Desktop Entry]
NotShowIn=Unity;
Name=Files
Comment=Access and organize files
Keywords=folder;manager;explore;disk;filesystem;
Exec=nautilus --new-window %U

如您所见,名称是“Files”,但它会执行nautilus --new-window %U。对于命令nautilus本身,您应该知道我们可以使用它which来找出它的位置:

$ which nautilus
/usr/bin/nautilus

要按名称找到它们,您可以按照如下方式操作,假设我们想通过单击名为“文件”的图标来知道将执行哪个程序:

 grep -lRi name=files /usr/share/applications/
  • -l:仅显示文件名
  • -R:重新检查
  • -i:区分大小写

它将输出:

/usr/share/applications/org.gnome.Nautilus.desktop
/usr/share/applications/nautilus-folder-handler.desktop
/usr/share/applications/nautilus.desktop

然后我可以查看这些文件以Exec=查看真正运行的是哪个程序。

类似这样的操作会更加方便:

grep -lRi name=files /usr/share/applications/ | xargs grep exec= -i

相关内容