HMI
Raspberry Pi 4 aplikacja Qt automatycznego uruchamiania podczas ładowania systemu

Jeśli tworzy się aplikację Qt - lub inną aplikację - dla Raspberry Pi 4, bardzo często chce się, aby aplikacja była wywoływana natychmiast po ponownym uruchomieniu Raspberry. Często próbuje się tego za pomocą skryptów startowych, które można wprowadzać w różnych miejscach. Jednak rozsądniej jest to zrobić przy pomocy systemd. Użyłem obrazu raspbian-buster-lite i instalacji Qt jak jest to opisane w Qt na Raspberry Pi 4. Aplikacja Qt znajduje się w katalogu „/home/pi/application” i w tym przykładzie ma nazwę „application_one”. ## Tworzenie pliku .service Najpierw należy utworzyć plik .service w katalogu „/etc/ystemd/system”:

sudo nano application_one.service

Wprowadza się tutaj następujące informacje:

[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

Wpisy wyjaśniają się same przez się. Aplikacja „application_one” (ExecStart =/home/pi/application/application_one) jest uruchamiana z kontem użytkownika „pi” (User=pi). Wpis „After = network-online.target” oznacza również, że aplikacja czeka na nawiązanie połączenia sieciowego.

## Zapoznanie systemu z serwisem Następnie system musi zostać poinformowany, że nowa usługa powinna być aktywna:

sudo systemctl enable application_one.service

Po tym zrestartować, aplikacja powinna uruchomić się automatycznie.

## Aplikacja nie uruchamia się? Jeśli aplikacja nie uruchomi się automatycznie, można wyświetlić status za pomocą

sudo systemctl status application_one.service

i użyć tych informacji, aby rozpocząć rozwiązywanie problemów.