특정 이벤트가 발생할 때 소리를 재생하도록 되어 있는 스크립트를 실행하는 시스템 장치가 있습니다. 즉, 다음 줄이 포함되어 있습니다.
mplayer /home/myusername/Music/audiofile.WAV
이런 일은 일어나지 않을 것입니다. 스크립트는 단독으로 실행될 때 작동하므로 올바르게 보입니다.
왜 이런 일이 발생하며 어떻게 해결합니까?
답변1
이는 기본적으로 systemd 장치가 사용자에 의해 실행되지 않기 때문에 발생합니다. systemd 장치의 서비스 섹션 아래에 다음 두 줄을 추가합니다.
User=<yourusername>
Environment=DISPLAY=:0
그리고 장치가 작동해야 합니다.
답변2
Raspberry Pi에서 Debian 11을 실행하려면 서비스 단위 파일에 다음을 추가하는 것으로 충분합니다.
Environment="PULSE_RUNTIME_PATH=/run/user/1000/pulse/"
여기서 1000은 서비스를 실행하는 데 사용되는 사용자 ID이므로 설정에 따라 적절하게 변경하십시오.
원천:https://askubuntu.com/questions/1379890/how-to-play-a-sound-from-a-systemd-service-on-ubuntu