HMI
Autostart Raspberry Pi 4 Applicazione Qt all'avvio

Se è stata creata un'applicazione Qt o qualsiasi altra applicazione per il Raspberry Pi 4, spesso si vuole che l'applicazione venga aperta immediatamente dopo la fine dell'applicazione in caso di riavvio del Raspberry. Questo viene spesso tentato con script di avvio, che possono essere inseriti in vari punti. Tuttavia, è più sensato impostare tutto ciò tramite systemd. Come base di partenza ho usato un'immagine raspbian-buster-lite e un'installazione Qt come descritto in Qt su Raspberry Pi 4. L'applicazione Qt si trova nella directory "/home/pi/application" e in questo esempio ha il nome "application_one". ## Creare il file .service Per prima cosa deve essere creato un file .service nella directory "/etc/systemd/system":

sudo nano application_one.service

Qui è stato inserito quanto segue:

[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

Le voci sono in realtà autoesplicative. L'applicazione "application_one" (ExecStart=/home/pi/application/application_one) viene avviata con l'account utente "pi" (User=pi). La voce "After=network-online.target" indica che l'applicazione attenderà fino a quando non verrà stabilita la connessione di rete prima di avviare l'applicazione.

## Rendere noto il servizio al sistema Successivamente il sistema deve essere informato che il nuovo servizio deve essere attivo:

sudo systemctl enable application_one.service

In seguito riavviare e l'applicazione dovrebbe avviarsi automaticamente.

## L'applicazione non si avvia? Se l'applicazione non si avvia automaticamente, è possibile utilizzare

sudo systemctl status application_one.service

per visualizzare lo stato e utilizzare le informazioni per la risoluzione dei problemi.