У меня есть приложение pyqt5
UI, которое я хочу начать использовать службу systemd
в raspberry pi
. Для этого ниже приведен служебный код:
[Unit]
Description=QT App
[Service]
User=pi
WorkingDirectory=/home/pi/Documents/qtproj
Environment=DISPLAY=:0
ExecStart=/bin/bash '/home/pi/Documents/qtproj/start_app.sh'
Restart=always
RestartSec=10s
[Install]
WantedBy=graphical.target
Согласно приведенному выше коду, я запускаю сценарий start_app.sh
, который загружает несколько библиотек, а затем, наконец, запускаю приложение python3 pyqt5. Когда я запускаю вышеуказанный сервис, он остается в неактивном состоянии:
● myqt.service - QT App
Loaded: loaded (/etc/systemd/system/myqt.service; disabled; vendor preset: en
Active: inactive (dead)
Jul 13 09:47:57 pi systemd[1]: Started QT App.
Jul 13 09:47:57 pi sudo[7861]: pi : TTY=unknown ; PWD=/home/pi
Jul 13 09:47:57 pi sudo[7861]: pam_unix(sudo:session): session opened
Jul 13 09:47:58 pi bash[7860]: No protocol specified
Jul 13 09:47:58 pi bash[7860]: qt.qpa.screen: QXcbConnection: Could no
Jul 13 09:47:58 pi bash[7860]: Could not connect to any X display.
Jul 13 09:47:59 pi sudo[7861]: pam_unix(sudo:session): session closed
Jul 13 09:47:59 pi systemd[1]: myqt.service: Main process exited, code
Jul 13 09:47:59 pi systemd[1]: myqt.service: Failed with result 'exit-
Jul 13 09:48:05 pi systemd[1]: Stopped QT App
Из приведенного выше статуса ясно, что он не может подключиться к дисплею, хотя я дал graphical.target
. Подскажите, пожалуйста, как мне создать службу systemd
для приложения pyqt5
. Пожалуйста помоги. Спасибо