मुझे पता नहीं क्यों, लेकिन जैसा कि आप उल्लेख करते हैं, कभी-कभी जब वाईफाई विफल हो जाता है, तो नेटवर्क-प्रबंधक फिर से नेटवर्क नहीं पाता है।
मुझे लगता है कि समस्या यह है कि नेटवर्क-प्रबंधक, वाईफाई कनेक्शन विफलता के बाद, वाईफाई सूची को ताज़ा नहीं करता है (और ऐसा लगता है कि नेटवर्क-प्रबंधक समस्याग्रस्त नेटवर्क को छुपाता है)। नेटवर्क-प्रबंधक के पास पुन: स्कैन मेनू विकल्प नहीं है, और नेटवर्क-प्रबंधक मेनू पर वायरलेस चेकबॉक्स को अक्षम और सक्षम करना एक नया वाईफाई स्कैन (जैसा कि सेवा शुरू होती है) को बाध्य नहीं करता है।
जब नेटवर्क-मैनेजर मेरे वायरल कनेक्शन को खो देता है और उसे फिर से मेरी वाईफाई नहीं मिलती है (और मुझे पता था कि वाईफाई ऑपरेटिव है), मैं कमांड निष्पादित करता हूं:
sudo iwlist wlan0 scan
यह wlan0 इंटरफ़ेस पर एक wifi स्कैन करता है (wlan0 मेरे लैपटॉप में वायरलेस इंटरफ़ेस का नाम है) और यह आपको उपलब्ध वायरलेस नेटवर्क दिखाता है, लेकिन एक साइड इफेक्ट नेटवर्क-मैनेजर के रूप में स्वचालित रूप से इसकी सूची को ताज़ा करता है और खोए हुए नेटवर्क को ढूंढता है।
जब यह समस्या होती है, तो मैं मैन्युअल रूप से कमांड निष्पादित करना पसंद करता हूं (नेटवर्क पुन: कनेक्ट करना कॉम्यूनिकेशन फिर से शुरू करना सुनिश्चित नहीं करता है, और कुछ कार्यक्रमों को फिर से शुरू करने की आवश्यकता होगी)।
लेकिन, जैसा कि आप उल्लेख करते हैं, आप इसे क्रोन कर सकते हैं, और आप इसे कनेक्टिविटी के परीक्षण के बिना कर सकते हैं (स्कैन प्रक्रिया आपकी वाईफाई सूची को अपडेट करती है लेकिन यह आपके वर्तमान वायरलेस कनेक्शन को बंद नहीं करती है, यदि आप जुड़े हुए हैं)।
यदि आप पसंद करते हैं तो आप पिंग या आईवॉन्फिग का उपयोग करके शंकुवृद्धि का परीक्षण कर सकते हैं और यदि आप कनेक्ट नहीं हैं, तो स्कैन लॉन्च करें।
कुछ इस तरह:
#!/bin/bash
if ! ping -c 1 -W 1 your_router_ip &> /dev/null
then
iwlist wlan0 scan
fi
लेकिन याद रखें कि इस स्क्रिप्ट को मूल विशेषाधिकार के साथ sudoed या निष्पादित किया जाना चाहिए। यह 1 सेकंड टाइमआउट के साथ केवल 1 पिंग भेजता है।