Cómo ejecutar aplicaciones automáticamente al arranque en Raspberry Pi 3
Aprender a ejecutar aplicaciones automáticamente al arranque es muy importante en una gran cantidad de proyectos con Raspberry Pi. Esto es útil, por ejemplo, porque quieres iniciar un servidor web, una aplicación personalizada o un script. También es crucial para conectar la Raspberry Pi con dispositivos físicos, como una pantalla, un sensor o un actuador.
Existen varias opciones para configurar tu Raspberry Pi de manera que ejecute estas aplicaciones automáticamente cada vez que se inicie. A continuación, exploraremos las diferentes opciones disponibles para lograrlo.
Por desgracia, Raspberry Pi OS no incluye una herramienta para iniciar aplicaciones al arrancar, así que tendrás que encontrar el comando que lanza el programa. Para que se ejecute al arrancar, asegúrate de que tu script sea ejecutable.
Métodos para ejecutar aplicaciones al arranque
Aquí tienes una tabla con diferentes opciones para lograr que tus aplicaciones se ejecuten automáticamente al inicio:
| Método | Descripción |
|---|---|
| rc.local | Método sencillo pero menos flexible |
| systemd | Ofrece un control más detallado y es el sistema de inicio y gestión de servicios |
| 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, cada uno de estos métodos tiene sus propias ventajas y desventajas. La elección dependerá de tus necesidades específicas y del tipo de aplicación que desees ejecutar.
1. Usar rc.local
El método rc.local es una solución sencilla para ejecutar comandos al inicio. 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, permitiendo que el arranque del sistema continúe.
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
2. 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. Te permite controlar tu programa usando el comando 'systemctl', como lo harías con otros servicios como VNC o Nginx.
Para configurar un servicio con systemd, comenzamos creando un nuevo archivo de servicio en /etc/systemd/system/. Una vez creado y configurado tu servicio, debes habilitarlo con:
sudo systemctl enable mi_aplicacion
Finalmente, comprobamos el estado del servicio para asegurarnos de que está funcionando correctamente:
sudo systemctl status mi_aplicacion
Si quieres configurar esto de manera más adecuada, puedes agregar opciones de inicio, detención y reinicio a tu servicio.
3. 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. Por cierto, lo que haremos será ejecutar un programa o comando tan pronto el sistema operativo esté listo y el escritorio sea mostrado. Esto sirve para Raspbian si tienes escritorio; si solo usas la consola o algo así puede que quieras usar crontab.
Para configurar el autostart, comenzamos creando un archivo de entrada con extensión .desktop en el directorio ~/.config/autostart/. También es posible crear este archivo en /etc/xdg/autostart/.
Dentro de este archivo .desktop, deberás añadir una configuración similar a esta:
[Desktop Entry]Type=ApplicationExec=/ruta/a/tu/script.shHidden=falseNoDisplay=falseX-GNOME-Autostart-enabled=trueName=Mi Aplicación de ArranqueComment=Inicia mi aplicación al arranque
En el campo Name puedes colocar cualquier nombre. De preferencia que describa tu programa. Y en Exec coloca el comando que quieres ejecutar. Por ejemplo, para ejecutar un script sh que a su vez invoca a un script de Python y luego invoca un binario propio del sistema, se podría usar /bin/sh /home/pi/iniciar.sh.
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.
4. Usar cron
Cron es un servicio que se inicia automáticamente al arrancar y permite al usuario ejecutar tareas programadas. El crontab tiene muchas configuraciones para iniciar un script a una hora o programa específicos (diariamente, semanalmente, 3 veces al mes, etc.). Es una buena opción para scripts simples y tareas programadas.
Para añadir un comando al crontab que se ejecute al reiniciar, puedes usar el comando crontab -e y añadir una línea como esta:
@reboot /ruta/a/tu/script.sh
Esto ejecutará el script especificado cada vez que la Raspberry Pi se reinicie.
¡Eso es todo! Ahora sabes cuatro formas de iniciar automáticamente un programa al arrancar. ¡Ahora estás listo para crear tus propios scripts y programarlos para que se ejecuten al arrancar!
Monitorizar temperatura Raspberry Pi
