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).

xdg-openha estado molesta por bastante tiempo y solo abre los íconos del escritorio en editores de texto ...~(que aparece como "~", no como "/home/anaphory") en la ruta de Python, que descubrí agregandoenv > check;en el medio del comando. ¡Pero estoy seguro de que hay una mejor manera de depurar esto!Respuestas:
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? )
fuente
En Linux Mint, se nombra el servicio File Manager
nemo, se puede salir de nemo emitiendo:Con su administrador de archivos detenido, puede abrirlo en una terminal
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.
fuente
Normalmente agrego lo siguiente para ver lo que se está ejecutando:
fuente
xdg-openyexo-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 .fuente