Como posso reiniciar minha conexão Wi-Fi na linha de comando?

28

Ocasionalmente, minha conexão Wi-Fi não funciona mais por vários motivos. Desabilitar e reativar o Wi-Fi através da interface gráfica do indicador de rede não resolve os problemas nesses casos.

Como posso reiniciar completamente minha conexão Wi-Fi na linha de comando sem precisar reiniciar minha máquina (que corrige esses problemas)?

orschiro
fonte

Respostas:

35

nmclié um utilitário de linha de comando muito útil para interagir com o Network Manager. Use este comando no Ubuntu 16.04 LTS

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

Para versões anteriores à 15.10 (ou seja, antes da transição para systemd), o comando seria um pouco diferente:

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

Coisa boa sobre isso - isso não requer poderes de raiz.

Reiniciar o próprio gerenciador de rede também é uma boa ideia.

Para 16.04 LTS:

sudo systemctl restart NetworkManager

e para 14,04 LTS:

sudo service network-manager restart

E se realmente quiséssemos, poderíamos até automatizá-lo com um script que reiniciará o seu 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
Sergiy Kolodyazhnyy
fonte
4
.serviceé implícita, por isso, pode ser omitidosudo systemctl restart NetworkManager
Zanna
1
@ Zanna TIL ... Eu tenho digitado .serviceesse tempo todo.
precisa saber é o seguinte
Caiu como uma luva para mim.
21717 Josh
Obrigado, excelente. Por que existem 2 comandos diferentes?
precisa saber é o seguinte
1
@TechLord Basicamente, é porque desde a versão 15.04, o Ubuntu mudou para o systemdsistema init - o que realmente traz serviços básicos e daemons quando você inicializa. O problema é que, ao contrário das coisas mais antigas, systemdtenta não apenas começar as coisas, mas também gerenciar as coisas. Isso levou a nmcliser reescrito para combinar com systemd. Pelo menos esse é o meu entendimento.
Sergiy Kolodyazhnyy
10

Duas alternativas que estou pensando a seguir,

Primeira alternativa , desative / atualize a interface

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

Segunda alternativa , reinicie o gerenciador de rede inteiro. Isso pressupõe que você tenha um gerenciador de rede instalado. Caso contrário, instale-o com o seguinte cmd no seu terminal sudo apt-get install network-manager.

sudo service network-manager restart
mattias
fonte
5

No Ubuntu 15.10 e 16.04 LTS, você pode usar o systemdrecurso:

 systemctl restart NetworkManager.service
GAD3R
fonte
4

Use ifdown+ nome da interface para desativar a rede

ifdown IFACE

Use ifup+ nome da interface para habilitá-lo

ifup IFACE

Substitua IFACEpelo nome do seu dispositivo, conforme indicado porifconfig

Abhijith.s
fonte