Як я можу перезапустити з’єднання Wi-Fi з командного рядка?


28

Інколи мій Wi-Fi з різних причин більше не працює. Відключення та повторне включення Wi-Fi через графічний інтерфейс мережевого індикатора не вирішує проблем у цих випадках.

Як я можу повністю перезапустити з’єднання Wi-Fi з командного рядка без необхідності перезавантажувати свою машину (що усуває ці проблеми)?


Погляньте на це посилання
стеками

Відповіді:


35

nmcliє дуже корисною утилітою командного рядка для взаємодії з Менеджером мережі. Використовуйте цю команду в Ubuntu 16.04 LTS

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

Для версій до 15.10 (тобто до переходу до systemd) команда буде дещо іншою:

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

Хороша річ у цьому - для цього не потрібні кореневі повноваження.

Сама перезавантаження мережевого менеджера також є хорошою ідеєю.

За 16.04 LTS:

sudo systemctl restart NetworkManager

та за 14.04 LTS:

sudo service network-manager restart

І якби ми насправді цього хотіли, ми могли б навіть автоматизувати це за допомогою сценарію, який перезапустить ваш 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

4
.serviceмається на увазі, тому можна пропуститиsudo systemctl restart NetworkManager
Zanna

1
@Zanna TIL ... Я .serviceвесь цей час друкував .
edwinksl

Працювало як шарм для мене.
Джош

Дякую, чудово. Чому існують 2 різні команди?
neverMind9

1
@TechLord В основному, це тому, що з версії 15.04 Ubuntu перейшов на systemdсистему init - те, що насправді приносить основні сервіси та демони під час завантаження. Проблема полягає в тому, що на відміну від старих речей, він systemdнамагається не просто починати роботу , а й керувати цим вмістом. Це призводить до nmcliтого, що вони будуть переписані на відповідність systemd. Принаймні, це моє розуміння.
Сергій Колодяжний

10

Дві альтернативи, про які я думаю, наступні,

Перша альтернатива - збити / вгору інтерфейс

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

Друга альтернатива - перезавантажте весь менеджер мережі. Це передбачає, що у вас встановлений мережевий менеджер. Якщо ні, встановіть його з наступним cmd у своєму терміналі sudo apt-get install network-manager.

sudo service network-manager restart

5

У Ubuntu 15.10 та 16.04 LTS ви можете використовувати цю systemdфункцію:

 systemctl restart NetworkManager.service

4

Використовуйте ifdown+ ім'я інтерфейсу для відключення мережі

ifdown IFACE

Використовуйте ifup+ ім'я інтерфейсу, щоб увімкнути його

ifup IFACE

Замініть IFACEім'я свого пристрою, як вказано вifconfig

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.