如何找到给定二进制文件的 .desktop 信息?

如何找到给定二进制文件的 .desktop 信息?

给定可执行文件的路径(比如/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.。

相关内容