Как отладить файл .desktop?

10

У меня есть .desktopфайл для запуска программы на Python в определенной среде conda, например:

[Desktop Entry]
Version=1.0
Name=Qutebrowser
GenericName=Web Browser
Comment=View and edit files
MimeType=text/html;
Exec=bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"
Icon=/vol/home/kaipingga/.config/qutebrowser.svg
Type=Application
Terminal=false
Categories=Network;Utility;X-Python;
StartupWMClass=Qutebrowser
X-Desktop-File-Install-Version=0.20

Раньше это работало, но я недавно подправил свою среду Python.

Теперь в терминале та же команда

$ bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"

запускает приложение, а .desktopфайл - нет. Как я узнаю из-за какой ошибки?

Мои другие .desktopфайлы работают нормально, я предполагаю, что что-то идет не так с моей средой Python, которая на данный момент довольно хакерская (что является основной причиной для запуска этого в выделенной condaсреде для начала).

Первоначально Захари Брейди предположил (но есть проблемы ), xdg-openможет запускать .desktopфайлы, но это дает мне окно сообщения, говорящее

ошибка

Не удалось добавить плагин на панель

Работающий экземпляр xfce4-панели не найден

и для этого .desktopи для другого, который иначе работает. (Я использую обычную Ubuntu, но не xfce).

Anaphory
источник
Я удалил свой ответ после прочтения в него, xdg-openон долго прослушивался и открывает только значки на рабочем столе в текстовых редакторах ...
Zachary Brady
Оказывается, что проблема была незамещенной ~(отображалась как « ~», а не как « /home/anaphory») в пути Python, который я обнаружил, добавив env > check;в середину команды. Но я уверен, что есть лучший способ отладить это!
Анафори

Ответы:

3

Вы также можете использовать средство проверки desktop-file-validate, чтобы найти больше проблем.

(см. также: Как проверить / проверить файлы .desktop? )

# Result for your example
$ desktop-file-validate qutebrowser.desktop 
test.desktop: hint: value "Network;Utility;X-Python;" for key "Categories"
in group "Desktop Entry" contains more than one main category; application
might appear more than once in the application menu
Джонас Стейн
источник
1

В Linux Mint служба File Manager называется nemo, nemo можно выйти, выполнив:

nemo -q

Когда ваш файловый менеджер остановлен, вы можете открыть его в терминале

nemo

Теперь он будет печатать свой журнал на этот терминал, когда вы откроете файл * .desktop, вы сможете увидеть стандартный вывод строки Exec вашего * .desktop.

ThorSummoner
источник
О, и когда вы закончите отладку, нажмите Ctrl + C на терминале, на котором запущен nemo, и откройте его через меню «Пуск», или перепишите сеанс рабочего стола.
ThorSummoner
0

Обычно я добавляю следующее, чтобы увидеть, что выполняется:

Terminal=true
TerminalOptions=\s--noclose
user375770
источник
0

xdg-openи exo-openиспользуются для открытия файлов (в соответствующей программе). Они никогда не должны были выполнять что-либо самостоятельно. Для выполнения команды, определенной на рабочем столе, вы можете использовать dex .

Герман
источник