synergyc requer um acesso ao servidor X11 (display), e normalmente deve ser executado como um usuário comum também.
Scripts em /etc/network/if-up.d / , por sua vez, são executados como root e não têm acesso ao seu monitor X11, que é porque não funciona para você.
O que você pode fazer é configurar o synergyc para se conectar a uma tela X11 adequada (que será : 0 , geralmente), configurando uma variável de ambiente DISPLAY, ou fornecendo a opção "--display" para o synergyc .
Você também pode usar o sudo para iniciá-lo como um usuário adequado (que não é estritamente necessário, mas é provavelmente uma boa idéia de qualquer maneira).
Aqui está um pequeno script de teste para você experimentar:
#!/bin/sh
[ "$IFACE" = "wlan0" ] || exit 0
export DISPLAY=:0
sudo -u YOUR_USER_NAME xclock &
Substitua YOUR_USER_NAME pelo nome de usuário da sua conta normal e wlan0 pelo nome da sua interface wi-fi (caso seja diferente) e também certifique-se de ter < em> xclock instalado (normalmente faz parte do pacote x11-apps), coloque-o em seu /etc/network/if-up.d / e tente alternar a rede interface em um off.
Se tudo der certo, um xclock aparecerá toda vez que sua interface for ativada, e você poderá modificá-la para iniciar o synergyc .