Saltar al contenido

Cómo ejecutar un script en el arranque en Raspberry Pi

    1652400602

    Hay muchas razones por las que le gustaría ejecutar una secuencia de comandos Python, una aplicación u otro tipo de secuencia de comandos (por ejemplo, una secuencia de comandos Bash) cada vez que se inicia su Raspberry Pi. Tal vez tenga un robot o dispositivo IoT que debe estar listo para realizar una tarea tan pronto como se inicie la Raspberry Pi que lo alimenta. O tal vez solo desee tener un programa en particular ejecutándose en segundo plano en todo momento y no quiera tener que iniciarlo manualmente en cada sesión.

    Hay varias formas de iniciar automáticamente una secuencia de comandos en el arranque de Raspberry Pi, pero la más fácil es usar crontab, una función de programación que también le permite configurar las secuencias de comandos para que se ejecuten en momentos determinados.

    Cómo ejecutar un script en Raspberry Pi Boot

    1. Edite su lista crontab escribiendo:

    Puede iniciar crontab sin ingresar sudo, pero si lo hace, no podrá ejecutar scripts que requieran privilegios de administrador. De hecho, obtienes una lista diferente de crontabs si no usas sudo, así que no olvides seguir usándolo o no.

    2. Seleccione nano si se le solicita que solicite un editor.

    Se abre un archivo.

    3. Agregue una línea al final del archivo que diga así:

    La línea debe comenzar con @reboot, que le indica que se ejecute cada vez que inicie la Raspberry Pi. Si se trata de una secuencia de comandos de Python, querrá colocar el comando para iniciar el intérprete de python o python3 seguido de la ruta completa a su secuencia de comandos de Python. 

    Si se trata de un script Bash u otra aplicación, simplemente ingrese la ruta completa.

    4. Guardar y salir. En nano, lo hace presionando CTRL + X, respondiendo Y y presionando Enter cuando se le solicite.

    5. Haga que su secuencia de comandos sea ejecutable si es una secuencia de comandos Bash. Los scripts de Python no necesitarán ser ejecutables porque el intérprete de Python ya lo es. Puede hacer que cualquier script sea ejecutable escribiendo 

    Si desea eliminar su secuencia de comandos de crontab, simplemente escriba sudo crontab -e nuevamente y elimine o comente esa línea. Tenga en cuenta que, si está creando un proyecto que no requiere que use el entorno de ventana, puede ahorrar recursos del sistema configurando la Raspberry Pi para que arranque desde la línea de comando ingresando sudo raspi-config y luego navegando a Opciones de arranque – > Escritorio/CLI y seleccionando Inicio de sesión automático en la consola.

    Cómo ejecutar automáticamente un script o una aplicación en la interfaz gráfica de usuario de Raspberry Pi

    Si desea que su secuencia de comandos o aplicación se ejecute en el inicio de Raspberry Pi dentro de la GUI con ventana, siga estos pasos.

    1. Cree un archivo llamado myapp.desktop (o algo más .desktop) en el directorio /etc/xdg/autostart/.

    2. Use el siguiente diseño en el archivo myapp.desktop. 

    Coloque el comando y cualquier parámetro en la línea Exec=. Por ejemplo, para que un navegador Chrome se abra en una página web, colocaría «chromium-browser [URL]». Si su aplicación requiere permisos de sudo, puede poner sudo en el comando Exec. 

    Para ejecutar un script en una ventana de terminal, use lxterminal seguido del parámetro –command y comillas dobles con “/bin/bash -c ‘MYCOMMANDS HERE; /bin/bash”’. Por ejemplo, para iniciar un script de python3 que requiere permisos de sudo, usaría: 

    Eso abrirá una ventana de terminal en el entorno de ventana al arrancar con su script ejecutándose en él. Una vez que finalice el script (o lo cancele presionando CTRL+C), la ventana de la terminal volverá al aviso. Si desea que la ventana de la terminal se cierre sola al finalizar el script, puede omitir ;/bin/bash al final.

    Ejecutar una secuencia de comandos en una ventana de terminal como esta puede ser útil, porque si se trata de una secuencia de comandos de Python en bucle sin fin (como lo haría con un robot), puede eliminar fácilmente la secuencia de comandos presionando CTRL+C. De lo contrario, para eliminar el script, deberá encontrar el proceso, que describimos a continuación.

    Matar el guión

    ¿Qué sucede si desea detener su script de ejecución automática después de que se haya iniciado su Raspberry Pi? Si su secuencia de comandos ya terminó de ejecutarse, desaparecerá de la memoria, pero si está diseñada para hacer algo continuamente, deberá buscar y eliminar la tarea.

    1. Busque su secuencia de comandos usando el comando ps aux y colocando el nombre de su secuencia de comandos (o al menos un nombre parcial) después de grep.

    Reemplaza app.py con el nombre de tu script. Verá una lista de números de proceso.

    2. Elimine cada número de proceso con el comando sudo kill -9. Por ejemplo,

    Más tutoriales:

    Cómo capturar capturas de pantalla en Raspberry Pi
    Cómo configurar un servidor web Raspberry Pi
    Cómo ejecutar Raspberry Pi 4 o 3 desde un SSD o una unidad flash
    Cómo crear atajos de teclado personalizados en la Raspberry Pi
    Cómo ejecutar emuladores en Raspberry Pi 4
    Más de 25 comandos de Linux que los usuarios de Raspberry Pi deben saber
    Cómo hacer una camiseta de teletipo de noticias con Raspberry Pi

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x