Створіть два простих 'скрипта', назва сценарію не важлива (я просто використовую wlan), і я припускаю, що є лише один кабельний мережевий інтерфейс, і тому він називається 'eth0' ... Перевірте це за допомогою 'ifconfig', якщо ви Ви не впевнені Зауважте, що цей відключений бездротовий зв'язок повністю, а не лише wlan0. (Проблема лише, якщо у вас є кілька інтерфейсів wlan і ви хочете вимкнути лише конкретні)
Ці сценарії можна було легко адаптувати - за булевою логікою - до ситуації, коли у вас є два або більше кабельних мережевих інтерфейсів.
Переконайтеся, що ці сценарії виконуються за допомогою "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
Це вмикає / відключає бездротовий зв'язок у NetworkManager, який зазвичай можна знайти як системний індикатор на панелі Gnome.
Ви також можете використовувати "ifconfig wlan0 вниз" або "ifconfig wlan0 вгору" замість лінії передачі dbus, але це має бути більш зручним для користувачів і менше заважати системним утилітам Ubuntu.
Тестується з Ubuntu Desktop 10.10 і має працювати з більш ранніми версіями або іншими дистрибутивами, використовуючи NetworkManager та dbus.