Làm cách nào tôi có thể khởi động lại kết nối Wi-Fi của mình từ dòng lệnh?


28

Đôi khi, kết nối Wi-Fi của tôi không còn hoạt động vì nhiều lý do. Vô hiệu hóa và bật lại Wi-Fi thông qua giao diện đồ họa của chỉ báo mạng không giải quyết được các vấn đề trong những trường hợp này.

Làm cách nào tôi có thể khởi động lại hoàn toàn kết nối Wi-Fi của mình từ dòng lệnh mà không phải khởi động lại máy (giúp khắc phục các sự cố này)?


Hãy xem điều này trên liên kết
Nick Sillito

Câu trả lời:


35

nmclilà tiện ích dòng lệnh rất hữu ích để tương tác với Trình quản lý mạng. Sử dụng lệnh này trong Ubuntu 16.04 LTS

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

Đối với các phiên bản trước 15.10 (tức là trước khi chuyển sang systemd), lệnh sẽ hơi khác một chút:

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

Điều tốt về nó - điều này không đòi hỏi quyền hạn gốc.

Khởi động lại trình quản lý mạng cũng là một ý tưởng tốt.

Đối với 16,04 LTS:

sudo systemctl restart NetworkManager

và cho 14,04 LTS:

sudo service network-manager restart

Và nếu chúng tôi thực sự muốn, chúng tôi thậm chí có thể tự động hóa nó với một tập lệnh sẽ khởi động lại wifi của bạn.

#!/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được ngụ ý, vì vậy có thể được bỏ quasudo systemctl restart NetworkManager
Zanna

1
@Zanna TIL ... Tôi đã gõ .servicetoàn bộ thời gian này.
edwinksl

Làm việc như một cơ duyên đối với tôi.
Josh

Cảm ơn, xuất sắc. Tại sao có 2 lệnh khác nhau?
neverMind9

1
@TechLord Về cơ bản, đó là vì kể từ phiên bản 15.04, Ubuntu đã chuyển sang systemdhệ thống init - thứ thực sự mang đến các dịch vụ cơ bản và trình nền khi bạn khởi động. Vấn đề là không giống như những thứ cũ hơn, systemdcố gắng không chỉ bắt đầu công cụ, mà còn quản lý công cụ. Điều này dẫn đến nmcliviệc được viết lại để phù hợp với systemd. Ít nhất đây là sự hiểu biết của tôi.
Sergiy Kolodyazhnyy

10

Hai lựa chọn thay thế tôi nghĩ về sau,

Thay thế đầu tiên , đưa xuống / lên giao diện

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

Thay thế thứ hai , khởi động lại toàn bộ quản lý mạng. Điều này giả định rằng bạn đã cài đặt trình quản lý mạng. Nếu không, cài đặt nó với cmd sau trong thiết bị đầu cuối của bạn sudo apt-get install network-manager.

sudo service network-manager restart

5

Trên Ubuntu 15.10 và 16.04 LTS, bạn có thể sử dụng systemdtính năng:

 systemctl restart NetworkManager.service

4

Sử dụng ifdown+ tên giao diện để tắt mạng

ifdown

Sử dụng ifup+ tên giao diện để kích hoạt nó

ifup

Thay thế IFACEbằng tên thiết bị của bạn như được đưa ra bởiifconfig

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.