Comment déboguer un fichier .desktop?

10

J'ai un .desktopfichier pour démarrer un programme python dans un environnement conda spécifique, comme ceci:

[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

Cela fonctionnait auparavant, mais j'ai récemment peaufiné mon environnement python.

Maintenant, dans un terminal, la même commande

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

exécute l'application, mais pas le .desktopfichier. Comment puis-je savoir en raison de quelle erreur il s'agit?

Mes autres .desktopfichiers fonctionnent bien, je suppose que quelque chose ne va pas avec mon environnement Python, qui est assez hack pour le moment (ce qui est la principale raison de l'exécuter dans un condaenvironnement dédié pour commencer).

Zachary Brady a suggéré à l'origine (mais il y a des problèmes ) xdg-openpourrait exécuter des .desktopfichiers, mais cela me donne une boîte de message disant

Erreur

Impossible d'ajouter un plugin au panneau

Aucune instance en cours d'exécution de xfce4-panel n'a été trouvée

à la fois pour cela .desktopet pour un autre qui fonctionne autrement. (Je lance Ubuntu, pas de xfce).

Anaphory
la source
J'ai supprimé ma réponse après en avoir lu plus, elle xdg-opena été buggée pendant un bon moment et n'ouvre que les icônes du bureau dans les éditeurs de texte ...
Zachary Brady
Il s'avère que le problème était un non substitué ~(apparaissant comme " ~", pas comme " /home/anaphory") dans le chemin Python, que j'ai découvert en ajoutant env > check;au milieu de la commande. Mais je suis sûr qu'il existe une meilleure façon de déboguer cela!
Anaphory

Réponses:

3

Vous pouvez également utiliser l'outil de validation desktop-file-validate pour rechercher d'autres problèmes.

(voir aussi: Comment valider / vérifier les fichiers .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
Jonas Stein
la source
1

Sous Linux Mint, le service File Manager est nommé nemo, nemo peut être quitté en émettant:

nemo -q

Avec votre gestionnaire de fichiers arrêté, vous pouvez l'ouvrir dans un terminal

nemo

Il va maintenant imprimer son journal sur ce terminal, lorsque vous allez ouvrir votre fichier * .desktop, vous devriez pouvoir voir la sortie standard de la ligne Exec de votre * .desktop.

ThorSummoner
la source
Oh, et lorsque vous avez terminé le débogage, Ctrl + C le terminal exécutant nemo, et ouvrez-le via votre menu de démarrage, ou reconnectez votre session de bureau.
ThorSummoner
0

J'ajoute normalement ce qui suit pour voir ce qui est exécuté:

Terminal=true
TerminalOptions=\s--noclose
user375770
la source
0

xdg-openet exo-opensont utilisés pour ouvrir des fichiers (dans leur programme associé respectif). Ils n'étaient jamais censés exécuter quoi que ce soit par eux-mêmes. Pour exécuter la commande définie par un bureau, vous pouvez utiliser dex .

Hermann
la source