पासवर्ड प्रदान करने की आवश्यकता के बिना एक कमांड के साथ नेटवर्क को पुनरारंभ करें


4

मेरे dell लैपटॉप पर वायरलेस नेटवर्क 'सस्पेंड' से फिर से शुरू होने पर कई बार चला जाता है। एक बार जब मैं 'sudo सर्विस नेटवर्क-मैनेजर रिस्टार्ट' चलाता हूं, तो यह काम करना शुरू कर देता है।

मैं सोच रहा था कि क्या कोई रास्ता था जहां मैं सस्पेंड से फिर से शुरू करते समय नेटवर्क को पुनरारंभ कर सकता था और केवल अगर वायरलेस नेटवर्क नहीं था! पासवर्ड दर्ज किए बिना नेटवर्क को पुनरारंभ करने में सक्षम होने का सबसे अच्छा तरीका क्या होगा?

मैं नेटवर्क आइकन पर जाकर और फिर कुछ माउस क्रियाओं को मैन्युअल रूप से करना नहीं चाहता। मेरे पास एक कमांड थी जिसे मैं शॉर्टकट के रूप में स्थापित कर सकता था। मैंने कंटेंट 'सर्विस नेटवर्क-मैनेजर रिस्टार्ट' के साथ एक बैश एग्जीक्यूटेबल बनाने की कोशिश की और एग्जीक्यूटेबल पर सेतु को सेट करने के साथ-साथ इसका मालिकाना हक देने की कोशिश की, लेकिन यह काम नहीं आया।

मेरे पास Ubuntu 14.04 ट्रस्टी ओएस है।

जवाबों:


5

आप sudoersअपने उपयोगकर्ता खाते को पासवर्ड के बिना आवश्यक आदेशों को निष्पादित करने की अनुमति देने के लिए एक बदलाव कर सकते हैं।

चेतावनी : sudoersयह जानने के लिए कि क्या इसके लिए बिल्कुल बिना कुछ भी नहीं हटाना सुनिश्चित करें ! आप संभावित रूप से सभी व्यवस्थापक विशेषाधिकार ढीले कर सकते हैं।

  1. खुला sudo visudo
  2. "Cmnd alias विनिर्देश" जोड़ने वाले अनुभाग में

    Cmnd_Alias NETWORK = /usr/sbin/service network-manager restart
    

    NETWORKआदेशों के एक समूह के लिए सिर्फ एक उपनाम है। यदि आप चाहें तो इसे एक अलग नाम दें!

  3. फ़ाइल के अंत में, स्टेटमेंट को जोड़ें

    user_name ALL = (ALL) NOPASSWD: NETWORK
    

    जहाँ आप अपने उपयोगकर्ता खाते को स्थानापन्न करते हैं user_name। इसके अलावा NETWORKजिस नाम से आपने उपनाम दिया है उसे बदल दें । एक भी उपनाम के बिना कर सकता है और बस इसे कमांड द्वारा प्रतिस्थापित कर सकता है, लेकिन मैं इसे इस तरह से पसंद करता हूं। मुझे लगता है कि यह चीजों को और व्यवस्थित रखता है।

  4. फ़ाइल को सुरक्षित करें और संपादक से बाहर निकलें। इसके साथ जांचें sudo -lकि अब आपको वास्तव में कमांड जारी करने की अनुमति है।

आपको अभी भी कमांड को पूर्व निर्धारित करने की आवश्यकता है sudo, लेकिन आपको अब पासवर्ड के लिए संकेत नहीं दिया जाएगा।


5

एक अन्य संभावना नेटवर्क प्रबंधक के कमांड लाइन इंटरफ़ेस का उपयोग करना है (यह डेमन को पुनरारंभ करने के रूप में "मजबूत" नहीं है, लेकिन यह मेरे लिए काम करता है)। इस मामले में, ऑपरेशन बिल्कुल उसी तरह है जैसे कि आप एप्लेट के साथ बातचीत करते हैं, इसलिए आपको किसी विशेषाधिकार की आवश्यकता नहीं है।

वाईफ़ाई इंटरफ़ेस को पुनरारंभ करने के लिए, इस कोड का उपयोग करें:

nmcli nm wifi off
sleep 5
nmcli nm wifi on

मुझे नेटवर्क ड्रॉपिंग के साथ समान समस्याएं थीं (यह मेरे मामले में एक दोषपूर्ण राउटर था), इसलिए मैंने स्टार्टअप में जोड़े गए इस स्क्रिप्ट का उपयोग किया :

#!/bin/bash
PINGTEST=192.168.1.1 # my router, change here. google.com should work anytime ;-)
while /bin/true; do
    if ! [ "$(ping -c 1 $PINGTEST)" ]; then
        echo "Warning: connection lost at $(date) -- restart" 1>&2  
        nmcli nm wifi off
        sleep 5
        nmcli nm wifi on
        sleep 60
        if ! [ "$(ping -c 1 $PINGTEST)" ]; then
             echo "Waiting for connection going up at $(date)" 1>&2
             sleep 60
        else 
             echo "Connection on at $(date)" 1>&2
        fi
#    else
#        echo "Connection OK on $(date)" 1>&2
    fi
sleep 60
done

यह हर मिनट कनेक्शन की जांच करता है और अगर यह काम नहीं करता है, तो यह वाईफाई को पुनरारंभ करता है।

यदि यह पर्याप्त नहीं है, तो आपको संभवतः मजबूत हथियार का उपयोग करना होगा, जैसे नेटवर्क प्रबंधक को शुरू करना / रोकना। यहां तक ​​कि कभी-कभी मुझ पर विफल हो जाता है, और मुझे वाईफाई कार्ड ड्राइवर मॉड्यूल को उतारने ( sudo rmmod) और फिर लोड ( sudo modprobe) करने का सहारा लेना पड़ता है ।


कुछ बार, मैं 'nmcli nm wifi' का उपयोग सफलतापूर्वक करने में सक्षम हूं और अन्य बार मुझे नेटवर्क-मैनेजर को पुनरारंभ करना होगा! :(
चैंपियन

@Champ हां, ऐसा होता है। मैंने जवाब में उसके बारे में एक नोट जोड़ा। ath9kकभी-कभी इतना गड़बड़ हो जाता है कि आपको इसे हटाना / पुनः लोड करना पड़ता है ...
रमनो

2

आपको इसके समान कुछ जोड़ने में सक्षम होना चाहिए:

YourUserName ALL=NOPASSWD: service network-manager restart

आपकी / etc / sudoers फ़ाइल में और आपकी स्क्रिप्ट के साथ नेटवर्क-प्रबंधक को पुनरारंभ करने में सक्षम हो।


विडोस्को का उल्लेख किए बिना, यह कोशिश करने के लिए एक noob के लिए खतरनाक है!
चैंपियन

0

मैंने अंत में स्क्रिप्ट /etc/pm/sleep.d/0000_custom: लिखना समाप्त कर दिया है

#!/bin/sh
# /etc/pm/sleep.d/0000_custom
# Action script to lock screen and resume wifi properly
PATH=/sbin:/usr/sbin:/bin:/usr/bin
case "$1" in
    suspend|hibernate)
        #do nothing
    ;;
    resume|thaw)
        X_USER=`who| grep ' :0'|cut -f1 -d' '`
# lock screen when resuming from suspend
        sudo -u $X_USER xscreensaver-command -lock
# turn wifi on when resuming from suspend
        nmcli nm wifi on
    ;;
esac
exit 0

उनके जवाब के लिए @RMano और @Nephente को धन्यवाद।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.