Pregunta

He desarrollado una aplicación en Qt que utiliza un script de lanzamiento, myapp.sh. He creado un archivo .desktop que pone en marcha este script, y un conjunto:

Comando: $PWD/myapp.sh

Trabajo ruta: $PWD

Sin embargo, $PWD imprime mi directorio cuando inicio el archivo .desktop, lo que resulta en el intento de lanzamiento ~/myapp.sh en lugar de ~/Development/build-directory/bin/myapp.sh (siendo ese directorio donde reside el archivo .desktop). Por qué no está poniendo correctamente el directorio de trabajo donde el archivo .desktop se encuentra realmente y cómo puedo evitar esto sin tener que especificar una ruta absoluta en el archivo .desktop?

¿Fue útil?

Solución

$PWD mantiene la corriente directorio de trabajo de la cáscara, que no tiene nada que ver con el ubicación del archivo .desktop .. Una manera de hacerlo es con:

Exec=$(dirname %k)/myapp.sh

la especificación , %k es "La ubicación del archivo de escritorio, ya sea como un URI (si por ejemplo metido desde el sistema de carpeta virtual) o un nombre de archivo local o vacía si no se conoce la ubicación ". Así que esto es myapp.sh en el mismo directorio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top