有线时自动禁用wifi(无线)?

每当我插入有线以太网电缆时,自动禁用Wifi /无线连接的最佳方法是什么? 我想在以后拔下电线时重新启用它。

此外,我有时喜欢与其他无线用户共享有线连接(反之亦然)。 如果我能以某种方式豁免这些设置,那就太好了。

我正在使用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 

然后保存并退出。

请注意脚本中的以下条件,如NetworkManager手册页中所述 :

每个脚本应该是:

  • 一个普通文件,
  • 由root拥有,
  • 不属于团体或其他人,
  • 没有set-uid,
  • 并由所有者执行。

而不是nmcli radio wifi off (或nmcli nm wifi off旧版本的NetworkManager),还有rfkill block wifi 。 但是,如果rfkill而不是nmcli ,则较新版本的NetworkManager将在启动期间重新打开wifi。