Jak debugować plik .desktop?


10

Mam .desktopplik do uruchomienia programu w języku Python w określonym środowisku conda, na przykład:

[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

Kiedyś to działało, ale ostatnio poprawiłem środowisko Pythona.

Teraz w terminalu to samo polecenie

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

uruchamia aplikację, ale .desktopplik nie. Jak się dowiedzieć z powodu tego błędu?

Moje inne .desktoppliki działają poprawnie, zakładam, że coś poszło nie tak z moim środowiskiem Python, co jest w tej chwili dość hackerskie (co jest głównym powodem uruchomienia tego w dedykowanym condaśrodowisku na początek).

Zachary Brady początkowo sugerował (ale są problemy ), xdg-openże może uruchamiać .desktoppliki, ale wyświetla mi się okno komunikatu

Błąd

Nie udało się dodać wtyczki do panelu

Nie znaleziono działającej instancji panelu xfce4

zarówno dla tego, jak .desktopi dla innego, który inaczej działa. (Używam zwykłego Ubuntu, bez Xfce).


Usunąłem swoją odpowiedź po przeczytaniu większej ilości xdg-openbłędów, a od dłuższego czasu jest podsłuchiwany i otwiera się tylko ikony pulpitu w edytorach tekstów ...
Zachary Brady

Okazuje się, że problem był niepodstawiony ~(pojawiający się jako „ ~”, a nie jako „ /home/anaphory”) w ścieżce Pythona, co odkryłem, dodając env > check;w środku polecenia. Ale jestem pewien, że jest lepszy sposób na debugowanie tego!
Anafora,

Odpowiedzi:


3

Możesz także użyć narzędzia sprawdzania poprawności sprawdzania poprawności pliku na pulpicie, aby znaleźć więcej problemów.

(zobacz także: Jak sprawdzić / zweryfikować pliki .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

W Linux Mint nazwa usługi Menedżera plików jest nemomożliwa. Można wyjść z nemo, wydając:

nemo -q

Po zatrzymaniu menedżera plików możesz go otworzyć w terminalu

nemo

Teraz wydrukuje swój dziennik na tym terminalu, kiedy otworzysz plik * .desktop, powinieneś być w stanie zobaczyć standardowe wyjście linii wykonawczej * .desktop.


Aha, a po zakończeniu debugowania Ctrl + C terminal z uruchomionym nemo i otwórz go za pomocą menu Start lub ponownie zaloguj sesję pulpitu.
ThorSummoner

0

Zwykle dodaję następujące elementy, aby zobaczyć, co jest wykonywane:

Terminal=true
TerminalOptions=\s--noclose

0

xdg-openi exo-opensłużą do otwierania plików (w odpowiednim programie). Nigdy nie byli przeznaczeni do samodzielnego wykonania czegokolwiek. Aby wykonać polecenie zdefiniowane przez pulpit, możesz użyć dex .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.