¿Cómo depuro un archivo .desktop?

10

Tengo un .desktoparchivo para iniciar un programa de Python en un entorno conda específico, como este:

[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

Esto solía funcionar, pero modifiqué mi entorno de Python recientemente.

Ahora, en una terminal, el mismo comando

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

ejecuta la aplicación, pero el .desktoparchivo no. ¿Cómo me entero debido a qué error es ese?

Mis otros .desktoparchivos funcionan bien, supongo que algo va mal con mi entorno Python, que es bastante hack por el momento (que es la razón principal para ejecutar esto en un condaentorno dedicado para empezar).

Zachary Brady sugirió originalmente (pero hay problemas ) que xdg-openpodría ejecutar .desktoparchivos, pero me da un cuadro de mensaje que dice

Error

No se pudo agregar un complemento al panel

No se encontró ninguna instancia en ejecución de xfce4-panel

tanto para esto .desktopcomo para otro que de lo contrario funciona. (Estoy ejecutando Ubuntu simple, no xfce).

Anaphory
fuente
Eliminé mi respuesta después de leer más sobre que xdg-openha estado molesta por bastante tiempo y solo abre los íconos del escritorio en editores de texto ...
Zachary Brady
Resulta que el problema era un no sustituido ~(que aparece como " ~", no como " /home/anaphory") en la ruta de Python, que descubrí agregando env > check;en el medio del comando. ¡Pero estoy seguro de que hay una mejor manera de depurar esto!
Anaphory

Respuestas:

3

También puede usar la herramienta de validación desktop-file-validate para encontrar más problemas.

(ver también: ¿Cómo validar / verificar archivos .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
fuente
1

En Linux Mint, se nombra el servicio File Manager nemo, se puede salir de nemo emitiendo:

nemo -q

Con su administrador de archivos detenido, puede abrirlo en una terminal

nemo

Ahora imprimirá su registro en este terminal, cuando vaya a abrir su archivo * .desktop, debería poder ver la salida estándar de la línea Exec de su * .desktop.

ThorSummoner
fuente
Ah, y cuando haya finalizado la depuración, presione Ctrl + C en el terminal que ejecuta nemo y ábralo a través del menú de inicio, o vuelva a registrar su sesión de escritorio.
ThorSummoner
0

Normalmente agrego lo siguiente para ver lo que se está ejecutando:

Terminal=true
TerminalOptions=\s--noclose
usuario375770
fuente
0

xdg-openy exo-opense usan para abrir archivos (en sus respectivos programas asociados). Nunca debieron ejecutar nada por su cuenta. Para ejecutar el comando definido por un escritorio, puede usar dex .

Hermann
fuente