GUI가 준비된 후 Systemd가 스크립트를 실행합니까?

GUI가 준비된 후 Systemd가 스크립트를 실행합니까?

저는 파이에서 라즈비안을 실행하고 있습니다. 시작 시 node.js 애플리케이션을 실행하는 systemd 스크립트를 만들었습니다.

스크립트:

#!/usr/bin/env bash
cd /home/pi/pop_machine && /usr/bin/npm start

시스템 서비스:

[Service]
ExecStart=/home/pi/pop_machine/start_pop.sh

[Install]
WantedBy=default.target

수동으로 실행하면 스크립트가 작동하지만 시작 시에는 작동하지 않습니다. 종속성보다 먼저 실행하려고 하기 때문인지 궁금합니다.

줄을 추가하여 실행하기 전에 사람들이 온라인 상태여야 하는 것을 보았습니다. [install]GUI 응용 프로그램을 실행할 준비가 모두 완료될 때까지 기다릴 수 있는 유사한 기능이 있습니까?

그냥 x-window만 필요한 것 같은데?

답변1

서비스에 다음을 추가하여 해결되었습니다.

[Service]
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/pi/.Xauthority"

[Install]
WantedBy=graphical.target

관련 정보