web-dev-qa-db-ja.com

コマンドラインからWi-Fi接続を再開するにはどうすればよいですか?

時折、さまざまな理由でWi-Fi接続が機能しなくなります。ネットワークインジケータのグラフィカルインターフェイスを介してWi-Fiを無効にしてから再度有効にしても、これらの場合の問題は解決しません。

マシンを再起動せずにコマンドラインからWi-Fi接続を完全に再起動するにはどうすればよいですか(これにより、これらの問題が修正されます)。

28
orschiro

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
34

私が考えている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
10
mattias

Ubuntu 15.10および16.04 LTSでは、systemd機能を使用できます。

 systemctl restart NetworkManager.service
5
GAD3R

ifdown +インターフェイス名を使用してネットワークを無効にします

ifdown IFACE

ifup +インターフェイス名を使用して有効にします

ifup IFACE

IFACEを、ifconfigで指定されたデバイス名に置き換えます

4
Abhijith.s