Crie dois 'scripts' simples, o nome do script não é importante (eu simplesmente uso wlan) e suponho que exista apenas uma interface de rede com cabo e, portanto, chame-se 'eth0' ... Verifique isso com 'ifconfig' se você não tenho certeza. Observe que isso desabilitou totalmente o sistema sem fio, não apenas wlan0. (Somente um problema se você tiver várias interfaces wlan e desejar desativar apenas as específicas)
Esses scripts podem ser facilmente adaptados - pela lógica booleana - a uma situação na qual você tem duas ou mais interfaces de rede cabeadas.
Verifique se esses scripts são executáveis com '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
Isso ativa / desativa a conexão sem fio no NetworkManager que geralmente pode ser encontrada como um indicador do sistema no painel Gnome.
Você também pode usar 'ifconfig wlan0 down' ou 'ifconfig wlan0 up' em vez da linha dbus-send, mas isso deve ser mais fácil de usar e interferir menos nos utilitários de sistema do Ubuntu.
Testado com o Ubuntu Desktop 10.10 e deve funcionar com versões anteriores ou outras distribuições usando o NetworkManager e o dbus.