Crie dois 'scripts' simples, o nome do script não é importante (eu simplesmente uso o wlan) e presumo que exista apenas uma interface de rede cabeada e seja assim chamada 'eth0' ... Marque isso com 'ifconfig 'se você não tiver certeza.
Observe que isso desativou totalmente a conexão sem fio, não apenas wlan0. (Apenas um problema se você tiver várias interfaces wlan e quiser desabilitar somente interfaces específicas)
Esses scripts podem ser facilmente adaptados - pela lógica booleana - a uma situação em que 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 rede sem fio no NetworkManager, que geralmente pode ser encontrado como um indicador do sistema no painel do 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.