Como posso reiniciar um serviço systemd em alterações gráficas?

1

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.

    
por detly 13.04.2017 / 01:48

0 respostas

Tags