Mam maszynę Ubuntu z oprogramowaniem wymagającym Internetu. Czasami jednak Wi-Fi nie działa (na przykład restart routera) i nie odnajduje sieci ponownie, dopóki ręcznie nie zrestartuję menedżera sieci lub nie wyłączy się i nie włączę Wi-Fi, aby go znaleźć.
Czy jest możliwy sposób uruchomienia zadania CRON lub zadania nadzorcy w celu monitorowania łączności i jeśli nie można znaleźć sieci, aby ponownie uruchomić usługę menedżera sieci i połączyć się z tym konkretnym identyfikatorem SSID?
networking
wireless
cron
Niebieski dżin
źródło
źródło
Odpowiedzi:
Myślę, że może to być spowodowane nowym błędem menedżera sieci, ponieważ ten problem również zacząłem ostatnio - myślę, że po aktualizacji do Ubuntu 15.04.
Wygląda na to, że udało mi się tymczasowo rozwiązać ten problem jako obejście tych dwóch plików:
~/.bin/WiFi-Keep-Connected
Z tą zawartością:~/.config/autostart/KeepWifiConnected.desktop
Z tą zawartością:Uwaga: musisz wpisać swoją nazwę użytkownika w ścieżce podanej
Exec=
powyżej.Uwaga: czasami ponowne uruchomienie Wi-Fi w ten sposób nie wystarczy, w takim przypadku muszę ponownie uruchomić Menedżera sieci , wprowadzając to polecenie raz lub nawet dwa razy z terminala:
sudo service network-manager restart
Dlatego lepszym pomysłem może być zmodyfikowanie powyższego skryptu (na wszelki wypadek) w następujący sposób:
źródło
Nie wiem dlaczego, ale jak wspominasz, czasami, gdy Wi-Fi zawiedzie, menedżer sieci nie znajdzie sieci ponownie.
Myślę, że problem polega na tym, że menedżer sieci po awarii połączenia Wi-Fi nie odświeża listy Wi-Fi (i wygląda na to, że menedżer sieci ukrywa problematyczną sieć). Menedżer sieci nie ma opcji menu ponownego skanowania, a wyłączenie i włączenie pola wyboru sieci bezprzewodowej w menu menedżera sieci nie wymusza nowego skanowania Wi-Fi (podobnie jak w przypadku ponownego uruchomienia usługi).
Gdy menedżer sieci utraci połączenie przewodowe i nie znajdzie ponownie mojego Wi-Fi (i wiedziałem, że Wi-Fi działa), wykonuję polecenie:
Wykonuje skanowanie Wi-Fi na interfejsie wlan0 (wlan0 to nazwa interfejsu bezprzewodowego w moim laptopie) i pokazuje dostępne sieci bezprzewodowe, ale jako efekt uboczny menedżer sieci automatycznie odświeża swoją listę i znajduje utraconą sieć.
Wolę wykonać polecenie ręcznie, gdy wystąpi ten problem (ponowne połączenie sieciowe nie zapewnia wznowienia komunikacji, a niektóre programy będą musiały zostać ponownie uruchomione).
Ale, jak wspomniałeś, możesz to zrobić i możesz to zrobić bez testowania łączności (proces skanowania aktualizuje listę Wi-Fi, ale nie zamyka twojego obecnego połączenia bezprzewodowego, jeśli jesteś podłączony).
Jeśli wolisz, możesz przetestować łączność za pomocą polecenia ping lub iwconfig, a jeśli nie masz połączenia, uruchom skanowanie.
Coś jak:
Pamiętaj jednak, że ten skrypt musi być sudo lub wykonany z uprawnieniami administratora. Wysyła tylko 1 ping z 1 sekundowym limitem czasu.
źródło
Myślę, że problem polega na tym, że połączenie zostaje utracone z powodu problemów z łącznością routera. Ponowne uruchomienie menedżera sieci nie może pomóc, gdy sam router ma problemy. Zamiast tego możesz utworzyć skrypt, aby zawiesić proces uruchamiania oprogramowania za pomocą SIGSTOP, gdy połączenie zostanie utracone, i ponownie uruchomić proces kontynuowania używania SIGCONT, gdy sieć stanie się dostępna. I dodaj skrypt do zadań crona, planując jego uruchamianie co minutę.
W celach informacyjnych: http://hints.macworld.com/article.php?story=20030915193440334
Mam nadzieję że to pomoże.
źródło