나는 다음을 포함하는 Upstart 스크립트를 통해 Synergy를 실행하곤 했습니다.
start on (login-session-start
...
or drm-device-added
or drm-device-changed
or drm-device-removed
or graphics-device-added
or graphics-device-changed
or graphics-device-removed
...)
stop on (drm-device-added
or drm-device-changed
or drm-device-removed
or graphics-device-added
or graphics-device-changed
or graphics-device-removed
...)
예를 들어, 서비스가 중지되고 시작됩니다. Synergy가 새 구성을 감지할 수 있도록 모니터가 연결되거나 연결 해제되었습니다.
Synergy용 Systemd 서비스 파일을 작성 중이지만 동등한 메커니즘이 무엇인지 찾을 수 없습니다. man systemd.special
그래픽 관련 대상을 나열하지 않고 systemctl list-units --type=device
그래픽 어댑터(모니터가 아님)만 표시하며 Systemd가 특정 이벤트에서 서비스를 중지하고 시작하도록 하는 방법이 명확하지 않습니다.
어떻게 이런 일을 할 수 있나요? 나는 Ubuntu 16.04에서 글을 쓰고 있지만 배포판에 구애받지 않는 대답이 많을수록 좋습니다.