नींद और जागने पर स्क्रिप्ट चलाना संभव है?


48

मैकबुक प्रो 2010 में ओएस एक्स लायन चल रहा है।

क्या नींद और जागने की घटनाओं पर स्क्रिप्ट चलाना संभव है?

मेरा विशिष्ट अनुप्रयोग यह है कि मुझे ड्रॉपबॉक्स-सिंक किए गए Truecrypt वॉल्यूम मिल गए हैं जो मैं नियमित रूप से अपने मैकबुक और आईमैक दोनों पर उपयोग करता हूं। मैं शायद ही कभी अपने एमबीपी को बंद कर देता हूं क्योंकि ढक्कन को बंद करना बहुत तेज और आसान है, लेकिन इसका मतलब है कि मुझे अपने Truecrypt संस्करणों को छोड़ना याद रखना होगा और अपने MBP को बंद करने से पहले उन्हें वापस सिंक करना होगा। यह स्क्रिप्ट के बढ़ते / उन्हें अलग करने के लिए काफी तुच्छ है, लेकिन मैं एक कदम और आगे जाना चाहता हूं और ये स्क्रिप्ट अपने आप चलती हैं।

जवाबों:


17

ऐसा प्रतीत होता है कि ओएस जहाजों के रूप में, नींद / जागना स्क्रिप्ट को ट्रिगर नहीं कर सकता है , लेकिन तीसरे पक्ष के समाधान विकसित किए गए हैं।

मुझे इन कार्यक्रमों या उनके विक्रेताओं के साथ कोई व्यक्तिगत अनुभव नहीं है।


2
परिदृश्य वही करता है जो मैं देख रहा हूँ। धन्यवाद!
-बीटा

मेरे पास दृश्य-श्रव्य अग्नि थी, जो एक बश लिपि और वायला से बंद हो गई।
रेडोलेंट

एप्लिकेशन को समाप्त करने के लिए बस इसे एक नई AppleScrip विंडो में टाइप करें और स्लीपस्क्रिप्स फ़ोल्डर में इसे सेव करें: एप्लिकेशन को "
कोडबॉक्स

24

SleepWatcher उपयोग की हो सकती है।

विवरण से: इसका उपयोग यूनिक्स कमांड को निष्पादित करने के लिए किया जा सकता है जब मैक या मैक का प्रदर्शन स्लीप मोड में चला जाता है या उठता है, उपयोगकर्ता द्वारा बातचीत के बिना दिए गए समय के बाद या जब उपयोगकर्ता एक ब्रेक के बाद या पावर के दौरान गतिविधि फिर से शुरू करता है। मैक नोटबुक की आपूर्ति संलग्न या अलग है। यह मैक को स्लीप मोड में भेज सकता है या अंतिम उपयोगकर्ता गतिविधि के बाद का समय पुनः प्राप्त कर सकता है।

यह मेरे लिए 10.6.8 पर ठीक काम कर रहा है। 10.1 (!) 10.7 का समर्थन करने के लिए विभिन्न संस्करण उपलब्ध हैं


यहाँ मैक OSX संकेत का एक गुच्छा है जो स्लीपवॉकर का उपयोग करता है।

4
आप Homebrew , जैसे द्वारा SleepWatcher स्थापित कर सकते हैं brew install sleepwatcher। और इस पोस्ट को देखें , यह बहुत उपयोगी है। स्लीपवॉकर उपयोगिता भी ओएस एक्स एल कैपिटान (10.11) का समर्थन करती है।
रॉकलाइट नाइट

11

यह मेरा अपना ऐप है, इसलिए इस पर विचार करें, लेकिन ControlPlane में स्लीप / वेक के आधार पर कार्य करने की क्षमता है। आप इसे http://www.controlplaneapp.com/ पर पाएंगे ।

ControlPlane MarcoPolo का एक कांटा है और इसे स्नो लेपर्ड और लायन पर चलाने के लिए अपडेट किया गया है।


1
बहुत ही शांत लगने वाली उपयोगिता, इसका ओवरकिल केवल इसके लिए लेकिन अगर आपको उठने / सोने से अधिक ट्रिगर करने की आवश्यकता है तो यह बहुत अच्छा लगता है। मुझे ग्रोथ सपोर्ट भी पसंद है इसलिए आप जानते हैं कि यह क्या कर रहा है। और इसके मुक्त :)।
स्टडजेक

2
इसका उत्तर स्वीकृत होना चाहिए क्योंकि इसका नि: शुल्क
केविन पार्कर

क्या यह नींद और जागने के साथ बढ़ते और अनमाउंटिंग ड्राइव के लिए इस्तेमाल किया जा सकता है? क्या हमें ऑटोमेटर स्क्रिप्ट लिखने की आवश्यकता है?
bicepjai

1
वर्षों बाद, कंट्रोलप्लेन अब असंगतताओं के निर्माण के कारण अचंभित है, जिसे डस्टिन ने अपने ब्लॉग पर पोस्ट किया था कि उसे ठीक करने का समय नहीं था। बहुत बुरा है, हालांकि समझ में आता है।
लहरावण

6

मैंने तेंदुए पर स्क्रिप्ट के लिए 'वेक' ट्रिगर प्रदान करने के लिए निम्नलिखित सरल लॉन्च डेमन विकसित किया:

<?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>wake-alert</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>z=/tmp/wake; test -s $z || { date > $z; say w; }; 
tail -1 /Library/Logs/DirectoryService/DirectoryService.server.log | grep -v Sleep || > $z
        </string>
    </array>
    <key>WatchPaths</key>
    <array>
        <string>/Library/Logs/DirectoryService/DirectoryService.server.log</string>
    </array>
    <key>ExitTimeOut</key>
    <integer>2</integer>
    <key>ThrottleInterval</key>
    <integer>1</integer>
</dict>
</plist>

आप अपने कोड से 'say w' को बदल सकते हैं। मैं z को डेट लिखता हूं लेकिन आप इसे कुछ भी लिखने के लिए बदल सकते हैं। आपको कुछ स्क्रिप्ट के लिए 'ExitTimeOut' को बढ़ाने की आवश्यकता हो सकती है। मेरा लॉन्च डेमॉन /Library/LaunchDaemons/wake-alert.plist पर रहता है

लॉन्च डेमॉन DirectoryService.server.log को देखता है और एक अस्थायी फ़ाइल को लिखता है बशर्ते फ़ाइल खाली हो। फ़ाइल को लॉग 'स्लीप' प्रविष्टि और शट डाउन द्वारा साफ़ किया जाता है।

यदि आप सोने के लिए that फास्ट यूजर स्विचिंग ’का उपयोग करते हैं, तो आप पाएंगे कि स्क्रिप्ट जो उपयोगकर्ता में लॉग इन की आवश्यकता होती है, बहुत जल्दी चलने की कोशिश करेगी और जब तक आप लॉन्च डेमॉन को संशोधित नहीं करते हैं, तब शायद। Secure.log’ में ceed सफल ’हो जाए।


1
/Library/Logs/DirectoryService/DirectoryService.server.logउच्च सिएरा (10.13) में मौजूद नहीं है।
नोकेर

संभवतः अन्य लॉग हैं जिनका उपयोग किया जा सकता है।
नेविल हिलर

2

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

मैं आपको और किसी और को बचाने की उम्मीद करता हूं और परीक्षण के घंटों को पढ़ने से मुझे इस निष्कर्ष पर पहुंचने में मदद मिली। मुझे यह कहने के लिए खेद है कि यह विफल रहा, हालांकि, क्योंकि कई मामलों में यह वास्तव में अच्छी तरह से डिजाइन और काफी शक्तिशाली और लचीला कार्यक्रम है। यह भी काफी सस्ती ($ 3) है। सोने से पहले स्क्रिप्ट चलाने के लिए निम्न-स्तरीय प्रदर्शन अभी नहीं लगता है ।

दूसरी ओर, मेरे परीक्षणों में (अब तक) स्लीवॉचर काफी विश्वसनीय और तेज दिखाई दिया है। यह भी मुफ़्त है, जो भयानक है। मैं परीक्षण करता रहूँगा और यदि मुझे लगता है कि कभी-कभी यह काम नहीं करता है तो मैं अपने उत्तर को अपडेट करूंगा, और अन्य विकल्पों का परीक्षण करता रहूंगा।

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


1

WakeWatcher एक सरल OS X फेसलेस बैकग्राउंड एप्लिकेशन है जिसे मैंने इस मुद्दे को संबोधित करने के लिए बनाया है। ~/.onwakeजब भी वेकेशन का पता चलता है तो यह चलता है। आप उस स्क्रिप्ट में अपने ड्राइव को माउंट / रिमाउंट करने के लिए कमांड डाल सकते हैं।

WakeWatcher लॉगिन आइटम के रूप में उपयोग के लिए उपयुक्त है। यह बहुत परिष्कृत नहीं है, लेकिन यह स्वतंत्र और सरल है।

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

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