Ejecute shell en una ruta relativa en el iniciador de ubuntu

Ejecute shell en una ruta relativa en el iniciador de ubuntu

Creé este lanzador que ejecuta un shell:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=/full/path/server.sh
Name=MServer
Comment=foo
Icon=gnome-sudoku

Lo necesito para ejecutar una ruta relativa porque no conozco la ruta completa:

Exec=server.sh

Pero el código anterior con ruta relativa no funciona. ¿Cómo puedo ejecutar desde la ruta relativa?

Respuesta1

Elcorreo@FedonKadifeli sugirió que me ayudó.

La posible solución puede ser:

Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/.sh/server.sh\\";$SHELL" %k

Explicando el comando:

El siguiente fragmento obtendrá el nombre del directorio de quién lo está ejecutando y, por lo tanto, el nombre del directorio del iniciador.

$(dirname \\"\\$0\\")

Entonces, agregar la ruta deseada hará que se ejecute la ruta relativa.

información relacionada