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:>