जवाबों:
यह स्क्रिप्ट स्थिति को टॉगल करेगी, और यह पुष्टि करने के लिए एक संदेश दिखाएगी कि क्या किया गया है।
#!/bin/bash
if [ $(rfkill list wifi | grep "Soft blocked: yes" | wc -l) -gt 0 ] ; then
rfkill unblock wifi
zenity --info --text "Enabled wireless"
else
rfkill block wifi
zenity --info --text "Disabled wireless"
fi
ज़ेनिटी के संकेत गायब होने के लिए, उन्हें इस तरह बदलें:
zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"
या आपके स्क्रीन के कोने में दिखाई देने वाली सूचनाएं करें।
sudo apt-get install libnotify-bin
Zenity लाइनों के साथ बदलें
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
--timeout="n"
zenity के लिए एक undocumented विकल्प है।
मैं थोड़ी देर के लिए खुद के लिए इस के लिए एक समाधान के लिए देख रहा हूँ, और सभी के लिए सुझावों और चाल का उपयोग किया है। मैंने आखिरकार मेरे लिए काम करने वाले समाधान को ढूंढ लिया है, और एक नौसिखिया चलने का फैसला किया है। मेरे साथ सहन, यह उन लोगों में से भी है जो आप जैसे कई लोगों की तुलना में लिनक्स में प्रोग्राम कर सकते हैं;
शीर्ष बाईं ओर बार (डैश होम) के लॉन्चर आइकन पर क्लिक करें, 'gedit' टाइप करें, और एंटर पर क्लिक करें।
अब आप उस स्क्रिप्ट को बनाने जा रहे हैं जो वाईफ़ाई को चालू कर देगी;
मैंने नेटवर्क प्रबंधक शॉर्टकट का उपयोग किया; nmcli nm वाईफाई, वाईफ़ाई स्थिति का निर्धारण करने के लिए, और इसे नियंत्रित करने के लिए भी। मैंने वाईफाई स्टेट को प्रदर्शित करने के लिए उपरोक्त उदाहरण में दी गई अधिसूचना स्क्रिप्ट का उपयोग किया। यहाँ मेरी स्क्रिप्ट है;
#!/bin/bash
if [ $(nmcli nm wifi | grep "disabled" | wc -l) -eq 1 ] ; then
nmcli nm wifi on
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
else
nmcli nm wifi off
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
fi
इसे उस संपादक में कॉपी और पेस्ट करें जिसे आपने अभी खोला है, और इसे किसी भी फ़ाइलनाम के रूप में सहेजें जो आपको उपयुक्त लगता है (मेरा wifitoggle था)।
अगला कदम फ़ाइल को निष्पादन योग्य बनाना था (होम फोल्डर में; अपनी फ़ाइल, गुण, अनुमति टैब पर क्लिक करें, 'निष्पादन योग्य के रूप में चलाएँ' पर चिह्न चिह्नित करें)।
फिर फाइल सिस्टम / यूएसआर / बिन डायरेक्टरी (ओपन टर्मिनल, टाइप सुडो नॉटिलस) में एक कॉपी रखें। फाइल सिस्टम पर नेविगेट करें, फिर यूएसआर, फिर बिन को खोलें। पेस्ट y)।
अंत में, सिस्टम सेटिंग्स -> कीबोर्ड -> शॉर्टकट टैब पर जाएं; नीचे थोड़ा + बटन दबाएं, अपने टॉगल के लिए नाम भरें और आपके द्वारा दी गई स्क्रिप्ट के लिए फ़ाइल नाम भरें (मेरे मामले में wifitoggle)। लागू करें पर क्लिक करें, और उसके दाईं ओर दिए गए 'अक्षम' पाठ पर क्लिक करें, और फिर अपनी गर्म कुंजियों को दबाएँ। किया हुआ!
हाँ आप cnetworkmanager के साथ कर सकते हैं । यह रिपॉजिटरी में है, इसलिए इसे स्थापित करें और कमांड के साथ एक लॉन्चर बनाएं cnetworkmanager --wifi=no
यदि आप वायरलेस और कमांड को अक्षम cnetworkmanager --wifi=yes
करना चाहते हैं यदि आप वायरलेस को सक्षम करना चाहते हैं।
जैसे कुछ: sudo ifconfig <wlan0> down
या sudo ifconfig <wlan0> up
?
यहाँ मेरी स्क्रिप्ट है:
#!/bin/bash
echo "Checking wireless iface status...."
if iwconfig wlan0 | grep Quality
then
echo "Wi/Fi is being disabled...."
if rfkill block wifi
then
echo "Wi/Fi is now OFF!"
fi
else
echo "Wi/Fi is being enabled...."
if rfkill unblock wifi
then
echo "Wi/Fi is now ON!"
fi
fi
FYI करें: rfkill जैसा कि david और misterben ने सुझाव दिया है कि यदि आप Network-Manager का उपयोग कर रहे हैं तो बेहतर है ।
ifconfig इंटरफ़ेस को अक्षम कर देगा, लेकिन नेटवर्क-प्रबंधक इसे अपने आप फिर से सक्षम करेगा।