En algunos casos, es necesario ejecutar el script al arrancar el sistema. Tales casos incluyen la necesidad de cambiar la resolución de la pantalla, lanzar ciertas aplicaciones y actualizar una utilidad en particular. La ejecución de un script puede implementarse de varias maneras. Puede hacerse utilizando un shell gráfico o el sistema de inicialización systemd, que ahora se utiliza en casi todas las distribuciones.
Lo primero que hay que hacer es crear un script en un lugar conveniente y ejecutarlo:
$ sudo gedit /script_path/script_name.sh
#!/bin/bash
echo "Hello world"
Este script mostrará mensajes de "Hola mundo" al usuario. Una vez que el programa está listo, hay que hacerlo ejecutable. Para ello se utiliza el siguiente comando:
$ sudo chmod ugo+x /script_path/script_name.sh
A continuación, en el menú principal del sistema, hay que ejecutar la utilidad "Ejecutar aplicaciones automáticamente".
Pulse el botón "Añadir" e introduzca la ruta completa al archivo de script en el campo "Comando". Puede pulsar el botón "Examinar", buscar y seleccionar el archivo de script y pulsar "Añadir".
A partir de ahora, el programa se ejecutará cada vez que inicies el shell gráfico de Ubuntu.
Utilice un comando especial para crear un archivo de servicio systemd
Este es el comando:
sudo systemctl edit --force myscript
You need to add the contents to this file:
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/full/path/to/script/script_name.sh
[Install]
WantedBy=multi-user.target
A continuación, en la línea llamada ExecStart debes cumplir uno de los siguientes requisitos: escribir la ruta al script o comando a ejecutar. Después de esto el script se añade al autoloader:
$ sudo systemctl daemon-reload
$ sudo systemctl enable mysrcipt
El programa se iniciará tras la inicialización del sistema. Para ello, puedes utilizar el método "antiguo": puedes utilizar rc.local
para crear el archivo /etc/rc.local
y escribir la ruta hacia él en la línea ExecStart del archivo de servicio.