Come posso riavviare la mia connessione Wi-Fi dalla riga di comando?


28

Di tanto in tanto, la mia connessione Wi-Fi non funziona più per vari motivi. Disabilitare e riattivare il Wi-Fi tramite l'interfaccia grafica dell'indicatore di rete non risolve i problemi in questi casi.

Come posso riavviare completamente la mia connessione Wi-Fi dalla riga di comando senza dover riavviare il mio computer (che risolve questi problemi)?


Dai

Risposte:


35

nmcliè un'utilità da riga di comando molto utile per interagire con Network Manager. Usa questo comando in Ubuntu 16.04 LTS

nmcli radio wifi off && sleep 5 && nmcli radio wifi on

Per le versioni precedenti alla 15.10 (ovvero prima della transizione a systemd) il comando sarebbe leggermente diverso:

nmcli nm wifi off && sleep 5 && nmcli nm wifi on

L'aspetto positivo è che non richiede poteri di root.

Anche il riavvio del gestore della rete è una buona idea.

Per 16.04 LTS:

sudo systemctl restart NetworkManager

e per 14.04 LTS:

sudo service network-manager restart

E se lo volessimo davvero, potremmo persino automatizzarlo con uno script che riavvierà il tuo 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

4
.serviceè implicito, quindi può essere omessosudo systemctl restart NetworkManager
Zanna

1
@Zanna TIL ... Ho scritto .servicetutto questo tempo.
edwinksl,

Ha funzionato benissimo per me.
Josh,

Grazie eccellente Perché ci sono 2 comandi diversi?
neverMind9

1
@TechLord Fondamentalmente, è perché dalla versione 15.04, Ubuntu è passato al systemdsistema init - la roba che in realtà avvia servizi di base e demoni all'avvio. Il problema è che, diversamente dalle cose più vecchie, systemdcerca non solo di iniziare cose, ma anche di gestirle . Questo ha portato a nmcliessere riscritto per abbinarlo systemd. Almeno questa è la mia comprensione.
Sergiy Kolodyazhnyy,

10

Seguono due alternative a cui sto pensando,

Prima alternativa , porta giù / su l'interfaccia

ifconfig wlan0 down ## assumes your wlan is named wlan0
ifconfig wlan0 up

Seconda alternativa , riavviare l'intero gestore di rete. Ciò presuppone che sia installato Network Manager. In caso contrario, installalo con il seguente cmd nel tuo terminale sudo apt-get install network-manager.

sudo service network-manager restart

5

Su Ubuntu 15.10 e 16.04 LTS puoi usare la systemdfunzione:

 systemctl restart NetworkManager.service

4

Utilizzare ifdown+ nome interfaccia per disabilitare la rete

ifdown IFACE

Usa ifup+ nome interfaccia per abilitarlo

ifup IFACE

Sostituisci IFACEcon il nome del tuo dispositivo come indicato daifconfig

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.