MacosX में लगातार ब्रेकिंग को वाईफ़ाई साझा करने के लिए निश्चित समाधान
मुझे एक प्रणाली मिली है जो अंत में काम करती है और जब, कम बार वाईफ़ाई साझाकरण टूट जाता है, तो यह इसे एक मिनट में स्वचालित रूप से पुनर्प्राप्त करने का प्रबंधन करता है।
समाधान ~/Library/LaunchAgents/com.me.wifisharingup.plistअगली सामग्री के साथ एक डेमॉन है:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.juanfal.wifisharingup</string>
<key>ProgramArguments</key>
<array>
<string>/Users/mi/bin/wifisharingup.sh</string>
</array>
<key>Nice</key>
<integer>1</integer>
<key>StartInterval</key>
<integer>60</integer>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/Users/me/Library/Logs/wifisharingup.err</string>
<key>StandardOutPath</key>
<string>/Users/me/Library/Logs/wifisharingup.out</string>
</dict>
</plist>
आप देख सकते हैं, प्रत्येक मिनट यह सरल स्क्रिप्ट चलाता है जो निम्नानुसार है। पिछले प्लिस्ट को जड़ के स्वामित्व में रखने और इसे लॉन्च करने से सावधान रहें:
sudo chown root com.me.wifisharingup.plist
sudo launchctl load /Users/me/Library/LaunchAgents/com.me.wifisharingup.plist
यह स्क्रिप्ट प्रत्येक मिनट में लॉन्च होती है (इसे निष्पादन योग्य बनाना न भूलें):
#!/bin/sh
if [[ ! `ipconfig getifaddr en1` ]]; then
/usr/sbin/networksetup -setairportpower en1 off
/usr/sbin/networksetup -setairportpower en1 on
echo `date` >> "/Users/me/Library/Logs/wifisharingup.err"
else
touch "/Users/me/Library/Logs/wifisharingup.out"
fi
मुझे लगता है कि साधारण समय-समय पर (प्रत्येक मिनट) ipconfig getifaddr en1वाइफ शेयरिंग डेमॉन में कुछ ताज़ा करने के लिए कॉल करता है। जो भी हो, किसी भी समय वाईफ़ाई साझाकरण विफल हो जाता है, यह स्वयं असाइन किए गए आईपी पते को खो देता है, और फिर, ipconfig getifaddr en1विफल हो जाता है, इसलिए मेरी स्क्रिप्ट पूरी तरह से वाईफाई को रीसेट करती है, जिससे यह अपनी पिछली स्थिति का पुनर्निर्माण करता है और वाईफाई-साझाकरण को पुनर्प्राप्त करता है।
यह कीबोर्ड, माउस या मॉनिटर के बिना एक मैकमिनी के अंदर अब तक कई दिनों से काम कर रहा है, लेकिन केवल ईथरनेट में प्लग किया गया है और मेरे वाईफाई गैजेट को दुनिया तक पहुंच प्रदान कर रहा है।