WLAN を使用しない場合は、自動的に WLAN 接続を切断します。

WLAN を使用しない場合は、自動的に WLAN 接続を切断します。

Nokia N900 では、WLAN 使用率を監視し、トラフィックが非常に低いときに接続を閉じる AutoDisconnect というアプリケーションがあります。

バッテリー寿命を節約するために、将来のノートブックにも同様の機能をインストールしたいと思います。つまり、不要なときにWLANを自動的に無効にします。 Linuxでこれを達成するためのソリューションはありますか?私は私が選択したディストリビューションとしてLinux Mintを使用する予定です。

答え1

vnstatこれには、次のようないくつかの帯域幅監視ツールを使用できます。 Linux Mint にインストールするには:

sudo apt-get install vnstat

その後、指定された期間の平均接続速度を監視し、速度が特定の制限を下回ると、Wi-Fiをオフにできます。

5 KB/sしたがって、平均ダウンロード速度が30秒の監視期間未満に低下したときにWi-Fiをオフにしようとすると、コードは次のようになります。

#!/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

関連情報