Ikiwa umeunda programu ya Qt - au programu nyingine yoyote - kwa Raspberry Pi 4, mara nyingi unataka programu iitwe mara tu baada ya kuanzisha upya Raspberry baada ya programu kukamilika.
Hii mara nyingi hujaribiwa na hati za kuanza ambazo zinaweza kuingizwa katika maeneo mbalimbali.
Hata hivyo, ni busara zaidi kuanzisha hii kupitia systemd . Nilitumia picha ya raspbian-buster-lite na usakinishaji wa Qt kama ilivyoelezwa katika Qt kwenye Raspberry Pi 4 kama hatua ya kuanzia.
Programu ya Qt iko katika saraka "/home /pi / programu" na inaitwa "application_one" katika mfano huu.
Kuunda faili ya .service
Jambo la kwanza kufanya ni kuunda faili ya huduma kwenye saraka ya "/etc/systemd/systemd":
sudo nano application_one.service
Ifuatayo sasa imeingizwa hapa:
[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
Maingizo kwa kweli ni maelezo ya kibinafsi. Programu "application_one" (ExecStart=/home/pi/application/application_one) imeanza na akaunti ya mtumiaji "pi" (Mtumiaji=pi). Kuingia "Baada ya =network-online.target" bado inasema kuwa programu imeanza hadi muunganisho wa mtandao uanzishwe.
</:code2:></:code1:>
Fanya huduma ijulikane kwa mfumo
Kisha unapaswa kuwaambia mfumo kwamba huduma mpya inapaswa kuwa hai:
sudo systemctl enable application_one.service
Kisha fanya upya na programu inapaswa kuanza kiotomatiki.
</:code3:>
Application haianzi?
Ikiwa programu haianzishi kiotomatiki, unaweza kuingia na
sudo systemctl status application_one.service
Onyesha hali na utumie habari kutatua. </:code4:>