時折、さまざまな理由でWi-Fi接続が機能しなくなります。ネットワークインジケーターのグラフィカルインターフェイスを使用してWi-Fiを無効にしてから再度有効にしても、これらの場合の問題は解決しません。
マシンを再起動せずにコマンドラインからWi-Fi接続を完全に再起動するにはどうすればよいですか?
時折、さまざまな理由で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
.service
暗示されているので、省略することができますsudo systemctl restart NetworkManager
.service
た。
systemd
initシステムに切り替わりました。これは、起動時に基本的なサービスとデーモンを実際に起動するものです。問題は、古いものとは異なり、systemd
単に物事を開始するだけでなく 、物事を管理しようとすることです。これはnmcli
と一致するように書き換えられることになりsystemd
ます。少なくともこれは私の理解です。
私が考えている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
使用ifdown
を無効にネットワークへの+インタフェース名
ifdown IFACE
ifup
+インターフェイス名を使用して有効にします
ifup IFACE
IFACE
によって指定されたデバイス名に置き換えますifconfig