Cómo ejecutar un script al inicio de la raspberry pi

Ya sea que se utilice como centro de medios, servidor web, consola de juegos o simplemente una computadora, existen innumerables razones por las que es posible que necesite un programa o script en particular para comenzar automáticamente cuando inicie su PI de Frambuesa. Thisteaches, cómo forzar un script para comenzar en la hora de arranque, lo agregándolo como un servicio (antes de las cargas de escritorio), o agregándolo a su archivo AUTOSTART (después de las cargas de escritorio).

Pasos

Método 1 de 2:
Agregando un script como servicio
  1. Imagen titulada 8353066 1
1. Crear un .Archivo de servicio para su script. Este método le enseñará cómo crear un servicio que ejecuta su script en la hora de inicio antes de que comience LXDE. Si el script requiere dependencias que no están activas de inmediato (como la creación de redes o cualquier cosa gráfica), el servicio le dirá a su script que espere hasta que se carguen los procesos. Crear un archivo (llamado ScriptName.Servicio) Esto sigue esta estructura, reemplazando los caminos y la descripción según sea necesario:

[Unidad]

Descripción = mi servicio

Después = red en línea.objetivo

[Servicio]

Execstart = / usr / bin / python3 -u principal.py

TrabajandoDirectory = / Home / Pi / MyScript

Standardutput = heredar

StandardError = HeredIt

Reinicio = siempre

Usuario = pi

[Instalar en pc]

Wantedby = multiusuario.objetivo

  • Imagen titulada 8353066 2
    2. Copie el servicio a / etc / System / System. Tendrá que hacer esto como root, así que use sudo. Aquí hay un ejemplo:
  • sudo cp myscript.Servicio / etc / systemd / System / MyScript.Servicio
  • Imagen titulada 8353066 3
    3. Prueba el servicio ejecutándolo. Antes de configurar el servicio para comenzar automáticamente, querrá asegurarse de que el script se ejecute correctamente cuando se ejecuta. Para ejecutar el guión a través del servicio, usará el sisterctl comando así:
  • sudo systemctl comienza MyScript.Servicio
  • Puede detener el servicio si es necesario ejecutando el mismo comando, reemplazando comienzo con detener.
  • Imagen titulada 8353066 4
    4. Establecer el servicio para ejecutarse en el horario de arranque. Mientras el script se ejecute sin error, puede ejecutar el comando que garantiza que el script se ejecute en la hora de inicio:
  • sudo systemctl habilita myScript.Servicio
  • Método 2 de 2:
    Usando el archivo AUTOSTART
    1. Imagen titulada 8353066 5
    1. Comprender los requisitos y cómo funciona. Este método requiere el entorno de escritorio de píxeles con la última versión del sistema operativo RASPBAN. Se logra editando un "autoencendido" archivo que ejecuta comandos al inicio en el entorno de escritorio LXDE, que es el marco del escritorio de píxeles de Raspberry Pi está construido en. Este método se prefiere en escenarios donde:
    • Su guión requiere que el entorno de escritorio se ejecute
    • Su guión necesita correr desde una ventana de terminal
    • Desea especificar a qué usuarios el script se autostartará para
  • Imagen titulada 8353066 6
    2. Abra el archivo AUTOSTART en el editor de texto nano. En una nueva ventana de terminal, ejecute el siguiente comando:
  • sudo nano / home / pi /.CONFIG / LXSESION / LXDE-PI / AUTOSTART
  • Imagen titulada 8353066 7
    3. Use las teclas de flecha para navegar hasta el final de la segunda línea y presione ↵ entrar. Esto creará una nueva línea por encima del @xscreensaver -no-splash entrada. Muchos usuarios han informado que los comandos agregados a continuación esta línea no se ejecutan correctamente, por lo que es una práctica común agregar sus comandos personalizados por encima del @xscreensaver entrada.
  • Imagen titulada 8353066 8
    4. Añadir un comando para iniciar su script. Aquí es donde tiene la mayor cantidad de opciones, ya que puede ingresar cualquier comando de terminal que normalmente usaría para iniciar su script. Por ejemplo, para ejecutar un guión bash llamado "myScript.sh" que se encuentra en el directorio de inicio del usuario "Pi" Uno entraría en el comando: / Inicio / PI / MyScript.sh. Del mismo modo, si se requieren permisos de superusuario para ejecutar el script, incluso puede prefacuar el comando con sudo.
  • 5. Incluir los caminos completos a cada nombre de archivo. Por ejemplo, para ejecutar un script de Python que requiera permisos de superusuario llamados "myScript.py" que se encuentra en el directorio de inicio del usuario "Pi", Entrarías en el camino completo hacia el propio script de Python y el intérprete de Python, como sudo / usr / bin / python / home / pi / myscript.py.
  • Imagen titulada 8353066 9
    6. Decida si desea ejecutar su script en una nueva ventana de terminal en el inicio. Para esto, puedes usar el @lxterminal comando con el -mi Modificador seguido de la ruta completa de su script en las cotizaciones. Por ejemplo:

    @LXTERMINAL -E "/ Inicio / PI / MyScript.sh"

  • Esto ejecutará el script de una nueva ventana de terminal.
  • Imagen titulada 8353066 10
    7. Ingrese los comandos adecuados para iniciar su script. Una vez ingresado, presione control+X, y luego siga las instrucciones en pantalla para guardar sus cambios.
  • Si no desea que su script se ejecute en el inicio. Simplemente edite el archivo AUTOSTART una vez más, solo esta vez elimine las líneas que agregó anteriormente. Una vez que guarde y salga, su script ya no se ejecutará automáticamente en el inicio.
  • Imagen titulada 8353066 11
    8. Reiniciar para probar. Usar Sudo reiniciar Para reiniciar su PI de frambuesa. Si el script funciona según lo diseñado, se iniciará uno que se inicia el Administrador de ventanas.
  • Artículos Relacionados