क्या कंप्यूटर को सोने की अनुमति देने के लिए इंटरनेट शेयरिंग को कॉन्फ़िगर करना संभव है?


9

TL; DR: इंटरनेट शेयरिंग मेरे मैक को सोने से रोक रहा है। मुझे नियमित रूप से सिस्टम को मैन्युअल रूप से सोने की आवश्यकता है। मैं नींद को रोकने के लिए इंटरनेट शेयरिंग को कॉन्फ़िगर करने का एक तरीका चाहता हूं।

मेरे राउटर से बहुत दूर मेरे बेडरूम में एक आईमैक है, और मैं वायरलेस, साथ ही, 3 जी कवरेज का उपयोग नहीं कर सकता, यहाँ भयानक है, इसलिए मैंने इंटरनेट शेयरिंग सक्षम किया है ताकि मैं अपने iPhone / iPad से जुड़े गर्त का उपयोग कर सकूं आईमैक।

काम पर मैं एक कॉर्पोरेट नेटवर्क पर हूं और वायरलेस कुछ हद तक लंगड़ा और प्रतिबंधात्मक है, इसलिए मैंने अपने मैकबुक प्रो पर इंटरनेट शेयरिंग को सक्षम किया है, इसलिए मेरा आईफोन आंतरिक सामान तक पहुंच सकता है।

समस्या यह है: जब मैंने + + (या Sleep> स्लीप) मारा तो न तो कंप्यूटर वांछित रूप से सो जाता है; जब तक मैं इंटरनेट साझाकरण को पहले अक्षम नहीं करता।

घर पर मैं चाहता हूं कि जब मैं सोऊं तो कंप्यूटर सो जाए (शक्ति + अधिक मौन बचाता है) और काम पर जब मैं घर जाऊं तो मैं भी सोना चाहता हूं, इसलिए मुझे सभी कनेक्टेड ऐप (एडियम, बोलचाल आदि) को बंद नहीं करना है और अगले दिन फिर से खोलना।

मैं कैसे कॉन्फ़िगर pmsetया इंटरनेट साझा कर सकता हूं ताकि मैं इस समस्या को चलाए बिना अपने कंप्यूटर को सो सकूं?

नोट: मैं पहले से ही pmsetयह जांचने के लिए उपयोग कर रहा हूं कि क्या अन्य कारण थे और आपत्तिजनक pidहै com.apple.InternetSharing

संपादित करें: मुझे एहसास है कि कंप्यूटर को सोते समय इंटरनेट शेयरिंग का उपयोग करना असंभव हो जाएगा। मैं चाहता हूं कि यह पूरी तरह से सो जाए और मैं चाहता हूं कि इंटरनेट शेयरिंग फिर से तभी हो जब कंप्यूटर जाग जाए।


ऊपर दिए गए कमांड में मेरा आउटपुट है DenySystemSleep। हालांकि मुझे स्ट्रिंग मिली, मैं sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.natव्यवहार को बदलने के लिए उपयोग करने में असमर्थ था । क्या आप विस्तार से आपको थोड़ा जवाब दे सकते हैं?
इरा कार्वाल्हो

इसलिए, उदाहरण के लिए, आप कुछ ऐसा चाहते हैं जो साझा करना बंद कर दे, फिर सो जाएं। और कुछ और जो स्वचालित रूप से जागने पर, साझा करना चालू करेगा।
गीदड़

बिल्कुल सही! यह वही है जो मुझे चाहिए
इरा कार्वाल्हो

जवाबों:


8

मैंने जो भी आप चाहते हैं उसे प्राप्त करने के लिए ControlPlane का उपयोग करने के साथ प्रयोग किया है । मेरा प्रारंभिक परिणाम यह है कि यह वही करेगा जो आप चाहते हैं।

ControlPlane आपके सिस्टम में 'सबूत स्रोतों' नामक परिवर्तनों का पता लगाता है। परिवर्तनों का मूल्यांकन 'नियमों' के साथ किया जाता है जो 'संदर्भ' में परिवर्तन को परिभाषित करते हैं। प्रत्येक संदर्भ के साथ जुड़े 'कार्रवाई' हैं।

'साक्ष्य स्रोतों' में से एक नींद / जागने की घटना है। इसलिए मैंने एक नियम को कॉन्फ़िगर किया है ताकि नींद की घटना (जैसे कि आपने ऐप्पल मेनू में नींद पर क्लिक किया है) पर, संदर्भ 'स्लीपिंग टाइम' शुरू हो जाता है। और इस संदर्भ के लिए मैंने 'ToggleInternetSharing' एक्शन का उपयोग किया है।

नींद पर क्लिक करने के बाद, मुझे यह कहते हुए एक अलर्ट मिलता है कि इंटरनेट शेयरिंग को बंद किया जा रहा है और थोड़ी देर बाद (हमेशा की तरह लगता है लेकिन शायद केवल 10 या 20 सेकंड है) मैक सो जाता है।

और मेरे पास एक दूसरा नियम है ताकि वेक इवेंट में 'वेक अप' का प्रसंग शुरू हो जाए और इस पर 'टॉगलइंटरनेटशेयरिंग' सेट करने की क्रिया हो।

मेरे नियम और कार्य:

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें

कोशिश करो!

यह सिर्फ ControlPlane क्या कर सकता है की सतह खरोंच है।


अद्भुत एप्लिकेशन! इसने एक जादू की तरह काम किया! विस्तृत विवरण के लिए बहुत धन्यवाद। इसके अलावा, मैंने जांच की कि ऐप पूरी तरह से स्वतंत्र और खुला स्रोत है। मेरे लिए यह इसके उपयोग के पक्ष में एक प्लस के रूप में गिना जाता है =)
इरा कार्वाल्हो

मैं कुछ समय के लिए ControlPlane के बारे में जानता हूं, लेकिन इसका उपयोग नहीं किया। आपका प्रश्न इसकी क्षमताओं का पता लगाने का एक उत्कृष्ट कारण था - इसके लिए धन्यवाद।
गिल्बि

+1 यहां ... साथ OS X Mavericks v10.9.4और अभी भी एक आकर्षण की तरह काम करता है। धन्यवाद की
जीएमओ

एक महान आवेदन की तरह लगता है! दुर्भाग्य से, इंटरनेट शेयरिंग टॉगल करने के लिए एल कैपिटन में काम नहीं करता है (शायद सिएरा में भी नहीं)।
विंटरफ्लैग्स

2

यदि आप सिंह को चला रहे हैं, InternetSharingतो स्पष्ट रूप से ताला लगा रहा है SystemSleep। अच्छी तरह से देखिए:

strings /usr/libexec/InternetSharing | grep SystemSleep

इस आदेश का आउटपुट: DenySystemSleep वह प्रमाण है जो InternetSharingसो जाने के लिए कर्नेल संभावना को उद्देश्यपूर्ण रूप से रोक रहा है। इस सुरक्षा के लिए एक सरल व्याख्या है: एक बार InternetSharingनिकाल दिए जाने के बाद, इस मैक के ग्राहक इंटरनेट का उपयोग करने के लिए एक राउटर के रूप में इसका उपयोग कर सकते हैं। स्क्रीन के सामने व्यक्ति के किसी भी ज्ञान के बिना इस इंटरनेट संयोजन के शीर्ष पर बहुत सी चीजें स्वचालित रूप से चल सकती हैं।

इस संबंध को केवल उस सिस्टम के व्यवस्थापक द्वारा तोड़ा जाना चाहिए जिसने इसे शुरू किया था और किसी भी स्वचालित प्रणाली का व्यवहार नहीं।

यह एक सुरक्षित व्यवहार है।

अतः InternetSharingमैक स्लीप को निम्नलिखित क्रम में 4 घटनाओं को शेड्यूल करने के लिए सुनिश्चित करने के लिए सही विधि बंद है:

InternetSharing off
    system sleep
    system wakeup
InternetSharing on

यह शेड्यूलिंग द्वारा प्रस्तावित है ControlPlane


ऊपर दिए गए कमांड में मेरा आउटपुट है DenySystemSleep। हालांकि मुझे स्ट्रिंग मिली, मैं sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.natव्यवहार को बदलने के लिए उपयोग करने में असमर्थ था । क्या आप विस्तार से आपको थोड़ा जवाब दे सकते हैं?
इरा कार्वाल्हो

1
मेरा मानना ​​है कि @ डेनियल-एज़ुएलोस का अर्थ है प्रदर्शन करना कि इंटरनेटशेयरिंग जिम्मेदार है। वह कमांड इंटरनेटशेयरिंग बाइनरी के माध्यम से खोज का सुझाव देता है और नींद को अवरुद्ध करने से संबंधित स्ट्रिंग पाता है। यह पुष्टि करने में मदद करता है कि नींद को अवरुद्ध करने के लिए क्या जिम्मेदार होने की संभावना है, लेकिन आपके वांछित व्यवहार को प्राप्त करने के लिए नहीं।
ग्राहम मिलन

1

यह एक व्यावहारिक नहीं है कि मैक के साथ इंटरनेट शेयरिंग सक्षम हो जो सोने में सक्षम हो।

इंटरनेट शेयरिंग सुविधा एक राउटर का सॉफ्टवेयर संस्करण है: यह इंटरनेट के लिए प्रवेश द्वार, एक डीएचसीपी सर्वर, एक फ़ायरवॉल और एक डीएनएस फारवर्डर के रूप में कार्य करता है। यह केवल उन राउटरों की तरह कार्य करता है जिन्हें आप अपने स्थानीय रिटेलर से खरीद सकते हैं; और यह मुफ़्त है।

हालाँकि, एक बड़ा नकारात्मक पहलू है: यदि मैक जो गेटवे के रूप में कार्य करता है वह बंद या सो रहा है, तो अन्य मशीनें ऑनलाइन नहीं मिल सकती हैं।

यही कारण है कि इंटरनेट शेयरिंग आपकी मशीन को सोने से रोकता है।

लेकिन जब मैं सो रहा हूं तो मैं फाइल / आईट्यून्स / स्क्रीन साझा कर सकता हूं

हां, आप उन सभी चीजों को साझा कर सकते हैं, और बहुत कुछ। हालाँकि, जब आप उन फ़ाइलों को एक्सेस करने के लिए जाते हैं तो आपका मैक जाग जाता है । इसे वेक ऑन डिमांड और बोनजॉर स्लीप प्रॉक्सी कहा जाता है ।

जब आपका मैक सो रहा होता है, तो यह नेटवर्क कनेक्शन को कुछ हद तक "लाइव;" यह कंप्यूटर को जगाने के लिए बोनजौर "पैकेट" के लिए सुन रहा है। यह हवाई अड्डे के उपकरण (नेटवर्क एडेप्टर) द्वारा ही संभाला जाता है; कंप्यूटर नहीं। जब यह "वेक पैकेट" प्राप्त करता है तो मैक जाग जाता है और आप संसाधनों के अपने बंटवारे की शुरुआत कर सकते हैं।

बोन्जौर 1 एक शून्य विन्यास खोज सेवा है जो मल्टीकास्ट डोमेन नेम सर्विसेज (mDNS) का उपयोग करती है जो कि यूडीपी 2 प्रोटोकॉल है (यह प्रसारित किया जा सकता है और इसे रूट नहीं किया जा सकता) जो एक छोटा, स्टेटलेस और न्यूनतम संदेश-उन्मुख परिवहन है।

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

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

और एक अधिक व्यावहारिक दृष्टिकोण पर वापस जा रहा है, अगर आपका मैक सो गया और गेटवे के रूप में काम किया, तो यह या तो कभी सोने नहीं जाएगा या अनिद्रा के बुरे मामले के साथ किसी के ऊपर और नीचे होगा।


1 बोन्जौर Apple का शून्य-कॉन्फ़िगरेशन नेटवर्किंग (zeroconf) का कार्यान्वयन है, प्रौद्योगिकियों का एक समूह जिसमें सेवा खोज, पता असाइनमेंट और होस्टनाम रिज़ॉल्यूशन शामिल हैं। बोंजौर प्रिंटर, अन्य कंप्यूटर और उन सेवाओं जैसे उपकरणों का पता लगाता है जो उन उपकरणों को मल्टीकास्ट डोमेन नेम सिस्टम (mDNS) सर्विस रिकॉर्ड का उपयोग करके स्थानीय नेटवर्क पर प्रदान करते हैं।

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


एलन, आपकी जानकारी के लिए धन्यवाद। अपने विशेष मामले में, मैं केवल एमबीपी के कारण इंटरनेट शेयरिंग का उपयोग करता हूं, जिससे मैं ईथरनेट (100 ~ Mbit ~ ~ 30 Mbit Wifi) का लाभ प्राप्त करने के लिए थंडरबोल्ट ब्रिज के माध्यम से अपने iMac से जुड़ता हूं। मैं 'राउटर' के रूप में इंटरनेट शेयरिंग का उपयोग नहीं करता। इसलिए मेरे लिए इंटरनेट शेयरिंग (या बल स्लीप) को सक्षम / अक्षम करने के लिए स्क्रिप्ट या ऑटोमैटिशन के माध्यम से रास्ता खोजना व्यावहारिक होगा।
विंटरफ्लैग

इंटरनेट शेयरिंग है क्या इंटरनेट बंटवारे करता है के मुख्य समारोह है कि - एक रूटर में अपने मैक मोड़।
एलन

मैं समझता हूं, लेकिन मैं इसके बारे में तकनीकी शब्दों में नहीं बोल रहा हूं। मैं इंटरनेट शेयरिंग का उपयोग केवल तब करता हूं जब एमबीपी को थंडरबोल्ट ब्रिज के माध्यम से आईमैक से जोड़ा जाता है, और इसलिए यह समझ में नहीं आता है कि आईमैक कभी भी सोने के लिए नहीं जाता है चाहे वह जुड़ा हो या नहीं। इसलिए वर्कअराउंड की तलाश में, शायद स्क्रिप्टिंग को शामिल करना।
15

1
ठीक है, आप अपने एमबीपी
एलन

धन्यवाद - मैंने उन उत्तरों को पहले ही आज़मा लिया है और उन्हें एल कैपिटन (शायद एसआईपी के कारण) के साथ काम करने में सक्षम नहीं किया गया है, लेकिन आगे की जांच करनी होगी।
विंटरफ्लैग्स


0

जब आपके कंप्यूटर की पॉवर मैनेजमेंट यूनिट डिवाइस को स्लीप करती है, तो यह कम-पावर मोड में प्रवेश करती है। कंप्यूटर पर आपका औसत निष्पादन योग्य कोड सामान्य तरीके से नहीं चलाया जाता है: कंप्यूटर मेमोरी को ताज़ा करने के लिए पर्याप्त शक्ति रखता है (यदि आवश्यक हो) और थोड़ा और। जब आप कंप्यूटर सोते हैं तो आप सामान्य-उद्देश्य कंप्यूटिंग में संलग्न होने में सक्षम नहीं होंगे।

हालांकि, एक अच्छा विकल्प है जिसे आपको देखना चाहिए। पूरी यूनिट सोने के बजाय, चेक आउट डिस्प्ले स्लीप इन System Preferences -> Energy Saver। मेरे उपयोग-मामले में, मेरे पास एक हॉट-कॉर्नर सेटअप है (जिसे आप सक्षम कर सकते हैं System Preferences -> Desktop & Screen Saver -> Screen Saver) ताकि जब मैं लंच पर जाऊं और मुझे अपनी स्क्रीन लॉक करनी पड़े और / या सिर्फ डिस्प्ले को सोने के लिए रखा जाए, तो मैं नीचे की ओर चला जाता हूं -बायाँ कोना। मेरे लिए अच्छी तरह से काम करता है, कंप्यूटर एक नींद-दिनचर्या और किसी भी लंबे समय से चल रही प्रक्रियाओं से वापस नहीं आता है जो मैं भूल गया हूं। आपके मामले में, इसका मतलब है कि आपका वाईफाई हॉटस्पॉट नहीं गिरा होगा।


1
यह वास्तव में बहुत उपयोगी है, मैं ऐसा करने के लिए <kbd> ^ </ kbd> + <kbd>, </ kbd> + <kbd> <</ kbd> का उपयोग करता हूं। लेकिन यह वह नहीं है जो मैं चाहता हूं। कंप्यूटर के सोते समय मुझे इंटरनेट शेयरिंग की आवश्यकता नहीं है। मुझे कंप्यूटर को वास्तव में सोने और यहां तक ​​कि साझाकरण और वाईफाई बंद करने की आवश्यकता है। स्पष्ट करने के लिए मेरे प्रश्न को संपादित करेंगे। धन्यवाद वैसे भी =)
इरा कार्वाल्हो

0

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

उपयोगकर्ता गाइड इसे स्थापित करने के तरीके के माध्यम से चलता है:

एक बेहतर निष्क्रियता ट्रिगर नींद

पावर मैनेजर एक विकल्प प्रदान करता है। हम एक निष्क्रियता ट्रिगर नींद प्रदान करते हैं। निष्क्रियता को निष्क्रिय समय से अलग तरीके से मापा जाता है; निष्क्रियता उपयोगकर्ता गतिविधि द्वारा पूरी तरह से निर्धारित एक सरल माप है।

वैकल्पिक रूप से, निम्न नुस्खा दिखाता है कि निष्क्रियता की अवधि के बाद अपने मैक को सोने के लिए पावर मैनेजर इवेंट कैसे बनाया जाए ।

पावर मैनेजर: निष्क्रियता कार्य के बाद बिजली बंद

डिस्क्लेमर: मैं उस कंपनी के लिए काम करता हूं जो पावर मैनेजर का विकास करती है।


सक्रिय इंटरनेट साझाकरण के साथ मेरे लिए काम नहीं किया। -1 मेरे जीवन का एक घंटा बर्बाद करने के लिए।
विंटरफ्लैग्स

आप क्या हासिल करना चाहते थे और क्या काम नहीं किया?
ग्राहम मिलन

ओपी और आपके जवाब के समान। मैंने निष्क्रियता नींद को कॉन्फ़िगर किया, इस उम्मीद में कि यह इंटरनेट प्रिफरेंस के साथ 'फोर्स स्लीप' होगी जो सिस्टम प्रेफरेंस> शेयरिंग में सक्षम है । यह नहीं था, लेकिन अगर इंटरनेट साझाकरण अक्षम किया गया था तो यह नींद को सक्रिय करेगा।
विंटरफ्लैग

1
पावर मैनेजर macOS को स्लीप रिक्वेस्ट जारी करता है। यदि आपको नींद में समस्या हो रही है, जैसा कि दूसरा प्रश्न इंगित करता है, तो वही नींद की समस्याएं तीसरे पक्ष के अनुप्रयोगों द्वारा जारी किए गए नींद अनुरोधों को भी प्रभावित करेगी। बेशक, आपकी स्थिति के बारे में मेरी समझ में मुझसे गलती या सरल गलत हो सकता है। मुझे आशा है कि आप एक समाधान पा सकते हैं।
ग्राहम मिलन

1
macOS हमेशा सोएगा जब स्पष्ट रूप से सोने के लिए कहा जाएगा - खोजक> Apple (मेनू)> नींद । नींद न आना व्यवहार है जो मैक के साथ समस्याओं का सुझाव देता है।
ग्राहम मिलन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.