Вставленный следующий скрипт, в /etc/NetworkManager/dispatcher.d/99-disable-wireless-when-wired
основном, работает - он отключает беспроводную связь, даже когда я хочу поделиться проводной связью с беспроводной или наоборот.
Для этого выполните в терминале следующую команду:
sudo nano /etc/NetworkManager/dispatcher.d/99-disable-wireless-when-wired
И вставьте следующий код в текстовый редактор.
#!/bin/sh
myname=${0##*/}
log() { logger -p user.info -t "${myname}[$$]" "$*"; }
IFACE=$1
ACTION=$2
release=$(lsb_release -s -c)
case ${release} in
trusty|utopic) nmobj=nm;;
*) nmobj=radio;;
esac
case ${IFACE} in
eth*|usb*|en*)
case ${ACTION} in
up)
log "disabling wifi radio"
nmcli "${nmobj}" wifi off
;;
down)
log "enabling wifi radio"
nmcli "${nmobj}" wifi on
;;
esac
;;
esac
Затем сохраните и выйдите.
Обратите внимание на следующие условия сценария, описанные на странице руководства NetworkManager :
Каждый скрипт должен быть:
- обычный файл,
- принадлежит root,
- не для записи группой или другим,
- не установлен,
- и исполняемый владельцем.
Вместо nmcli radio wifi off
(или nmcli nm wifi off
для более старых версий NetworkManager) также есть rfkill block wifi
. Однако, если rfkill
используется вместо nmcli
, более новые версии NetworkManager включат Wi-Fi во время загрузки.
rfkill unblock wifi
после того, как вы подключились,eth0
и вы хотите поделиться, а затем,rfkill block wifi
когда вы закончите?CONNECTION_UUID
идентифицирующим это соединение. Я думал, что скрипт может сделать что-то вроде отключения Wi-Fi для соединения, которое я объявил «стандартным» проводным соединением, но оставить его включенным, еслиeth0
оно активировано другим соединением. Я не пробовал это, поэтому я не знаю, работает ли это. Но ваша точка зрения о том, чтобы просто контролировать это вручную, хороша.eth0|usb0)
также для отключения / включения Wi-Fi, когда USB-модем активирован / деактивирован.nmcli nm wifi off
иnmcli nm wifi on
. Но у меня нет особой причины полагать, что команды nmcli лучше. Я просто хотел сделать все с помощью NetworkManager.