![如何找到从 dock 启动的程序的路径(在软件管理器中不可见)](https://linux22.com/image/981455/%E5%A6%82%E4%BD%95%E6%89%BE%E5%88%B0%E4%BB%8E%20dock%20%E5%90%AF%E5%8A%A8%E7%9A%84%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%88%E5%9C%A8%E8%BD%AF%E4%BB%B6%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%AD%E4%B8%8D%E5%8F%AF%E8%A7%81%EF%BC%89.png)
我正在使用 VPN 客户端“Cisco Anyconnect”,它是通过我的大学提供的 .sh 脚本安装的,因此在软件管理器中不可见。
大多数情况下,我从搜索栏或 Dock 启动它,那里有一个图标。但有时 Unity GUI 会停止工作,我无法访问搜索栏或 Dock。当这种情况发生时,我无法启动 Anyconnect 客户端,因为我不知道它在哪里。
我假设某个地方有一个 dock 配置文件,它指向实际的可执行文件,如果我知道路径,我就可以从终端运行它。如何找到它?
答案1
它将位于一个.desktop
文件中。
运行此命令:
gsettings get com.canonical.Unity.Launcher favorites
它将给出如下输出:
['application://ubiquity.desktop', 'application://nautilus.desktop', 'application://firefox.desktop', 'application://libreoffice-writer.desktop']
如果您已将其锁定到侧边栏,它将显示在该列表中。
它可能位于两个地方,/usr/share/applications/
或~/.local/share/applications
。
我们将在它们两者中查找命令ls
,以及grep
我们上面找到的名称,例如cisco
。
ls /usr/share/applications/ | grep cisco
您可能会找到一个文件。如果没有,请在另一个文件夹中再次使用该命令:
ls ~/.local/share/applications | grep cisco
-->
现在,当您找到该文件时(如果找到的话),使用以下命令cat
:
cat /usr/share/applications/cisco.desktop
它将给出如下输出(这是的文件idle3
):
[Desktop Entry]
Name=IDLE 3
Comment=Integrated DeveLopment Environment for Python3
Exec=/usr/bin/idle3
Icon=/usr/share/icons/Ultra-Flat/apps/scalable/idle3.svg
Terminal=false
Type=Application
Categories=Application;Development;
StartupNotify=true
请注意这一exec
行:
Exec=/usr/bin/idle3
这向我们显示了可执行文件的位置。按照那里写的方式运行它。