Raspberry Pi 4 automaattinen käynnistys Qt -sovellus käynnistyksen yhteydessä

Jos olet luonut Qt-sovelluksen - tai minkä tahansa muun sovelluksen - Raspberry Pi 4:lle, haluat usein, että sovellusta kutsutaan heti Vadelman uudelleenkäynnistyksen jälkeen sovelluksen valmistuttua.
Tätä yritetään usein aloitusskripteillä, jotka voidaan syöttää eri paikkoihin.
On kuitenkin järkevämpää asettaa tämä systemd : n kautta. Käytin lähtökohtana raspbian-buster-lite-kuvaa ja Qt-asennusta Qt:ssä kuvatulla tavalla Raspberry Pi 4:ssä .
Qt-sovellus sijaitsee hakemistossa "/home/pi/application", ja sen nimi on tässä esimerkissä "application_one".

.service-tiedoston luominen

Ensimmäinen asia on luoda .service-tiedosto hakemistoon "/etc/systemd/system":

sudo nano application_one.service

Tähän on nyt syötetty seuraava:

[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

Merkinnät ovat itse asiassa itsestään selviä. Sovellus "application_one" (ExecStart=/home/pi/application/application_one) käynnistetään käyttäjätilillä "pi" (User=pi). Merkintä "After=network-online.target" ilmaisee edelleen, että sovellus käynnistetään, kunnes verkkoyhteys on muodostettu.

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

Tee palvelu tunnetuksi järjestelmälle

Sitten sinun on kerrottava järjestelmälle, että uuden palvelun pitäisi olla aktiivinen:

sudo systemctl enable application_one.service

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

</:code3:>

Sovellus ei käynnisty?

Jos sovellus ei käynnisty automaattisesti, voit kirjautua sisään

sudo systemctl status application_one.service

Näytä tila ja käytä tietoja vianmääritykseen. </:code4:>