ओएस एक्स: कंप्यूटर को सैश सत्र के दौरान सोने से कैसे रखा जाए


29

जब मैं अपने नेटवर्क पर OS X कंप्यूटर में ssh करता हूं तो सत्र तब तक रहता है जब तक OS X स्लीप मोड में नहीं जाता ।

क्या मेरे SSH सत्र के दौरान इसे रोकने का एक तरीका है , इसके अलावा शारीरिक रूप से माउस या टंकण कुंजियों को उछालकर, या मैन्युअल रूप से स्लीप फ़ंक्शन को अक्षम करना है?

संपादित करें: ssh सत्र सामान्य रूप से एक साधारण sshfs माउंट होगा।


क्या आप इसे अपने SSH सत्र से पहले सोने से रोकना भी नहीं चाहेंगे ?
सामब

जवाबों:


9

यह एक आउट-ऑफ-द-बॉक्स समाधान नहीं है, लेकिन यह संभवतः काम करेगा यदि कोई अन्य समाधान के साथ नहीं आता है :-)

आप कमांड के साथ पावर मैनेजमेंट सेटिंग्स में फेरबदल कर सकते हैं pmset। इसके बारे में अधिक जानकारी के लिए मैनपेज देखें ।

दिलचस्प सेटिंग जो हम हेरफेर करना चाहते हैं वह है नींद :

नींद - सिस्टम स्लीप टाइमर (मिनटों में मान, या 0 निष्क्रिय करने के लिए)

तो हम निम्नलिखित कमांड का उपयोग कर सकते हैं:

sudo pmset sleep 25      # go to sleep after 25 minutes
sudo pmset sleep 0       # disable sleep

अब हमें एक लॉगिन और लॉगआउट के बाद इन कमांड को ट्रिगर करना होगा। अगर मुझे यह सही याद है, बैश मैक ओएस एक्स के लिए डिफ़ॉल्ट शेल है जो हमें इन दो फाइलों में लाता है:

   ~/.bash_profile
          The personal initialization file, executed for login shells
   ~/.bash_logout
          The individual login shell cleanup file, executed when a login shell exits

संपादित करें या उन्हें अपने घर निर्देशिका में बनाएँ और उपयुक्त कमांड जोड़ें। यदि आप चाहते हैं, तो एक अस्थायी फ़ाइल में वर्तमान नींद मान को सहेजें और बाद में इसे से पुनर्स्थापित करें।

हल करने के लिए अंतिम समस्या sudo का पासवर्ड प्रॉम्प्ट है। अपने उपयोगकर्ता को बिना किसी पासवर्ड के pmset आह्वान करने की अनुमति देने के लिए, sudoedit के साथ अपने / etc / sudoers को संपादित करें। आपको NOPASSWDटैग का उपयोग करने की आवश्यकता है । यदि यह आपके लिए नया है, तो सुडोलर्स मैनुअल को देखें


1
यदि ssh कनेक्शन केवल sshfs माउंट है तो क्या यह विधि काम करेगी?
स्टीफन

1
मुझे यकीन नहीं है, लेकिन मुझे नहीं लगता कि sshfs एक लॉगिन शेल खोलेगा, इसलिए यह sshfs के साथ काम नहीं करेगा।
20

9

इससे मुझे अपने मैक को SSH से अधिक उपयोग करने की अनुमति दी गई, कोई बात नहीं, जब तक कि मैक एक शक्ति स्रोत से जुड़ा हुआ है।

सिस्टम वरीयताएँ, ऊर्जा सेवर, प्रदर्शन बंद होने पर कंप्यूटर को अपने आप सोने से रोकते हैं

जब मैक अपना पावर स्रोत बंद हो जाता है, तो सब कुछ बंद हो जाता है, इसलिए आपको बैटरी जीवन के बारे में चिंता करने की ज़रूरत नहीं है।


1
यह विकल्प macOS Sierra पर बेकार है। मेरा आईमैक इस सेटिंग की परवाह किए बिना सोता है, एसएसएच एक्सेस पर जागता है, और फिर एसएसएच लॉगआउट के तुरंत बाद सोता है। इससे वाकई बहुत गुस्सा आता है।
ब्रूनो फिलिप

इस उत्तर अंत में एक मोजावे आईमैक पर घंटे के लिए ~ / .ssh / config के साथ लगभग नगण्य के बाद मेरे समस्या हल हो जाती
N1000

6

ओएस एक्स के पीएमएससेट यूटिलिटी में एक सेटिंग है जो आप चाहते हैं कि कर सकते हैं। सेटिंग और साथ की व्याख्या के pmsetलिए मैनपेज की जाँच करें ttyskeepawake

निम्नलिखित कमांड शायद वही करेगी जो आप चाहते हैं:

sudo pmset -c ttyskeepawake 1

-cझंडा इस सेटिंग को सक्रिय विशेष रूप से जब कंप्यूटर AC पावर पर चलते है (जैसा कि बैटरी या यूपीएस बिजली के खिलाफ), और बनाता है ttyskeepawake 1रोकता है एक सक्रिय tty सत्र (संभवतः एक दूरस्थ एक) के दौरान सो से कंप्यूटर। यह होगा नींद की अनुमति देते हैं, तो सत्र निष्क्रिय टाइमर से अधिक समय के लिए निष्क्रिय कर दिया गया है, लेकिन यदि आपको कोई समस्या है, हो सकता है कंप्यूटर सब पर सोने के लिए सेट नहीं किया जाना चाहिए।


6

SSH का उपयोग दूरस्थ OSX मशीन पर एक खोल खोलने और SSH सत्र की अवधि के लिए सोने से रोकने के लिए:

$ ssh -t me@mymacbook caffeinate -i bash

5

Mac OS X 10.8 के बाद से, आपको caffeinate(8)कमांड का उपयोग करने में सक्षम होना चाहिए ।

कोशिश करो caffeinate -s ssh server.example.com


9
ओपी दूरस्थ मैक (यानी, ssh सर्वर) को सोने से दूर रखने की कोशिश कर रहा है। जब तक मैं गलत नहीं हूं, आपका उदाहरण केवल क्लाइंट के टर्मिनल पर नींद को रोक देगा।
ओवेन

3

मैंने निम्नलिखित स्क्रिप्ट को इसमें जोड़ा .bash_profile

if expr "$(ps -o comm= $PPID)" : '^sshd:' > /dev/null; then
  caffeinate -s $SHELL --login
  exit $?
fi

यदि प्रक्रिया एक ssh डेमॉन का प्रत्यक्ष बच्चा है, तो सिस्टम को ssh सत्र के दौरान सोने से रोकने के लिए कैफिनेट (8) कमांड के माध्यम से एक ही शेल चलाएं ।


2

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

हालांकि, आपकी स्थिति में, मुझे संदेह है कि आप वास्तव में क्या करना चाहते हैं एक अलग ssh सत्र है जो एक बहुत ही सरल कमांड-लाइन प्रोग्राम चलाता है जो मैक को सोने से रोकता है। Apple तकनीकी क्यू एंड ए 1160 में पूर्ण स्रोत कोड देता है : नींद को रोकना । (दुर्भाग्य से, वर्तमान में यह पृष्ठ Apple की साइट पर टूट गया है, लेकिन आप Google के कैश से एक प्रति खींच सकते हैं।)

मैंने यह देखने के लिए परीक्षण नहीं किया है कि क्या यह प्रोग्राम सफलतापूर्वक ssh सत्र से चलाया जा सकता है, लेकिन ऐसा लगता है कि यह हो सकता है।

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

इस दृष्टिकोण का लाभ यह है कि आपको sudo का उपयोग करने की आवश्यकता नहीं है, या सिस्टम पावर प्रबंधन सेटिंग्स के साथ गड़बड़ करने की आवश्यकता नहीं है।

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