Si ha creado una aplicación Qt, o cualquier otra aplicación, para Raspberry Pi 4, a menudo desea que se llame a la aplicación inmediatamente después de reiniciar Raspberry después de que se haya completado la aplicación.
Esto a menudo se intenta con scripts de inicio que se pueden ingresar en varios lugares.
Sin embargo, es más razonable configurar esto a través de systemd . Utilicé una imagen raspbian-buster-lite y una instalación Qt como se describe en Qt en la Raspberry Pi 4 como punto de partida.
La aplicación Qt se encuentra en el directorio "/home/pi/application" y se denomina "application_one" en este ejemplo.

Creación de un archivo .service

Lo primero que debe hacer es crear un archivo .service en el directorio "/etc/systemd/system":

sudo nano application_one.service

Ahora se ingresa lo siguiente aquí:

[Unit]
Description=Qt application autostart
After=graphical.target
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi/application
ExecStart=/home/pi/application/application_one

[Install]
WantedBy=multi-user.target

Las entradas son en realidad autoexplicativas. La aplicación "application_one" (ExecStart=/home/pi/application/application_one) se inicia con la cuenta de usuario "pi" (User=pi). La entrada "After=network-online.target" sigue indicando que la aplicación se ha iniciado hasta que se establece la conexión de red.

</:code2:></:code1:>

Dar a conocer el servicio al sistema

Luego debe decirle al sistema que el nuevo servicio debe estar activo:

sudo systemctl enable application_one.service

Luego realice un reinicio y la aplicación debería iniciarse automáticamente.

</:code3:>

¿La aplicación no se inicia?

Si la aplicación no se inicia automáticamente, puede iniciar sesión con

sudo systemctl status application_one.service

Mostrar el estado y utilizar la información para solucionar problemas. </:code4:>

Walter Prechtl

Walter Prechtl

Actualizado en: 08. March 2024
Tiempo de lectura: 2 minutos