问题描述
有时,由于各种原因,我的Wi-Fi连接不再起作用。在这种情况下,通过网络指示器的图形界面禁用re-enabling和Wi-Fi不能解决问题。
我如何从命令行完全重新启动Wi-Fi连接,而不必重新启动计算机(可以解决这些问题)?
最佳回答
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
这样做的好处-不需要root权限。
重新启动网络管理器本身也是一个好主意。
对于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
次佳回答
我正在考虑的两种选择是
第一种选择,调低/调高界面
ifconfig wlan0 down ## assumes your wlan is named wlan0
ifconfig wlan0 up
第二种方法是重新启动整个network-manager。假设您已安装network-manager。如果不是,请在终端sudo apt-get install network-manager
中使用以下cmd进行安装。
sudo service network-manager restart
第三种回答
在Ubuntu 15.10和16.04 LTS上,可以使用systemd
功能:
systemctl restart NetworkManager.service
第四种回答
使用ifdown
+接口名称禁用网络
ifdown IFACE
使用ifup
+接口名称启用它
ifup IFACE
用ifconfig
给出的设备名称替换IFACE