2009-08-06 15 views
5

कमांड मॉनिटर को नींद मोड में रखने के लिए ओएस एक्स पर कमांड/एपीआई है?स्लीप डिस्प्ले ओएसएक्स

नींद मोड से, मेरा मतलब है कि पूरी तरह से मॉनिटर को आउटपुट को मार दें। मुझे बिजली सेटिंग्स में पता है कि कोई इसे कॉन्फ़िगर कर सकता है लेकिन वह समय आधारित है।

उत्तर

16

यह अर्द्ध-अनियंत्रित एपीआई के साथ किया जा सकता है।

#include <CoreFoundation/CoreFoundation.h> 
#include <IOKit/IOKitLib.h> 

/* Returns 0 on success and 1 on failure. */ 
int display_sleep(void) 
{ 
    io_registry_entry_t reg = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/IOResources/IODisplayWrangler"); 
    if (reg) { 
       IORegistryEntrySetCFProperty(reg, CFSTR("IORequestIdle"), kCFBooleanTrue); 
       IOObjectRelease(reg); 
     } else { 
       return 1; 
     } 
     return 0; 
} 

जीसीसी झंडे: -framework CoreFoundation -framework IOKIT

IOKit Documentation

+0

संकलित संस्करण यहां पाया जा सकता है: http://www.malcolmhall.com/products/sleepdisplay/ – rogerdpack

+2

क्या आप एक बहु-प्रदर्शन प्रणाली में एक डिस्प्ले को लक्षित कर सकते हैं? ऐसा लगता है कि सभी डिस्प्ले सोते हैं। – regulus6633

+0

regulus6633: मुझे ऐसा नहीं लगता है। यह बस मॉनिटर को सोने के लिए ओएस का अनुरोध कर रहा है। यदि आप एक सोते हैं तो जब आप दूसरे पर कुछ करते हैं तो यह तत्काल जाग जाएगा। आपकी सबसे अच्छी शर्त प्रीफ़ेस-> डिस्प्ले में दूसरी मॉनिटर को अक्षम करना होगा। – Tarrant

8

प्रोग्रामेटिक रूप से, या उपयोगकर्ता के रूप में?

बाद के लिए, नियंत्रण + Shift + निकालें।

+0

हाँ प्रोग्राम प्रोग्रामिंग समाधान की तलाश में – mikeycgto

6

ओएस एक्स 10.9.5 में परीक्षण किया गया है, तो आप निम्न आदेश के साथ सोने के लिए प्रदर्शन रख सकते हैं:

$ pmset displaysleepnow 

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