ワイヤレスは、rfkillツールを使用して有効または無効にできます。これに基づくソリューションは、システムの起動時に状態を保存して復元できるようにします。
ステップ00:WiFi状態を保存するファイルの作成
cd /usr/local/etc
sudo touch .wifistate
sudo chmod 666 .wifistate
ステップ01:スクリプト
#!/bin/bash
IFACE="wlan1"
STATE_FILE="/usr/local/etc/.wifistate"
STATE="$(iwconfig $IFACE | grep Tx | cut -d '=' -f2 | grep off)"
if [ "$STATE" ]
then
rfkill unblock wifi &&
echo 1 > "$STATE_FILE" &&
echo "Wireless enabled"
else
rfkill block wifi &&
echo 0 > "$STATE_FILE" &&
echo "Wireless disabled"
fi
exit 0;
ステップ10:スクリプトを実行可能にする
chmod +x <script name>
ステップ11:Ubuntu起動スクリプトを変更する
/etc/rc.local
任意のテキストエディタで開き(ルートとして編集する必要があります)、次のコード
をexit 0;
行の前に追加します。
FILE="/usr/local/etc/.wifistate"
if [ -r "$FILE" ]
then
if [ $(cat $FILE) -eq 0 ]
then
rfkill block wifi
fi
else
rfkill block wifi
fi
これで、ステップ01のスクリプトがキーボードイベントにリンクされるようになりました。最初に使用した後、.wifistateファイルに0または1を書き込み、システム起動時にrc.localスクリプトがこの値を読み取ろうとし、0の場合、wifiを無効にします。
.wifistateファイルが存在しない場合、デフォルトで起動時にwifiは無効になります。
sudo ifdown wlan0
中にはrc.local
再起動後もとにかくシステムには影響しないのだろうか?どういうわけかこのスクリプトを呼び出す必要がありますか?