问题描述
每当插入有线以太网电缆时,自动禁用Wifi /无线连接的最佳方法是什么?稍后拔掉电线时,我希望它是re-enabled。
另外,有时我想与其他无线用户共享有线连接(反之亦然)。如果能以某种方式豁免这些设置,那将是很好的。
我正在使用11.10 Oneiric,它使用了NetworkManager。
最佳答案
以下脚本放在/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
然后保存并退出。
请注意脚本上的以下条件,如the NetworkManager manual page中所述:
Each script should be:
- a regular file,
- owned by root,
- not writable by group or other,
- not set-uid,
- and executable by the owner.
除了nmcli radio wifi off
(对于较旧版本的NetworkManager而言,也不是nmcli nm wifi off
),还有rfkill block wifi
。但是,如果使用rfkill
而不是nmcli
,则新版本的NetworkManager将在引导过程中重新打开wifi。