Cómo ejecutar scripts al cargar Raspberry Pi

Hay muchas razones por las que desea ejecutar secuencias de comandos, aplicaciones u otros tipos de secuencias de comandos de Python (como secuencias de comandos de Bash) cada vez que se carga la Raspberry Pi. Por ejemplo, tiene un robot o dispositivo IoT que debería estar listo para realizar una tarea tan pronto como se inicie Raspberry Pi. O tal vez solo desea que un programa en particular se ejecute en segundo plano todo el tiempo y no desea iniciar cada sesión manualmente.

Hay varias formas de ejecutar secuencias de comandos automáticamente cuando inicia Raspberry Pi, pero la forma 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 específicos.

Cómo ejecutar scripts cuando se inicia Raspberry Pi

1. Edite la lista crontab escribiendo:

sudo crontab -e

Puede ejecutar crontab sin escribir sudo, pero si lo hace, no podrá ejecutar scripts que requieran privilegios de administrador. De hecho, obtiene una lista de otros crontab si no usa sudo, así que asegúrese de usarlo.

2. Selecciona nano si te preguntan por el editor.

Foto 1 de Cómo ejecutar scripts al cargar una Raspberry Pi

Elige nano si te preguntan por el editor

Se abrirá un archivo.

3. Agregue una línea al final del archivo con el siguiente contenido:

@reboot python3 /home/pi/myscript.py

Esta línea debe comenzar con @reiniciar se ejecutará cada vez que inicie la Raspberry Pi. Si se trata de una secuencia de comandos de Python, deberá establecer el comando de inicio en pitón o intérprete de python3 seguido de la ruta completa al script de Python.

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

Imagen 2 de Cómo ejecutar scripts al cargar una Raspberry Pi

Agregar una línea al final del archivo

4. Guardar y salir, en Nano lo haces pulsando CTRL+ Xresponder Yy presiona EnterCuando se le solicite.

5. Haga que el script sea ejecutable si es un script Bash. No será necesario ejecutar scripts de Python porque hay un intérprete de Python. Puede hacer que cada script sea ejecutable escribiendo:

sudo chmod a+x FILENAME

Si desea eliminar su secuencia de comandos de crontab, simplemente escriba de nuevo sudo crontab -ey elimine o marque la línea. Tenga en cuenta que si está creando un proyecto que no requiere un entorno de ventanas, puede ahorrar recursos del sistema configurando Raspberry Pi para que se cargue en la línea de comando escribiendo sudo raspi-configy luego configurar. Opciones de arranque > Escritorio/CLI y seleccione Inicio de sesión automático en la consola.

Cómo ejecutar automáticamente scripts o aplicaciones en la GUI de Raspberry Pi

Si desea ejecutar scripts o aplicaciones al iniciar Raspberry Pi en la GUI, siga estos pasos.

1. Cree un archivo llamado miaplicacion.escritorio (o algo más .desktop) c /etc/xdg/inicio automático/.

sudo nano /etc/xdg/autostart/myapp.desktop

2. Use el siguiente diseño en miaplicacion.escritorio expediente .

[Desktop Entry] Exec=chromium-browser https://www.tomshardware.com

Establezca el comando y todos los parámetros en Ejecutivo = línea . Por ejemplo, para abrir una página web de Chrome, debe escribir 'navegador cromo [URL]'. Si la aplicación requiere permiso de sudo, puede configurar sudo en el comando Exec.

Foto 3 de Cómo ejecutar scripts al cargar Raspberry Pi

Establezca el comando y todos los parámetros en la línea Exec =

Para ejecutar el script en la ventana del terminal, use lxterminal seguido por - equipo parámetro y cotizaciones con '/ papelera / bash -°C "MIS EQUIPOS AQUÍ;/bin/bash". Por ejemplo, para ejecutar un script de python3 que requiere privilegios de sudo, debe usar:

Exec=lxterminal --command'/bin/bash -c 'sudo python3 /home/pi/myscript.py; /bin/bash''

Esto abrirá una ventana de terminal en un entorno de ventana cuando se cargue con el script ejecutándose en él. Cuando finalice el guión (o cancélelo pulsando CTRL+ C), la ventana del terminal volverá a la indicación. Si desea que la ventana de la terminal se cierre por sí sola después de que se complete el script, puede omitirla ; / papelera / bash finalmente.

Ejecutar una secuencia de comandos en una ventana de terminal de esta manera puede ser útil, porque si hay una secuencia de comandos de Python con un ciclo infinito (como tener un robot), puede finalizar fácilmente (matar) la secuencia de comandos presionando CTRL+ CPor otro lado, para finalizar el script, debe encontrar el proceso que se describe a continuación.

fin del guion

¿Qué sucede si desea que el script deje de ejecutarse automáticamente después de iniciar Raspberry Pi? Si el script termina de ejecutarse, desaparecerá de la memoria, pero si está diseñado para hacer algo continuamente, deberá buscar y terminar la tarea.

1. Busque scripts usando el comando ps auxy nombre el guión (o al menos parte del nombre). grep.

ps aux | grep app.py

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

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

sudo kill -9 437 sudo kill -9 438

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
error: Content is protected !!