Je fais face à des problèmes de connexion Wi-Fi sur Ubuntu. J'ai essayé de mettre à jour le système, mais le problème est que je perds soudainement la connexion avec mon routeur. Lorsque j'appuie sur la barre WIFI, le système ne détecte aucun point d'accès. décochez l'option "enable WIFI", puis vérifiez-la à nouveau pour que cela fonctionne: il se reconnecte automatiquement.
Je songe à créer un script bash qui détecte le moment où le PC est déconnecté du routeur, quelle que soit la raison, et le désactive ensuite, puis active le wifi. Je veux dire comme automatiser la réinitialisation de la connexion que possible?
je suppose que je dois utiliser ceci
nmcli nm wifi off
nmcli nm wifi on
mais comment puis-je faire savoir au script si le PC est déconnecté du WIFI?
C'est plus simple que vous ne le pensez:
#!/bin/bash
if ! [ "$(ping -c 1 google.com)" ]; then
nmcli nm wifi off
nmcli nm wifi on
fi
Ensuite, vous pouvez utiliser un travail cron pour que ce script s'exécute à chaque minute.
Bien que la réponse soit correcte, vous devez prendre en compte que:
1) cela fonctionnera si l'utilisateur est connecté ou non --- cela peut être un comportement souhaité ou non, selon l'application;
2) si la reconnexion tarde plus d'une minute, vous n'y arriverez jamais ...
J'ai écrit un script simple que je peux exécuter avec les scripts de démarrage de ma session graphique et qui peut être un bon candidat. Je redirige sa sortie vers un fichier afin de pouvoir suivre mon utilitaire SLogger.
Voici le script - on ne sait jamais.
#!/bin/bash
while /bin/true; do
if ! [ "$(ping -c 1 google.com)" ]; then
echo "Warning: connection lost at $(date) -- restart"
nmcli nm wifi off
sleep 5
nmcli nm wifi on
sleep 60
if ! [ "$(ping -c 1 google.com)" ]; then
echo "Waiting for connection going up at $(date)"
sleep 60
else
echo "Connection on at $(date)"
fi
# else
# echo "Connection OK on $(date)"
fi
sleep 60
done