Crea due semplici "script", il nome dello script non è importante (uso semplicemente wlan) e presumo che ci sia solo un'interfaccia di rete cablata, e quindi si chiama "eth0" ... Controlla questo con "ifconfig" se non ne sono sicuro. Si noti che questo ha disabilitato del tutto il wireless, non solo wlan0. (Solo un problema se si dispone di più interfacce wlan e si desidera disabilitare solo quelle specifiche)
Questi script potrebbero essere facilmente adattati - dalla logica booleana - a una situazione in cui si hanno due o più interfacce di rete cablate.
Assicurati che questi script siano eseguibili con 'chmod + x'
/etc/network/ip-up.d/wlan
#!/bin/sh
# If eth0 goes up, disable wireless
if [ "$IFACE" = "eth0" ]; then
dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:false
fi
/etc/network/if-down.d/wlan
#!/bin/sh
# If eth0 goes down, enable wireless
if [ "$IFACE" = "eth0" ]; then
dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:true
fi
Ciò abilita / disabilita la connessione wireless nel NetworkManager che di solito si trova come indicatore di sistema nel pannello Gnome.
Puoi anche usare 'ifconfig wlan0 down' o 'ifconfig wlan0 up' invece della linea dbus-send, ma questo dovrebbe essere più user-friendly e interferire meno con le utility di sistema di Ubuntu.
Testato con Ubuntu Desktop 10.10 e dovrebbe funzionare con versioni precedenti o altre distribuzioni utilizzando NetworkManager e dbus.