Как мне найти информацию .desktop для данного двоичного файла?

Учитывая путь к исполняемому файлу (скажем, /usr/bin/gvim), как я могу найти файл .desktop Gnome для этого приложения?

Я слоняюсь по питону, так что специфичный для питона ответ был бы наиболее полезным.

4
задан 22 November 2012 в 02:01

5 ответов

Если вы хотите сделать это программно, используйте python-gmenu. Он включает API libgnome-menu2 для Python.

Этот API-интерфейс позволяет перебирать все каталоги рабочего стола, которые в данный момент настроены, и включает любые переопределения или модификации, настроенные пользователем. Затем вы просто запрашиваете каждый файл, чтобы увидеть, соответствует ли его строка Exec тому, что вы ожидаете.

Я не смог найти никакой документации ни для одной библиотеки, но либеральное использование «import gmenu; dir (gmenu)» и просмотр /usr/include/gnome-menus/gmenu-tree.h должны помочь.

0
ответ дан 22 November 2012 в 02:01

Файлы .desktop для большинства приложений хранятся в:

/usr/share/applications

некоторые файлы .desktop также могут храниться в:

/usr/local/share/applications

или (для пользовательских настроек) :

~/.local/share/applications
0
ответ дан 22 November 2012 в 02:01

Если ваш пакет установлен из пакета (не из источника), вы можете использовать (в Bash):

dpkg -L $(dpkg -S /usr/bin/pidgin | cut -f1 -d: ) | grep \.desktop$

В случае gvim он ничего не выводит. У вас есть другая проблема, фактически, gvim является альтернативой . «Истина» gvim может быть несколькими программами. На моем компьютере это /usr/bin/vim.gnome. Давайте попробуем с этим. Это тоже не работает ... потому что нет .desktop в том же пакете, что и vim.gnome. Фактически, в этом сложном случае, .desktop находится в другом пакете, общем для всех графических интерфейсов Vim: vim-gui-common

0
ответ дан 22 November 2012 в 02:01

Вы можете искать по всем файлам рабочего стола. Например, чтобы найти файл рабочего стола, связанный с gedit:

grep -li exec=gedit $(locate -r '\.desktop)
0
ответ дан 22 November 2012 в 02:01

Вы можете выполнить 1. sudo find /path_to_folder/ -iname *.desktop в общем. А 2. sudo find / -iname *.desktop в вашем случае.

0
ответ дан 22 November 2012 в 02:01

Другие вопросы по тегам:

Похожие вопросы: