HMI
Raspberry Pi 4:n automaattikäynnistys Qt-sovelluksen käynnistyessä

Jos olet luonut Qt-sovelluksen – tai minkä tahansa muun sovelluksen – Raspberry Pi 4:lle, haluat varmaankin sovelluksen valmistuttua aktivoida sen heti Raspberryn uudelleenkäynnistyksen jälkeen. Usein tätä yritetään käynnistysskriptillä, joka voidaan syöttää erilaisiin paikkoihin. On kuitenkin järkevämpää tehdä tämä systemd -järjestelmän kautta. Lähtökohtana olen käyttänyt raspbian buster lite imagea ja Qt-asennusta kohdassa Qt Raspberry Pi 4:llekuvatulla tavalla. Qt-sovellus on hakemistossa "/home/pi/application" ja sillä on tässä esimerkissä nimi "application_one". ## Luo .service-tiedosto Ensin on hakemistoon "/etc/systemd/system" luotava .service-tiedosto:

sudo nano application_one.service

Tänne syötetään seuraava komento:

[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

Syötteet ovat oikeastaan itsestäänselviä. Sovellus "application_one" (ExecStart=/home/pi/application/application_one) käynnistetään käyttäjätilillä "pi" (User=pi). Lisäksi syöte "After=network-online.target" tarkoittaa, että sovelluksen käynnistystä ylläpidetään, kunnes verkkoyhteys muodostuu.

## Tutustuta järjestelmä palveluun Sitten järjestelmälle on vielä opetettava, että uuden palvelun tulisi olla aktiivinen:

sudo systemctl enable application_one.service

Suorita sitten uudelleenkäynnistys, niin sovelluksen pitäisi käynnistyä automaattisesti.

## Eikö sovellus käynnisty? Jos sovellus ei käynnisty automaattisesti, voit katsoa tilan komennolla

sudo systemctl status application_one.service

ja etsiä sen vianmääritystietojen avulla.