Solía ejecutar Synergy a través de un script Upstart que incluía:
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
...)
Esto detendría e iniciaría el servicio si, por ejemplo. se conectó o desconectó un monitor para que Synergy detectara la nueva configuración.
Estoy escribiendo archivos de servicio Systemd para Synergy, pero no encuentro cuál sería un mecanismo equivalente. man systemd.special
no enumera ningún objetivo relacionado con gráficos, systemctl list-units --type=device
solo muestra el adaptador de gráficos (no el monitor) y no me queda claro cómo hacer que Systemd detenga e inicie un servicio en un evento en particular.
¿Cómo puedo hacer estas cosas? Lo estoy escribiendo en Ubuntu 16.04, pero cuanto más independiente de la distribución sea la respuesta, mejor.