给定可执行文件的路径(比如/usr/bin/gvim
),我如何找到该应用程序的 Gnome .desktop 文件?
我正在研究 python,因此特定于 python 的答案将非常有帮助。
答案1
如果您想以编程方式执行此操作,请使用 python-gmenu。它为 Python 包装了 libgnome-menu2 API。
该 API 允许您迭代当前配置的所有桌面目录,并包括用户自定义的任何覆盖或修改。然后您只需查询每个文件以查看其 Exec 行是否符合您的预期。
我找不到这两个库的任何文档,但自由使用“import gmenu; dir(gmenu)”并查看 /usr/include/gnome-menus/gmenu-tree.h 应该会有所帮助。
答案2
如果您的软件包是从软件包安装的(而不是从源代码安装的),您可以使用(在 Bash 中):
dpkg -L $(dpkg -S /usr/bin/pidgin | cut -f1 -d: ) | grep \.desktop$
在 的情况下gvim
,它什么也不输出。你还有另一个问题,事实上,gvim
是一个选择。“true”gvim
可以是多个程序。在我的电脑上是/usr/bin/vim.gnome
。让我们试试看。这也行不通……因为.desktop
在同一个包中没有vim.gnome
。事实上,在这个复杂的情况下,.desktop
在另一个 Vim 所有图形界面共有的包中:vim-gui-common
答案3
大多数应用程序的 .desktop 文件存储在:
/usr/share/applications
一些 .desktop 文件也可能存储在:
/usr/local/share/applications
或(针对每个用户设置):
~/.local/share/applications
答案4
sudo find /path_to_folder/ -iname *.desktop
一般情况下,您可以执行 1.。而sudo find / -iname *.desktop
对于您的情况,可以执行 2.。