Erigami Asked: 2011-02-13 09:33:43 +0800 CST2011-02-13 09:33:43 +0800 CST 2011-02-13 09:33:43 +0800 CST 如何找到给定二进制文件的 .desktop 信息? 772 给定可执行文件的路径(例如/usr/bin/gvim),我如何找到该应用程序的 Gnome .desktop 文件? 我在 python 中胡闹,所以一个特定于 python 的答案将是最有帮助的。 gnome 5 个回答 Voted Best Answer Michael Terry 2011-02-14T05:36:24+08:002011-02-14T05:36:24+08:00 如果您想以编程方式执行此操作,请使用 python-gmenu。它为 Python 包装了 libgnome-menu2 API。 该 API 允许您遍历当前配置的所有桌面目录,并包括用户自定义的任何覆盖或修改。然后你只需查询每个文件,看看它的 Exec 行是否符合你的期望。 我找不到任何一个库的任何文档,但是自由使用“import gmenu; dir(gmenu)”并查看 /usr/include/gnome-menus/gmenu-tree.h 应该会有所帮助。 shellholic 2011-02-13T11:15:05+08:002011-02-13T11:15:05+08:00 如果您的软件包是从软件包安装的(不是从源代码安装的),您可以使用(在 Bash 中): dpkg -L $(dpkg -S /usr/bin/pidgin | cut -f1 -d: ) | grep \.desktop$ 在 的情况下gvim,它什么也不输出。你还有一个问题,其实gvim是另类。“真”gvim可以是多个节目。在我的电脑上是/usr/bin/vim.gnome. 让我们尝试一下。这也不起作用......因为.desktop在同一个包中没有vim.gnome. 事实上,在这种复杂的情况下,.desktopVim 的所有图形界面都在另一个包中:vim-gui-common Takkat 2011-02-13T10:25:10+08:002011-02-13T10:25:10+08:00 大多数应用程序的 .desktop 文件存储在: /usr/share/applications 一些 .desktop 文件也可能存储在: /usr/local/share/applications 或(对于每个用户设置)在: ~/.local/share/applications enzotib 2011-02-13T13:33:27+08:002011-02-13T13:33:27+08:00 您可以搜索所有桌面文件。例如,要查找与以下内容相关的桌面文件gedit: grep -li exec=gedit $(locate -r '\.desktop$') 001neeraj 2013-04-30T00:39:34+08:002013-04-30T00:39:34+08:00 你可以执行 1.sudo find /path_to_folder/ -iname *.desktop一般。2.sudo find / -iname *.desktop在你的情况下。
如果您想以编程方式执行此操作,请使用 python-gmenu。它为 Python 包装了 libgnome-menu2 API。
该 API 允许您遍历当前配置的所有桌面目录,并包括用户自定义的任何覆盖或修改。然后你只需查询每个文件,看看它的 Exec 行是否符合你的期望。
我找不到任何一个库的任何文档,但是自由使用“import gmenu; dir(gmenu)”并查看 /usr/include/gnome-menus/gmenu-tree.h 应该会有所帮助。
如果您的软件包是从软件包安装的(不是从源代码安装的),您可以使用(在 Bash 中):
在 的情况下
gvim
,它什么也不输出。你还有一个问题,其实gvim
是另类。“真”gvim
可以是多个节目。在我的电脑上是/usr/bin/vim.gnome
. 让我们尝试一下。这也不起作用......因为.desktop
在同一个包中没有vim.gnome
. 事实上,在这种复杂的情况下,.desktop
Vim 的所有图形界面都在另一个包中:vim-gui-common
大多数应用程序的 .desktop 文件存储在:
一些 .desktop 文件也可能存储在:
或(对于每个用户设置)在:
您可以搜索所有桌面文件。例如,要查找与以下内容相关的桌面文件
gedit
:你可以执行 1.
sudo find /path_to_folder/ -iname *.desktop
一般。2.sudo find / -iname *.desktop
在你的情况下。