Creé un my-app.desktop
archivo para un programa que escribí. Cuando hago doble clic en él, aparece el mensaje de error " Hubo un error al iniciar la aplicación ". ¿Cómo puedo obtener información más detallada sobre cuál es el problema?
Vi una referencia a una sección de "detalles" del cuadro de diálogo, pero no hay nada como eso presente en el que veo. Si estuviera en mi Mac, abriría la aplicación Consola para ver si se registraron errores, pero no he aprendido nada similar en Ubuntu.
(Tenga en cuenta que, a diferencia de otras preguntas con títulos similares, no pregunto qué tiene de malo este archivo .desktop en particular; quiero saber cómo averiguarlo en general).
PATH
). Quiero saber cómo obtener exactamente el mismo entorno que un lanzamiento normal pero con más información de diagnóstico.Exec=
camino. Recuerde, debe tenerExec=
entre comillas yPath=
sin comillas.Respuestas:
Aquí hay un truco que puedes usar. Cree un script de envoltura para su aplicación que lo inicie y capture la salida del error:
Guarde eso como
~/foo.sh
y hágalo ejecutable conchmod +x ~/foo.sh
. Ahora, apunte su iniciador de escritorio hacia él. Algo como:Eso redirigirá los mensajes de error
~/myapp.log
y podrá examinarlos cuando lo desee. Puede usarlo2>>~/myapp.log
si desea que se agreguen mensajes de error sucesivos al archivo en lugar de sobrescribirlo.Como acotación al margen, la razón por la que el
$PATH
es diferente se debe a que es probable que esté configurando el$PATH
de~/.bahsrc
que no se lee por el entorno gráfico. También es una mala idea, ya$PATH
que se establecerá cada vez que abra una nueva terminal y eso es innecesario. Úselo~/.profile
para esto en su lugar. Para más detalles sobre qué archivos se leen cuando vea aquí y para más información sobre qué archivo debe usarse para qué, vea aquí .fuente
Encontré una respuesta a esta pregunta aquí: /ubuntu//a/836842
Prueba esto :
Produce errores en su
.desktop
archivo. Por ejemplo, el mío devolvió:Entonces, una vez que corregí el error tipográfico
Desktop Entry
, el script se ejecutó correctamente.fuente
Al ejecutar el siguiente comando en la terminal:
Estoy seguro de que descubrirá si hay un error o no en su comando asignado al
Exec
campo desde el interior de su archivo .desktop.fuente
por lo general, el terminal (salida) le brinda mucha información útil, tanto en la aplicación como en el archivo de escritorio. Un ejemplo: si ejecuto mi aplicación desde la terminal, escribiendo el comando en la terminal, se inicia la aplicación.
Sin embargo, si hay algo mal, puede esperar una salida como:
que le brinda mucha información útil, incluso la línea en su aplicación que causa el error. (Lo arruiné a propósito)
Lo mismo con el archivo de escritorio, simplemente abra un terminal en el directorio del archivo .desktop y arrástrelo al terminal. Si, por ejemplo, elimina la
Exec=
línea de un archivo .desktop, el terminal le dirá que no puede encontrar el comando para ejecutar.Para probar si la aplicación da un error, simplemente ejecute lo que puso después de la
Exec=
cadena.La salida del terminal suele ser muy específica y útil en informes de errores, como aquí .
fuente
Esto podría ayudar a otras personas: esta es la especificación oficial de los archivos del iniciador de escritorio
La sección importante es: Claves de entrada de escritorio reconocidas, que le muestran qué valores necesita.
fuente
Cuando realmente no puedo entenderlo, yo:
Luego haga clic derecho en el icono predeterminado que se crea y apunte a un mejor gráfico.
fuente
Para mí, el problema era una
Icon=
línea faltante (que parece un requisito estúpido para un lanzador que funcione). Mi archivo .desktop completo ahora se ve así:Lo cual no es particularmente robusto para los cambios en el usuario, pero lo que sea.
fuente