पेश है लोकेशन चेंजर
यहाँ वाईफाई SSID के आधार पर नेटवर्क स्थानों को बदलने के लिए एक बहुत ही होनहार स्क्रिप्ट है:
यह एंटोन एपरव द्वारा बनाया गया है । आप GitHub पर कोड और अधिक विस्तृत दस्तावेज देख सकते हैं:
स्थापना
यह कमांड लाइन के माध्यम से स्थापित होता है:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
यह निर्देशिका को स्थापित locationchanger
करने के लिए आपसे रूट पासवर्ड मांगेगा /usr/local/bin
।
बस!
उसके बाद, यदि कोई नेटवर्क स्थान है जिसका नाम वर्तमान वाईफाई नेटवर्क के नाम (SSID) के समान है , तो यह स्वचालित रूप से नेटवर्क स्थान पर स्विच हो जाएगा। अन्यथा, यह स्वचालित स्थान पर स्विच हो जाएगा । (BTW, अगर कोई स्थान नहीं है जिसे स्वचालित कहा जाता है , यह लॉग और निकास में शिकायत करता है।)
स्थान-विशिष्ट स्क्रिप्ट
यदि आप किसी विशिष्ट वाईफाई नेटवर्क से कनेक्ट होने पर हर बार स्क्रिप्ट चलाना चाहते हैं, तो उन स्क्रिप्ट को ~/.locations
वाईफाई नेटवर्क के बाद इन में डालें और नाम दें ~/.locations/Corp Wi-Fi
:
#!/usr/bin/env bash
# Require password immediately after sleep or screen saver begins
osascript -e 'tell application "System Events" to set require password to wake of security preferences to true'
और आप बनाना चाहते हैं ~/.locations/Automatic
जो अन्य स्थानों में उन परिवर्तनों को रीसेट करेगा:
#!/usr/bin/env bash
# Don’t require password immediately after sleep or screen saver begins
osascript -e 'tell application "System Events" to set require password to wake of security preferences to false'
स्क्रिप्ट पर निष्पादन बिट्स डालना सुनिश्चित करें ( chmod +x
)।
स्थान उपनाम
आप कई वाईफाई नेटवर्क के बीच एक नेटवर्क स्थान साझा कर सकते हैं। उदाहरण के लिए, यदि आपके पास एक वायरलेस राउटर है जो एक ही समय में 2.4 और 5GHz बैंड पर प्रसारित होता है, तो आप एक कॉन्फ़िगरेशन फ़ाइल बना सकते हैं ~/.locations/locations.conf
और सरल की-वैल्यू पेयर को अंदर रख सकते हैं :
Home_WiFi_5GHz=Home_WiFi
यहां कुंजियाँ WiFi नेटवर्क नाम हैं , और मान संगत नेटवर्क स्थान हैं । उन्हें नंगे बराबर चिह्नों के साथ मिलाएं ( =
, बिना रिक्त स्थान के)। उपरोक्त उदाहरण में, यदि WiFi नेटवर्क Home_WiFi_5GHz जुड़ा हुआ है, तो यह नेटवर्क स्थान Home_WiFi पर स्विच हो जाएगा ।
ध्यान दें कि स्थान उपनाम समान नाम नियम पर प्राथमिकता लेते हैं। उपरोक्त उदाहरण में, केवल स्क्रिप्ट ~/.locations/Home_WiFi
तब चलेगी जब आप WiFi नेटवर्क से जुड़ेंगे Home_WiFi_5GHz ।
स्थान उपनामों के साथ, आपको वाईफाई नेटवर्क के नामों के मिलान के लिए अतिरिक्त नेटवर्क स्थान बनाने की भी आवश्यकता नहीं है।
समस्या निवारण
आप निम्न कमांड के साथ व्यापक लॉग देख सकते हैं:
$ tail -f ~/Library/Logs/LocationChanger.log
नमूना उत्पादन:
[2017-10-13 11:35] Connected to 'Unknown WiFi'
[2017-10-13 11:35] Location 'Unknown WiFi' was not found. Will default to 'Automatic'
[2017-10-13 11:35] Changing the location to 'Automatic'
CurrentSet updated to 6B593A12-C51B-3FF1-DE1D-87310F232147 (Automatic)
[2017-10-13 11:37] Connected to 'Home_WiFi_5GHz'
[2017-10-13 11:37] Will switch the location to 'Home_WiFi' (configuration file)
[2017-10-13 11:37] Changing the location to 'Home_WiFi'
CurrentSet updated to 7900D1E6-3820-50C6-882E-4F5K2BEF32ED (Home_WiFi)
विस्थापना
सबसे पहले, लॉन्च एजेंट को उतारें:
launchctl unload ~/Library/LaunchAgents/LocationChanger.plist
फिर, बाइनरी, प्लिस्ट और लॉग फ़ाइल को हटा दें:
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
आप कॉन्फ़िगरेशन फ़ाइलों और स्थान-विशिष्ट स्क्रिप्ट को भी अंदर निकाल सकते हैं ~/.locations
:
rm -rf ~/.locations