3 formas de ejecutar un programa o script de Raspberry Pi al inicio

Raspberry Pi es una computadora pequeña y rentable que viene en muchas formas y tamaños y facilita una gran cantidad de aplicaciones, que van desde algo tan simple como aprender a codificar hasta proyectos complejos de automatización del hogar; el ámbito de uso es ilimitado.

Una de las muchas características que hacen que la Raspberry Pi sea tan versátil es su capacidad para ejecutar todo tipo de programas, como una computadora normal. De hecho, no solo eso, incluso puede escribir sus propios scripts, para cualquier objetivo que tenga en mente, y ejecutarlos en el Pi.

¿Por qué querría ejecutar un programa al inicio?

Aunque la Raspberry Pi es capaz de ejecutar todo tipo de programas, aún debe ejecutar estos programas manualmente cada vez que desee ejecutarlos. Claramente, este enfoque implica un paso adicional. Y aunque no presenta muchos inconvenientes, hay casos en los que necesitaría que un programa se ejecute justo después de que se inicie la Raspberry Pi.

Por ejemplo, imagine usar su Raspberry Pi para monitorear los precios de las acciones: en el que ejecuta un script todos los días cuando arranca su Pi, y obtiene información de recursos predefinidos y la presenta en una pantalla.

Aquí, a pesar de agilizar el proceso de seguimiento de los precios de las acciones, aún debe ejecutar el script todos los días. Sin embargo, gracias a la automatización, es posible eliminar la entrada manual de la ecuación haciendo que su Pi ejecute el script automáticamente al inicio.

Es para situaciones como estas en las que desea ejecutar un programa al inicio.

Cómo ejecutar un programa al inicio

Hay varias formas de ejecutar un programa al inicio en Raspberry Pi. Sin embargo, para esta guía, aprenderá a usar tres de estos métodos efectivos y fáciles de seguir.

Nota: Hemos utilizado estos métodos para ejecutar nuestro script Python , y puede hacerlo con cualquiera de sus scripts o incluso con los programas integrados en Raspberry Pi. Solo asegúrese de que está utilizando el método correcto para ejecutar su programa.

1. Utilice el archivo rc.local

rc.local es un archivo administrado por el sistema que se ejecuta después de que se inician todos los servicios del sistema, es decir, después de cambiar a un nivel de ejecución multiusuario. Es el método más sencillo para hacer que los programas se ejecuten al arrancar en sistemas Linux. Pero hay una advertencia: solo puede usar este método para programas sin elementos GUI (interfaz gráfica de usuario), ya que rc.local se ejecuta antes de que se inicie el sistema de ventanas de Raspberry Pi.

Leer más: ¿Qué es una GUI?

Para configurar un programa para que se ejecute en el arranque, necesitamos modificar el archivo rc.local y agregarle comandos. He aquí cómo hacerlo.

  1. Abra la terminal y escriba el siguiente comando para abrir el archivo rc.local: sudo nano /etc/rc.local .
  2. En el archivo rc.local, ingrese la siguiente línea de código antes de la línea "exit 0": python3 /home/pi/PiCounter/display.py & .
    rc.local
  3. Aquí, reemplace PiCounter / display.py con el nombre de su programa / script. Además, asegúrese de utilizar la ruta absoluta a su programa y no su ruta relativa. Observe que el comando termina con el símbolo comercial (&).
  4. Esto para informar al sistema de que el programa que estamos programando se ejecuta de forma continua, por lo que no debe esperar a que finalice el script antes de iniciar la secuencia de arranque. Tenga en cuenta que si no agrega el signo comercial en el comando, el script se ejecutará para siempre y su Pi nunca se iniciará.
  5. Después de eso, presione CTRL + O para guardar el archivo. En la terminal, ingrese sudo reboot .

Una vez que su Pi se inicia, debería ejecutar su programa automáticamente. Si, por alguna razón, desea detener la ejecución del programa al arrancar, edite el archivo rc.local nuevamente para eliminar la línea que acaba de agregar.

2. Utilice Cron para programar un programa

Cron es una utilidad de configuración y programación de trabajos en sistemas similares a Unix. Le permite programar los programas que desea ejecutar a intervalos fijos o periódicamente.

La funcionalidad de Cron se basa en el demonio crond, que es un servicio en segundo plano que ejecuta programas programados en crontab. Todos los programas programados en el sistema residen en la tabla de trabajos cron (o crontab).

Por lo tanto, deberá modificar esta tabla para agregar una programación para el programa que desea ejecutar al inicio. Así es cómo:

  1. Abra la CLI en su Raspberry Pi e ingrese crontab -e para editar la tabla de trabajos cron (crontab). Si abre crontab por primera vez, deberá seleccionar un editor. Puede elegir su editor preferido o continuar con Nano. En cualquier caso, ingrese el nombre del editor y presione Enter .
  2. Para hacer una entrada en la tabla cron, ingrese el comando: @reboot python3 /home/pi/PiCounter/display.py & . En su comando, asegúrese de reemplazar el nombre del programa y su ruta.
    cron
  3. Presione CTRL + O para escribir la línea en el crontab.
  4. Escriba sudo reboot en la terminal para reiniciar su Pi.

Cron ahora debería ejecutar su programa cada vez que se inicie su Pi. Si desea detener esta programación, elimine el comando en crontab.

3. Ejecute programas de GUI en el inicio con inicio automático

El inicio automático es la mejor manera de ejecutar programas Raspberry Pi basados ​​en GUI al inicio. Funciona asegurando que tanto el sistema X Window como el entorno de escritorio LXDE estén disponibles antes de que el sistema ejecute cualquiera de los programas programados.

Si tiene un script que se ejecuta en el modo de ventana, o si desea ejecutar cualquiera de los programas / aplicaciones basados ​​en GUI al inicio de su Raspberry Pi, debe programarlos para que se ejecuten utilizando el inicio automático. Estos son los pasos para hacer esto.

  1. Primero, abra la terminal e ingrese el siguiente comando para crear un archivo .desktop en el directorio de inicio automático: sudo nano /etc/xdg/autostart/display.desktop . Hemos utilizado display.desktop como nombre de archivo, pero puede nombrar su archivo de escritorio como desee.
  2. En el archivo .desktop, agregue las siguientes líneas de código:
     [Desktop Entry]
    Name=PiCounter
    Exec=/usr/bin/python3 /home/pi/PiCounter/display.py
  3. En este archivo, reemplace el valor del campo Nombre con el nombre de su proyecto / script. De manera similar, hemos agregado nuestro programa display.py para que se ejecute cada vez que se inicie la Raspberry Pi.
  4. Sin embargo, puede reemplazarlo con cualquier programa que desee ejecutar. De hecho, incluso puede programar la ejecución de un programa de terceros, como el navegador Chrome; en cuyo caso, el archivo .desktop debe incluir el siguiente código:
     [Desktop Entry]
    Name=Chrome
    Exec=chromium-browser
  5. Después de eso, presione CTRL + O para guardar el archivo, y luego ingrese sudo reboot para reiniciar el Pi.

Tan pronto como su Pi se inicie, su programa GUI también debería iniciarse automáticamente. En caso de que desee que su programa deje de ejecutarse al inicio, simplemente vaya a la carpeta de inicio automático y elimine el archivo .desktop que acaba de crear.

Ejecución exitosa de un programa al inicio en Raspberry Pi

Si bien hay muchas formas de ejecutar un programa al inicio en sistemas basados ​​en Linux, los métodos que hemos mencionado en esta guía deberían ayudarlo a programar programas en la Raspberry Pi.

Entonces, no importa qué tipo de programa desee ejecutar, un script personalizado o una aplicación de terceros, estos métodos deberían tenerlo cubierto. Y debería poder reducir el paso adicional requerido para ejecutar el programa cada vez que desee ejecutarlo.