Отключите WLan, если Проводная / Кабельная сеть доступна

Вопрос говорит все это. Все, что я хочу, - то, что мое Подключение WLAN должно быть отключено каждый раз, когда проводное соединение доступно. Каков был бы самый легкий способ сделать это в Ubuntu/Gnome?

Во всех руководствах (например, некоторые о guessnet) я нашел, что должен был настроить свою целую конфигурацию сети (ключи WPA, DHCP...), но я нахожу что немного слишком сложный для такого простого варианта использования. Я просто хочу отключить wlan0 когда eth0 соединен.

39
задан 15.01.2011, 11:41

2 ответа

Просто предположение, но я предполагаю, что ifplugd мог помочь. Вы могли заставить его закрыть Wi-Fi, когда кабель используется.

2
ответ дан 07.12.2019, 08:47

Создайте два простых 'сценария', название сценария не важно (я просто использую 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 10.10, и должен работать с более ранними версиями или другим использованием дистрибутивов NetworkManager и dbus.

1
ответ дан 07.12.2019, 08:47

Теги

Похожие вопросы