我想重新连接我的 wifi,但最好是像模拟点击右上角的 wifi 符号一样简单的操作。这是因为我处于强制门户后面,有时会超时,需要重新连接才能再次可用,我想通过 来执行此操作cron
,但除此之外,我真的很喜欢 gnome 的实用程序。
类似的问题也被问过,但它们似乎都围绕着某种版本的
sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
这似乎并没有达到我想要的效果。例如,运行sudo ifconfig wlan0 down
gnome 后,它甚至无法识别 wifi 已断开连接(尽管互联网显然不再工作)。
有没有办法解决 gnome 所使用的系统?
谢谢
答案1
如果无线是您的系统的唯一网络接口,您可以尝试nmcli
禁用/启用您的网络,在这种情况下,wifi 应该会自动重新连接:
nmcli nm enable false && sleep 10 && nmcli nm enable true
答案2
最终变得非常简单:
nmcli nm wifi off
nmcli nm wifi on
无需睡眠。要执行,cron
我必须添加一个sudo
。
我的最终脚本:
#!/bin/bash --
if ! nc -z -w 2 www.google.com 80
then
echo "CONNECTION WEB: Can't reach the internet. Restarting wireless." | ts >> /var/log/wireless_log
sudo /usr/bin/nmcli nm wifi off
echo "CONNECTION WEB: Turned wifi off. Now turning back on." | ts >> /var/log/wireless_log
sudo /usr/bin/nmcli nm wifi on
echo "CONNECTION WEB: Turned wifi back on." | ts >> /var/log/wireless_log
fi
并将其添加到 cron 中
* * * * * /usr/local/bin/ensure_connection_to_web.sh