Č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:>