Esta resposta é semelhante à do @ noah-birnel - mas sem alterar como a sinergia é configurada. Isso requer, no entanto, o Linux.
Faça um script ser executado como root ao longo dessas linhas. Isto pode ser agendado (cron) ou colocado como um gancho na configuração de rede (linha de post-up na distro estilo Debian, ou um serviço de rede systemd customizado / etc)
Ao testar, faça backup do arquivo de hosts para que você saiba que não está causando quebras irreversíveis.
#!/bin/bash
servername="synergy-server"
#These should be IP addresses.
hostnames="work.ip.add.ress home.ip.add.ress"
hosts="/etc/hosts"
grep $servername $hosts || ( echo ; echo "#synergy server address" ; echo "0.0.0.0 $servername" ) >> $hosts
for server in $hostnames ; do
ping -c 1 "$server" && sed -i -n "s/.*$servername/$server $servername/" $hosts
done
Se você quiser nomes de host no script em vez de endereços IP, será necessário expandir o script para obter o endereço IP. Como alternativa, qualquer método pelo qual você poderia obter um nome de host "dinâmico" funcionará (por exemplo, host dnsmasq no cliente e fazer com que o script atualize os registros DNS internos)