如何从命令行重新启动我的 Wi-Fi 连接?

如何从命令行重新启动我的 Wi-Fi 连接?

有时,我的 Wi-Fi 连接会因各种原因而无法正常工作。在这些情况下,通过网络指示器的图形界面禁用并重新启用 Wi-Fi 无法解决问题。

如何才能从命令行完全重启我的 Wi-Fi 连接,而无需重启我的机器(这可以解决这些问题)?

答案1

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

答案2

我正在考虑的两种替代方案如下,

第一种选择,关闭/打开接口

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

第二种选择,重新启动整个网络管理器。这假设您已经安装了网络管理器。如果没有,请在您的终端中使用以下 cmd 安装它sudo apt-get install network-manager

sudo service network-manager restart

答案3

在 Ubuntu 15.10 和 16.04 LTS 上,您可以使用该systemd功能:

 systemctl restart NetworkManager.service

答案4

使用ifdown+ 接口名称禁用网络

向下 IFACE

使用ifup+ 接口名称来启用它

IFACE 系统

替换IFACE为您的设备名称ifconfig

相关内容