Я хочу повторно подключить свой Wi-Fi, но идеально что-то столь же простое как эмуляция щелчка по символу Wi-Fi на верхнем правом. Это вызвано тем, что я нахожусь позади присоединенного портала, и иногда он испытывает таймаут, и ему нужно повторно подключение, чтобы быть доступным снова, через который я хотел бы сделать cron
, но иначе мне действительно нравится утилита гнома.
Подобные вопросы задали, но они все, кажется, решают вокруг некоторой версии
sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
Это, вполне кажется, не делает то, что я хочу. Например, после выполнения sudo ifconfig wlan0 down
гном даже не распознает, что Wi-Fi разъединяется (даже при том, что Интернет, очевидно, больше не работает).
Существует ли способ обратиться безотносительно системы, которой случается так, что гном использует?
Спасибо
Если беспроводная связь является единственным сетевым интерфейсом для Вашей системы, Вы могли бы попробовать nmcli
для отключения/разрешения сети, Wi-Fi должен снова соединиться автоматически в этом случае:
nmcli nm enable false && sleep 10 && nmcli nm enable true
Законченный являющийся довольно простым:
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
И добавил его к крону с
* * * * * /usr/local/bin/ensure_connection_to_web.sh