나는 Ubuntu 16.04를 사용하고 있으며이 소프트웨어는 PulseAudio 핫 플러그 이벤트를 자동으로 실행하도록 개발되었습니다..
현재 다음 udev 규칙을 사용하고 있습니다.
/etc/udev/rules.d/90-autopulse.rules:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="1066", ENV{SYSTEMD_WANTS}="[email protected]"
나는 이것을 내 시스템 장치로 사용합니다.
/etc/systemd/system/[이메일 보호됨]:
[Unit]
Description=PulseAudio Hotplug Service
[Service]
Type=oneshot
Environment=DISPLAY=:0
User=%i
ExecStart=/usr/local/bin/autopulse switch
StandardOutput=journal
DISPLAY=:0
불행히도, 주어진 X 세션이 될 것이라는 보장은 없지만 수동으로 설정해야 합니다 .
DISPLAY
특정 사용자에 대한 변수를 추출하여 환경에서 사용하도록 udev 또는 systemd를 구성하는 방법이 있습니까 ? 아니면 하드코딩된 걸까요?
ExecStartPre
나는 그것을 발견하거나 스크립트를 조정하기 위해 뭔가를 할 수 있다고 생각합니다 . udev와 systemd 사이의 옵션은 무엇입니까?
답변1
systemd도 제공합니다사용자사용자가 로그인할 때 시작되는 서비스(시작 시 활성화되는 시스템 서비스와 비교)를 살펴봐야 합니다.
하지만 udev 규칙을 사용하여 시작할 수 있는지 잘 모르겠습니다. 소프트웨어가 사용자 데몬으로 시작하고 udev 이벤트를 수신하고 그에 따라 작동해야 합니까?