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

Walter Prechtl

Walter Prechtl

Imesasishwa katika: 08. March 2024
Muda wa kusoma: 2 minutes