Kung lumikha ka ng isang Qt application - o anumang iba pang application - para sa Raspberry Pi 4, madalas mong nais na ang application ay tinatawag kaagad pagkatapos ng pag-restart ng Raspberry pagkatapos makumpleto ang application.
Ito ay madalas na tinangka sa mga script ng pagsisimula na maaaring ipasok sa iba't ibang lugar.
Gayunpaman, mas makatwiran na i set up ito sa pamamagitan ng systemd . Gumamit ako ng isang imahe ng raspbian buster lite at isang pag install ng Qt tulad ng inilarawan sa Qt sa Raspberry Pi 4 bilang isang panimulang punto.
Ang Qt application ay matatagpuan sa direktoryo "/ home / pi / application" at pinangalanang "application_one" sa halimbawang ito.
Paglikha ng isang .service file
Ang unang bagay na dapat gawin ay upang lumikha ng isang .service file sa "/ etc / systemd / system" direktoryo:
sudo nano application_one.service
Ang mga sumusunod ay ipinasok na ngayon dito:
[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
Ang mga entries ay talagang self explaining. Ang application na "application_one" (ExecStart=/home/pi/application/application_one) ay sinimulan sa user account na "pi" (User=pi). Ang entry na "After=network-online.target" ay nagsasaad pa rin na ang application ay sinimulan hanggang sa maitatag ang koneksyon sa network.
</:code2:></:code1:>
Ipaalam ang serbisyo sa sistema
Pagkatapos ay kailangan mong sabihin sa system na ang bagong serbisyo ay dapat na aktibo:
sudo systemctl enable application_one.service
Pagkatapos ay magsagawa ng isang reboot at ang application ay dapat magsimula awtomatikong.
</:code3:>
Hindi nagsisimula ang application?
Kung ang application ay hindi awtomatikong nagsisimula, maaari kang mag log in gamit ang
sudo systemctl status application_one.service
Idispley ang status at gamitin ang impormasyon para i-troubleshoot. </:code4:>