Če ste ustvarili Qt aplikacijo - ali katero koli drugo aplikacijo - za Raspberry Pi 4, pogosto želite, da je aplikacija poklicana takoj po ponovno zagonu Maline po končani aplikaciji.
To se pogosto poskuša z začetnimi skripti, ki jih je mogoče vnesti na različnih mestih.
Vendar je razumneje, da se to določi s sistemsko. Uporabil sem raspbian-buster-lite sliko in Qt namestitev, kot je opisano v Qt na Raspberry Pi 4 kot izhodišče.
Aplikacija Qt se nahaja v imeniku »/home/pi/application« in je v tem primeru imenovana »application_one«.

Ustvarjanje datoteke .service

Najprej ustvarite datoteko .service v imeniku »/etc/systemd/system«:

sudo nano application_one.service

Tukaj je zdaj vneseno naslednje:

[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

Vnosi so dejansko samoobjašnjeni. Aplikacija "application_one" (ExecStart=/home/pi/application/application_one) se začne z uporabniškim računom "pi" (User=pi). Vnos »After=network-online.target« še vedno navaja, da se aplikacija zaganja do vzpostavitve omrežne povezave.

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

Naj bo storitev znana sistemu

Potem morate sistemu povedati, da mora biti nova storitev aktivna:

sudo systemctl enable application_one.service

Nato izvedite ponovno zagon in aplikacija se mora zagnati samodejno.

</:code3:>

Aplikacija se ne zažene?

Če se aplikacija ne zažene samodejno, se lahko prijavite s

sudo systemctl status application_one.service

prikažete stanje in uporabite informacije za odpravljanje težav. </:code4:>

Walter Prechtl

Walter Prechtl

Posodobljeno na: 08. March 2024
Čas branja: 2 minutes