時折、さまざまな理由でWi-Fi接続が機能しなくなります。ネットワークインジケータのグラフィカルインターフェイスを介してWi-Fiを無効にしてから再度有効にしても、これらの場合の問題は解決しません。
マシンを再起動せずにコマンドラインからWi-Fi接続を完全に再起動するにはどうすればよいですか(これにより、これらの問題が修正されます)。
nmcli
は、Network Managerと対話するための非常に便利なコマンドラインユーティリティです。 Ubuntu 16.04 LTSでこのコマンドを使用します
nmcli radio wifi off && sleep 5 && nmcli radio wifi on
15.10より前のバージョン(つまり、systemd
への移行前)の場合、コマンドは少し異なります。
nmcli nm wifi off && sleep 5 && nmcli nm wifi on
それについての良いこと-これはルート権限を必要としません。
ネットワークマネージャー自体を再起動することもお勧めします。
16.04 LTSの場合:
Sudo systemctl restart NetworkManager
および14.04 LTSの場合:
Sudo service network-manager restart
本当に必要な場合は、wifiを再起動するスクリプトで自動化することもできます。
#!/bin/bash
# replace wlan0 with your device name
# as given by ip addr or ifconfig
while true
do
# keep checking if we have ip address
wifi_info=$(ip -4 -o addr show wlan0 )
while [ -n "$wifi_info" ];
do
wifi_info=$(ip -4 -o addr show wlan0 )
sleep 0.25
done
# We get here only if IP address is lost
# which means we're off-line
# restart wifi
nmcli radio wifi off && sleep 5 && nmcli radio wifi on
done
私が考えている2つの選択肢は次のとおりです。
最初の代替、インターフェースをダウン/アップ
ifconfig wlan0 down ## assumes your wlan is named wlan0
ifconfig wlan0 up
2番目の選択肢、ネットワークマネージャー全体を再起動します。これは、ネットワークマネージャーがインストールされていることを前提としています。そうでない場合は、次のcmdを使用して端末Sudo apt-get install network-manager
にインストールします。
Sudo service network-manager restart
Ubuntu 15.10および16.04 LTSでは、systemd
機能を使用できます。
systemctl restart NetworkManager.service
ifdown
+インターフェイス名を使用してネットワークを無効にします
ifdown IFACE
ifup
+インターフェイス名を使用して有効にします
ifup IFACE
IFACE
を、ifconfig
で指定されたデバイス名に置き換えます