Wie kann ich meine Wi-Fi-Verbindung über die Befehlszeile neu starten?


28

Gelegentlich funktioniert meine WLAN-Verbindung aus verschiedenen Gründen nicht mehr. Durch Deaktivieren und erneutes Aktivieren von Wi-Fi über die grafische Oberfläche der Netzwerkanzeige werden die Probleme in diesen Fällen nicht behoben.

Wie kann ich meine Wi-Fi-Verbindung über die Befehlszeile vollständig neu starten, ohne meinen Computer neu starten zu müssen (wodurch diese Probleme behoben werden)?


Schauen Sie sich diesen Link zum
Nick Sillito

Antworten:


35

nmcliist ein sehr nützliches Befehlszeilenprogramm für die Interaktion mit Network Manager. Verwenden Sie diesen Befehl in Ubuntu 16.04 LTS

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

Für Versionen vor 15.10 (dh vor dem Übergang zu systemd) wäre der Befehl etwas anders:

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

Das Gute daran ist, dass hierfür keine Root-Kräfte erforderlich sind.

Ein Neustart des Netzwerkmanagers selbst ist ebenfalls eine gute Idee.

Für 16.04 LTS:

sudo systemctl restart NetworkManager

und für 14.04 LTS:

sudo service network-manager restart

Und wenn wir es wirklich wollten, könnten wir es sogar mit einem Skript automatisieren, das Ihr WLAN neu startet.

#!/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
.servicewird angedeutet, kann also weggelassen werdensudo systemctl restart NetworkManager
Zanna

1
@Zanna TIL ... Ich habe die .serviceganze Zeit getippt .
Edwinksl

Arbeitete wie ein Zauber für mich.
Josh

Danke, sehr gut. Warum gibt es 2 verschiedene Befehle?
NeverMind9

1
@TechLord Grundsätzlich liegt es daran, dass Ubuntu seit der Version 15.04 auf systemdinit system umgestellt hat - das Zeug, das beim Booten grundlegende Dienste und Dämonen aufruft. Das Problem ist , dass im Gegensatz zu älteren Sachen, systemdversucht einfach nicht starten Sachen, sondern auch verwalten das Zeug. Dies führte dazu, nmclidass es entsprechend umgeschrieben wurde systemd. Zumindest ist dies mein Verständnis.
Sergiy Kolodyazhnyy

10

Zwei Alternativen, über die ich nachdenke, folgen:

Erste Alternative , die Schnittstelle runter / rauf fahren

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

Zweite Alternative : Starten Sie den gesamten Netzwerkmanager neu. Dies setzt voraus, dass Sie den Netzwerkmanager installiert haben. Wenn nicht, installieren Sie es mit dem folgenden Befehl in Ihrem Terminal sudo apt-get install network-manager.

sudo service network-manager restart

5

Auf Ubuntu 15.10 und 16.04 LTS können Sie die systemdFunktion verwenden:

 systemctl restart NetworkManager.service

4

Verwenden Sie ifdown+ Schnittstellenname, um das Netzwerk zu deaktivieren

ifdown IFACE

Verwenden Sie ifup+ Schnittstellenname, um es zu aktivieren

ifup IFACE

Ersetzen Sie IFACEdurch Ihren Gerätenamen, wie von angegebenifconfig

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.