当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

每当插入有线以太网电缆时,自动禁用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。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11806.html,未经允许,请勿转载。