如果不使用则自动断开 WLAN

如果不使用则自动断开 WLAN

对于诺基亚 N900,有一个名为 AutoDisconnect 的应用程序,它可以监控 WLAN 使用情况,并在流量非常低时关闭连接。

我希望在我未来的笔记本电脑上安装类似的功能,以节省电池寿命,即在不需要时自动禁用 WLAN。在Linux下有什么解决方案可以实现这一点吗?我计划使用 Linux Mint 作为我选择的发行版。

答案1

vnstat为此,您可以使用一些带宽监控工具,例如。要在 Linux Mint 上安装它,请执行以下操作:

sudo apt-get install vnstat

然后,您可以监控指定时间内的平均连接速度,如果速度低于某个特定限制,则关闭 WLAN。

因此,假设您想要5 KB/s在 30 秒的监控时间内平均下载速率低于以下水平时关闭 WLAN,那么您的代码将是:

#!/bin/bash

#Taking sudo power initially because it will be required later on
sudo echo "Starting AutoDisconnect"

while true
do
  downSpeed=$(vnstat -ru 0 -tr 30 -i wlan0 | grep rx | grep -oP "\d+\.\d+")
  if (( $(echo "$downSpeed < 5.0" | bc -l) ))
  then
    sudo ifconfig wlan0 down
    exit  #exit now because we don't need monitoring since the interface is down
  fi
done

重要位的解释

-ru 0      ==> to show the rate in bytes/s (use "1" for bits/s)
-tr 30     ==> take average over 30 seconds usage
-i wlan0   ==> `vnstat` defaults to eth0 on my computer (marmistrz)
bc -l      ==> used in bash for doing arithmetic

grep rx             ==> considering only the receiving rate (i.e. download rate)
grep -oP "\d+\.\d+" ==> strip out the download rate from the output

相关内容