Créez deux 'scripts' simples, le nom du script n’a pas d’importance (j’utilise simplement wlan) et je suppose qu’il n’ya qu’une seule interface réseau câblée, et s’appelle donc 'eth0' ... Cochez cette case avec 'ifconfig' si vous n'êtes pas sûr. Notez que cette désactivation sans fil entièrement, pas seulement wlan0. (Un problème uniquement si vous avez plusieurs interfaces wlan et que vous souhaitez uniquement désactiver certaines interfaces)
Ces scripts pourraient facilement être adaptés - par la logique booléenne - à une situation dans laquelle vous avez deux ou plusieurs interfaces réseau câblées.
Assurez-vous que ces scripts sont exécutables avec '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
Cela active / désactive le sans fil dans le NetworkManager qui peut généralement être trouvé comme indicateur système dans le panneau Gnome.
Vous pouvez également utiliser 'ifconfig wlan0 down' ou 'ifconfig wlan0 up' au lieu de la ligne dbus-send, mais cela devrait être plus convivial et interférer moins avec les utilitaires système d'Ubuntu.
Testé avec Ubuntu Desktop 10.10 et devrait fonctionner avec des versions antérieures ou d'autres distributions utilisant NetworkManager et dbus.