Eu costumava executar o Synergy através de um 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
...)
Isto iria parar e iniciar o serviço se, por exemplo. um monitor foi conectado ou desconectado para que o Synergy detectasse a nova configuração.
Estou escrevendo arquivos de serviço Systemd para o Synergy, mas não consigo encontrar o que seria um mecanismo equivalente. man systemd.special
não lista alvos gráficos relacionados, systemctl list-units --type=device
mostra apenas o adaptador gráfico (não o monitor) e não está claro como fazer com que o Systemd pare e inicie um serviço em um determinado evento.
Como posso fazer essas coisas? Estou escrevendo no Ubuntu 16.04, mas quanto mais distro agnóstico a resposta, melhor.
Tags systemd