Aprender a ejecutar aplicaciones automáticamente al arranque es una algo muy importante en una gran cantidad de proyectos con Raspberry Pi.
Por ejemplo, porque quieres iniciar un servidor web, una aplicación personalizada o un script. O incluso conectarnos con un dispositivo físico, como una pantalla, un sensor, un actuador.
Existen varias opciones para configurar tu Raspberry Pi de manera que ejecute estas aplicaciones automáticamente cada vez que se inicie. Aquí tenéis una tabla con diferentes opciones para lograrlo.
Método | Descripción |
---|---|
rc.local | Método sencillo pero menos flexible |
systemd | Ofrece un control más detallado |
Autostart | Perfecto para aplicaciones gráficas en el entorno de escritorio |
cron | Buena opción para scripts simples y tareas programadas |
Como no podía ser de otra forma (si no el mundo sería muy fácil) cada uno de estos métodos tiene sus propias ventajas y desventajas. En este artículo, exploraremos las diferentes opciones disponibles
Usar rc.local
Para configurar el archivo rc.local
y ejecutar una aplicación al arranque, comenzamos abriendo el archivo /etc/rc.local
en un editor de texto con permisos de superusuario utilizando el siguiente comando:
sudo nano /etc/rc.local
Dentro del archivo, antes de la línea exit 0
, añadimos el comando para iniciar nuestra aplicación o script. Por ejemplo, para ejecutar un script Python, añadimos:
/usr/bin/python3 /home/pi/miscripts/miscript.py &
Es importante añadir el &
al final del comando para asegurar que el proceso se ejecute en segundo plano.
Después de añadir el comando, guardamos el archivo y cerramos el editor usando Ctrl+X
, luego Y
, y presionamos Enter
.
Finalmente, reiniciamos nuestra Raspberry Pi para verificar que el comando se ejecuta correctamente utilizando el comando:
sudo reboot
Usar systemd
systemd
es el sistema de inicio y gestión de servicios utilizado en Raspberry Pi OS. Proporciona un método más moderno y flexible para ejecutar aplicaciones al arranque.
Para configurar un servicio con systemd
, comenzamos creando un nuevo archivo de servicio en /etc/systemd/system/
. Por ejemplo, para un servicio llamado mi_aplicacion
, utilizamos el siguiente comando:
sudo nano /etc/systemd/system/mi_aplicacion.service
Dentro del archivo, introducimos la siguiente configuración:
[Unit]
Description=Mi Aplicación
[Service]
ExecStart=/usr/bin/python3 /home/pi/miscripts/miscript.py
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
ExecStart
: Ruta al ejecutable o script.Restart
: Configuración para reiniciar el servicio si falla.User
: Usuario que ejecutará el servicio.
Después de añadir la configuración, guardamos el archivo y cerramos el editor.
Para que systemd
reconozca el nuevo servicio, recargamos la configuración con el siguiente comando:
sudo systemctl daemon-reload
Luego, iniciamos el servicio y lo habilitamos para que se inicie al arranque:
sudo systemctl start mi_aplicacion
sudo systemctl enable mi_aplicacion
Finalmente, comprobamos el estado del servicio para asegurarnos de que está funcionando correctamente:
sudo systemctl status mi_aplicacion
Agregar el script al directorio autostart
Este método es útil para aplicaciones gráficas y scripts que deben iniciarse en el entorno de escritorio.
Para configurar el autostart, comenzamos creando un archivo de entrada en el directorio ~/.config/autostart/
. Por ejemplo, para una aplicación llamada mi_aplicacion
, utilizamos los siguientes comandos:
mkdir -p ~/.config/autostart
nano ~/.config/autostart/mi_aplicacion.desktop
Dentro del archivo, introducimos la siguiente configuración:
[Desktop Entry]
Type=Application
Exec=/usr/bin/python3 /home/pi/miscripts/miscript.py
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Mi Aplicación
Comment=Inicia mi aplicación al arranque
Después de añadir la configuración, guardamos el archivo y cerramos el editor usando Ctrl+X
, luego Y
, y presionamos Enter
.
Finalmente, reiniciamos el entorno de escritorio o la Raspberry Pi para aplicar los cambios. Utilizamos el comando:
sudo reboot
Usar Cron
El comando cron
permite programar tareas, y con la opción @reboot
, puedes ejecutar scripts al arranque.
Para configurar cron
, primero abrimos el archivo crontab del usuario actual utilizando el siguiente comando:
crontab -e
Dentro del archivo crontab, añadimos una línea para ejecutar nuestro script al arranque. Por ejemplo, podemos añadir:
@reboot /usr/bin/python3 /home/pi/miscripts/miscript.py
Después de añadir la entrada, guardamos el archivo y cerramos el editor usando Ctrl+X
, luego Y
, y presionamos Enter
.
Finalmente, reiniciamos nuestra Raspberry Pi para verificar que el script se ejecuta correctamente. Utilizamos el comando:
sudo reboot