Se a rede sem fio for a única interface de rede do seu sistema, você pode tentar usar nmcli
para desativar / ativar sua rede; o Wi-Fi deve se reconectar automaticamente nesse caso:
nmcli nm enable false && sleep 10 && nmcli nm enable true
Eu quero reconectar meu wifi, mas idealmente algo tão simples como emular o clique no símbolo de wifi no canto superior direito. Isto é porque eu estou atrás de um portal cativo, e às vezes ele expira, e ele precisa se reconectar para estar disponível novamente, o que eu gostaria de fazer via cron
, mas caso contrário eu realmente gosto da utilidade do gnome. p>
Perguntas semelhantes foram feitas, mas todas parecem resolver em torno de alguma versão do
sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
Isso não parece fazer o que eu quero. Por exemplo, depois de rodar sudo ifconfig wlan0 down
gnome nem reconhece que o wifi está desconectado (mesmo que a internet obviamente não funcione mais).
Existe uma maneira de abordar o sistema que o gnome está usando?
Obrigado
Se a rede sem fio for a única interface de rede do seu sistema, você pode tentar usar nmcli
para desativar / ativar sua rede; o Wi-Fi deve se reconectar automaticamente nesse caso:
nmcli nm enable false && sleep 10 && nmcli nm enable true
Acabou sendo bem simples:
nmcli nm wifi off
nmcli nm wifi on
Não é necessário dormir. Para executar em cron
, tive que adicionar um sudo
.
Meu roteiro final:
#!/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
e adicionado ao cron com
* * * * * /usr/local/bin/ensure_connection_to_web.sh