Bagaimana saya bisa memulai kembali koneksi Wi-Fi saya dari baris perintah?

28

Terkadang, koneksi Wi-Fi saya tidak berfungsi lagi karena berbagai alasan. Menonaktifkan dan mengaktifkan kembali Wi-Fi melalui antarmuka grafis dari indikator jaringan tidak menyelesaikan masalah dalam kasus ini.

Bagaimana saya bisa me-restart koneksi Wi-Fi saya sepenuhnya dari command-line tanpa harus me-restart mesin saya (yang memperbaiki masalah ini)?

orschiro
sumber

Jawaban:

35

nmcliadalah utilitas baris perintah yang sangat berguna untuk berinteraksi dengan Network Manager. Gunakan perintah ini di Ubuntu 16.04 LTS

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

Untuk versi sebelum 15.10 (yaitu sebelum transisi ke systemd) perintah akan sedikit berbeda:

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

Untung tentang ini - ini tidak memerlukan kekuatan root.

Restart manajer jaringan itu sendiri adalah ide yang bagus juga.

Untuk 16,04 LTS:

sudo systemctl restart NetworkManager

dan untuk 14,04 LTS:

sudo service network-manager restart

Dan jika kami benar-benar ingin, kami bahkan dapat mengotomatiskannya dengan skrip yang akan me-restart wifi Anda.

#!/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
sumber
4
.servicetersirat, jadi bisa dihilangkansudo systemctl restart NetworkManager
Zanna
1
@Zanna TIL ... Saya telah mengetik .servicesepanjang waktu ini.
edwinksl
Bekerja seperti pesona bagi saya.
Josh
Terima kasih, sangat baik. Mengapa ada 2 perintah berbeda?
neverMind9
1
@ TechLord Pada dasarnya, itu karena sejak versi 15.04, Ubuntu telah beralih ke systemdsistem init - hal-hal yang sebenarnya memunculkan layanan dasar dan daemon ketika Anda boot. Masalahnya adalah bahwa tidak seperti barang-barang yang lebih tua, systemdmencoba untuk tidak hanya memulai barang, tetapi juga mengelola barang-barang itu. Hal ini menyebabkan nmcliditulis ulang agar sesuai systemd. Setidaknya ini pemahaman saya.
Sergiy Kolodyazhnyy
10

Dua alternatif yang saya pikirkan berikut,

Alternatif pertama , bawa turun / naik antarmuka

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

Alternatif kedua , restart seluruh network-manager. Ini mengasumsikan Anda memiliki manajer jaringan yang diinstal. Jika tidak, instal dengan cmd berikut di terminal Anda sudo apt-get install network-manager.

sudo service network-manager restart
Mattias
sumber
5

Di Ubuntu 15.10 dan 16.04 LTS Anda dapat menggunakan systemdfitur ini:

 systemctl restart NetworkManager.service
GAD3R
sumber
4

Gunakan ifdownnama + antarmuka untuk menonaktifkan jaringan

ifdown IFACE

Gunakan ifupnama + antarmuka untuk mengaktifkannya

ifup IFACE

Ganti IFACEdengan nama perangkat Anda seperti yang diberikan olehifconfig

Abhijith.s
sumber