Se você estiver usando o Network Manager (em oposição ao arquivo /etc/network/interfaces
da linha de comando), use os scripts do distribuidor do Network Manager.
Basta colocar seu script no diretório /etc/NetworkManager/dispatcher.d/
, semelhante à abordagem if-down.d
. Fazer scripts com scripts de despachante do Network Manager é bastante fácil e sugiro que leia este exemplo (básico) baseado no Arch Wiki :
#!/bin/sh
INTERFACE=$1 # The interface which is brought up or down
STATUS=$2 # The new state of the interface
USERNAME=gert # ENTER YOUR USERNAME HERE
case "$STATUS" in
'up') # $INTERFACE is up
# you could do something here...
;;
'down') # $INTERFACE is down
# Check for other active interfaces and only act on all down
if [ ! 'nm-tool|grep State|cut -f2 -d' '' = "connected" ]; then
/bin/su -l ${USERNAME} -c 'DISPLAY=:0 /usr/bin/zenity --info --text="all network interfaces down"'
fi
;;
esac
Para atuar em uma rede específica, consulte esta resposta .
E certifique-se de reiniciar o Network Manager para pegar este novo script.
sudo service network-manager restart