Aplicația Raspberry Pi 4 autostart Qt la momentul pornirii

Dacă ați creat o aplicație Qt - sau orice altă aplicație - pentru Raspberry Pi 4, de multe ori doriți ca aplicația să fie apelată imediat după repornirea Zmeurii după finalizarea aplicației.
Acest lucru este adesea încercat cu scripturi de pornire care pot fi introduse în diferite locuri.
Cu toate acestea, este mai rezonabil să configurați acest lucru prin sistem . Am folosit o imagine raspbian-buster-lite și o instalație Qt așa cum este descrisă în Qt pe Raspberry Pi 4 ca punct de plecare.
Aplicația Qt se află în directorul "/home/pi/application" și este denumită "application_one" în acest exemplu.

Crearea unui fișier .service

Primul lucru pe care trebuie să-l faceți este să creați un fișier .service în directorul "/etc/systemd/system":

sudo nano application_one.service

Următoarele sunt acum introduse aici:

[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

Intrările sunt de fapt auto-explicative. Aplicația "application_one" (ExecStart = / home / pi / application / application_one) este pornită cu contul de utilizator "pi" (Utilizator = pi). Intrarea "After=network-online.target" afirmă în continuare că aplicația este pornită până când conexiunea la rețea este stabilită.

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

Faceți serviciul cunoscut sistemului

Apoi, trebuie să spuneți sistemului că noul serviciu ar trebui să fie activ:

sudo systemctl enable application_one.service

Apoi efectuați o repornire și aplicația ar trebui să pornească automat.

</:code3:>

Aplicația nu pornește?

Dacă aplicația nu pornește automat, vă puteți conecta cu

sudo systemctl status application_one.service

Afișați starea și utilizați informațiile pentru depanare. </:code4:>