HMI
Raspberry Pi 4 autostart Qt-applikation ved boot

Hvis du har oprettet et Qt-program - eller et andet program - til Raspberry Pi 4, vil du ofte gerne have, at applikationen bliver hentet umiddelbart efter genstart af Raspberry Pi 4. Dette forsøges ofte med start-scripts, der kan indtastes forskellige steder. Det er dog mere fornuftigt at oprette dette over systemd. Jeg brugte et raspbian-buster-lite-billede og en Qt-installation som beskrevet i Qt på Raspberry Pi 4. Qt-applikationen er placeret i biblioteket "/home/pi/application" og har i dette eksempel navnet "application_one". ## Opret .servicefil Først skal der oprettes en .servicefil i biblioteket "/etc/systemd/system":

sudo nano application_one.service

Følgende indtastes nu:

[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

Indtastningerne er faktisk selvforklarende. Programmet "application_one" (ExecStart=/home/pi/application/application_one) startes med brugerkontoen "pi" (Bruger = pi). Dermed betyder indtastningen "After=netværk-online.target" også, at applikationen startes, indtil netværksforbindelsen er etableret. ## Gør systemet bekendt om service Derefter skal systemet informeres om, at den nye service skal være aktiv:

sudo systemctl enable application_one.service

Herefter genstartes, og applikationen skal starte automatisk.

Applikationen starter ikke?

Hvis applikationen ikke starter automatisk, kan du vise status med

sudo systemctl status application_one.service

og bruge oplysningerne til at starte fejlfindingen.