Network Manager в Wheezy (а возможно и более новые версии) не умеет отключать беспроводное подключение, когда доступно проводное. Чтобы беспроводное подключение не мешало проводному я отключил автоматическое подключение к домашней точке доступа. Но в этом случае появляется необходимость каждый раз вручную подключаться к точке доступа. Так работало довольно долго, но сегодня я какой-то особенно ленивый и потому решил автоматизировать этот момент.
Одно из средств расширения функциональности Network Manager - dispatcher скрипты. Скрипт /etc/NetworkManager/dispatcher.d/50wired-xor-wireless, управляющий логикой подключения
#!/bin/sh
IFACE="$1"
ACTION="$2"
if [ ! -x "$(which nmcli 2>/dev/null)" ]; then
exit 0
fi
case ${IFACE} in
eth*)
case ${ACTION} in
up)
nmcli nm wifi off
;;
down)
nmcli nm wifi on
;;
esac
;;
esac
Чтобы NetworkManager использовал новый скрипт он должен иметь определенные права
chown root:root /etc/NetworkManager/dispatcher.d/50wired-xor-wireless chmod 0755 /etc/NetworkManager/dispatcher.d/50wired-xor-wireless
Теперь при подключении ethernet-кабеля отключается wifi, а при отключении кабеля - wifi включается обратно. Воистину лень - двигатель прогресса.
