Ich habe eine .desktop
Datei zum Starten eines Python-Programms in einer bestimmten Conda-Umgebung, wie folgt:
[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
Das hat früher funktioniert, aber ich habe vor Kurzem meine Python-Umgebung optimiert.
Nun kann in einem Terminal der gleiche Befehl
$ bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"
führt die Anwendung aus, die .desktop
Datei jedoch nicht.Wie finde ich heraus, welcher Fehler das ist?
Meine anderen .desktop
Dateien laufen einwandfrei. Ich nehme an, dass mit meiner Python-Umgebung etwas nicht stimmt, die im Moment ziemlich hackig ist (was der Hauptgrund ist, dies conda
zunächst in einer dedizierten Umgebung auszuführen).
Zachary Brady hat ursprünglich vorgeschlagen (aber es gibtProbleme) xdg-open
kann Dateien ausführen .desktop
, aber es wird mir ein Meldungsfeld angezeigt, das besagt:
Fehler
Dem Panel konnte kein Plugin hinzugefügt werden
Es wurde keine laufende Instanz von xfce4-panel gefunden
sowohl dafür .desktop
als auch für ein anderes, das ansonsten funktioniert. (Ich verwende einfaches Ubuntu, kein Xfce).
Antwort1
Sie können auch das Validierungstool verwendenDesktop-Datei-Validierungum weitere Probleme zu finden.
(siehe auch:Wie validiere/verifiziere ich .desktop-Dateien?)
# 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
Antwort2
Normalerweise füge ich Folgendes hinzu, um zu sehen, was ausgeführt wird:
Terminal=true
TerminalOptions=\s--noclose
Antwort3
Unter Linux Mint heißt der Dateimanagerdienst nemo
, nemo kann durch Eingabe von: beendet werden.
nemo -q
Wenn Ihr Dateimanager gestoppt ist, können Sie ihn in einem Terminal öffnen
nemo
Es druckt nun sein Protokoll auf diesem Terminal. Wenn Sie Ihre *.desktop-Datei öffnen, sollten Sie die Standardausgabe der Exec-Zeile Ihres *.desktops sehen können.
Antwort4
xdg-open
und exo-open
werden zum Öffnen von Dateien (im jeweiligen zugehörigen Programm) verwendet. Sie waren nie dazu gedacht, etwas eigenständig auszuführen. Zum Ausführen des von einem Desktop definierten Befehls können Sie verwendendex.