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.