Quiero ejecutar un script que cambie la asignación de mi teclado desde las aplicaciones de inicio. El script está en mi carpeta de inicio y tiene permisos 755.
Creé una nueva entrada en Sistema -> Preferencias -> Aplicaciones de inicio y probé los siguientes comandos:
/bin/bash /home/myuser/myscript.sh
/sbin/sh /home/myuser/myscript.sh
/home/myuser/myscript.sh
Ninguno de ellos funcionó. Los mismos comandos funcionan bien cuando los ejecuto manualmente desde una terminal.
Conozco otras formas de ejecutar un script al inicio, pero quiero saber por qué este método no me funciona.
Respuesta aceptada:
Scripts de inicio, relacionados con la configuración del teclado o del panel táctil, o incluir wmctrl
o xrandr
los comandos a menudo necesitan "un pequeño descanso" antes de ejecutarse. Si se ejecutan demasiado pronto, antes de que el escritorio esté completamente cargado, se rompen o "pierden su objetivo".
Para resolver eso, necesitas agregar:
/bin/bash -c "sleep 10 && /home/myuser/myscript.sh"
a sus aplicaciones de inicio. Posiblemente necesites jugar un poco con el sleep 10
valor a optimizar.
Nota
Probablemente el script existe de solo uno o dos comandos, usted podría inclúyalos en su comando de inicio, con la misma sintaxis. De esa manera, no necesita un script separado.