मैं अपनी स्क्रीन को कमांड लाइन से बंद करने में सक्षम होना चाहता हूं।
मुझे पता है कि कीबोर्ड शॉर्टकट ctrl+ ⇧+ है, ⏏लेकिन मैं इसे शेल स्क्रिप्ट या दूरस्थ रूप से करना चाहता हूं।
क्या उधर रास्ता है?
मैं अपनी स्क्रीन को कमांड लाइन से बंद करने में सक्षम होना चाहता हूं।
मुझे पता है कि कीबोर्ड शॉर्टकट ctrl+ ⇧+ है, ⏏लेकिन मैं इसे शेल स्क्रिप्ट या दूरस्थ रूप से करना चाहता हूं।
क्या उधर रास्ता है?
जवाबों:
OS X 10.9 में, आप बस कर सकते हैं pmset displaysleepnow
। यह आपकी किसी भी सेटिंग को बदले बिना या पूरे होस्ट को सोने के लिए आपके डिस्प्ले को तुरंत बंद कर देगा।
बढ़े हुए विशेषाधिकारों की आवश्यकता नहीं लगती है (कम से कम ओएस एक्स के हाल के संस्करणों के साथ), लेकिन यदि आपको अपर्याप्त विशेषाधिकार के बारे में संदेश मिलता है, तो आप कर सकते हैं sudo pmset displaysleepnow
।
टिप्पणीकारों की प्रतिक्रिया के आधार पर, यह OS X 10.8 या इससे पहले के संस्करण में उपलब्ध नहीं है।
जब मैं एक कमांड नहीं खोज पा रहा हूं जो कि मूल रूप से डिस्प्ले को सोएगा, तो एक ऐप है जिसे आप डाउनलोड करते हैं जो यह करेगा। यहां से दो विकल्प हैं।
एप्लिकेशन को एप्लिकेशन फ़ोल्डर में स्थापित करें और टर्मिनल या एसएसएच रन से open /Applications/Sleep\ Display.app
डाउनलोड फ़ोल्डर से एप्लिकेशन पर राइट क्लिक करें और "पैकेज सामग्री दिखाएं" पर क्लिक करें। Contents/MacOS
स्लीपडिसप्ले फ़ाइल को नेविगेट और कॉपी करें।
पर नेविगेट करें /usr/bin
(आप ⇧+ ⌘+ Gशॉर्टकट का उपयोग कर सकते हैं और डायरेक्टरी टाइप कर सकते हैं ) और बाइनरी फाइल पेस्ट कर सकते हैं। अब आप कमांड sleepdisplay
को एसएसएच या एसएसएच के माध्यम से टाइप कर पाएंगे और डिस्प्ले तुरंत सो जाएगा।
उम्मीद है की यह मदद करेगा!
यहाँ एक सरल शेल स्क्रिप्ट है जो इसे करेगा।
#!/usr/bin/env bash
open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app
यह उस कंप्यूटर पर स्क्रीन सेवर के लिए आपके द्वारा सक्षम की गई सेटिंग्स को चलाएगा / शुरू करेगा।
निम्न स्क्रिप्ट काम करेगी (तेंदुए और बाद में), लेकिन इसे इसके साथ चलाया जाना चाहिए sudo
:
आधार यह है कि pmset
प्रदर्शन नींद तक एक समय निर्धारित किया जा सकता है, लेकिन समस्या यह है कि 0 का मान सुविधा को बंद कर देता है, बजाय विलंब को शून्य पर सेट करने के, और 1 का मान पूर्ण एक मिनट की देरी है। यहां जादू यह है कि 2 ^ 31 का मान नकारात्मक शून्य के रूप में संग्रहीत किया जाता है, जो जादुई रूप से "तुरंत प्रदर्शन बंद करें" के रूप में कार्य करता है।
टाइगर और पहले में, एक अलग मैजिक नंबर की आवश्यकता थी, क्योंकि डिस्प्ले को बंद करने तक, मिनटों में, देरी से स्टोर करने के लिए एक अलग बिट-साइज़ वेरिएबल का आंतरिक रूप से उपयोग किया जाता था।
यह control- shift- के व्यवहार की नकल करता है eject, और मैकबुक एयर पर बिना ejectचाबी के इस्तेमाल किया जा सकता है ।
#!/bin/bash
original_setting=`/usr/bin/pmset -g | /usr/bin/awk '/displaysleep/ {print $2}'`
magic_number=2147483648
/usr/bin/pmset -a displaysleep $magic_number; sleep 1; /usr/bin/pmset -a displaysleep $original_setting
macOS सिएरा पर
pmset displaysleepnow
caffeinate -u -t 1
pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29
परिणाम <4 एक नींद प्रदर्शन हैअपने मैक की स्क्रीन स्थिति को दूरस्थ रूप से सेट करने के लिए एक छोटा नोड HTTP सर्वर: https://github.com/ycardon/switch-api
"echo $[$(pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29) - 4]"
(इसे सही / गलत का उपयोग करके "स्क्रीन ऑन है?")।
एक छोटे AppleScript को निष्पादित करने के लिए निम्नलिखित कमांड को चलाएं जो प्रदर्शन को सोने के लिए रखता है:
osascript -e 'tell application "System Events" to sleep'
कमांड नाम से पता चलता है कि यह पूरी प्रणाली को कुछ परिस्थितियों में सोने के लिए रख सकता है, लेकिन मैं सीमित परीक्षण में ऐसा नहीं कर सका: मैंने इसे शेल स्क्रिप्ट के साथ परीक्षण किया था जो मैंने इस कमांड को निष्पादित करने से कुछ समय पहले शुरू किया था, और यह कुछ के लिए चल रहा था मिनट जब तक मैं सिस्टम "जाग"। इसने पूरे समय के दौरान आउटपुट प्रिंट करना जारी रखा था।
वास्तव में उम्मीद है कि यह जवाब पीटा ट्रैक से बहुत दूर नहीं है। सोने, फिर से शुरू करने, बंद करने का मेरा सबसे पसंदीदा तरीका है - और सबसे महत्वपूर्ण बात यह है कि एक मैक अल्फ्रेड (ऐप लॉन्चर) का उपयोग कर रहा है।
इसके लिए किसी भी स्क्रिप्ट, लिपियों के ज्ञान या टर्मिनल के उपयोग की आवश्यकता नहीं है, जो शानदार है।
हालाँकि, यदि आप विशेष रूप से टर्मिनल का उपयोग करना चाहते हैं, तो यह संभवतः आपके लिए समाधान नहीं है।
ठीक है, यह एक पुराना है, लेकिन ऐसा लगता है कि इस सवाल के लिए कहीं भी बहुत अच्छे जवाब नहीं हैं।
मुझे काम करने के लिए एक AppleScript मिल गया है, हालांकि इसके लिए एक थर्ड पार्टी, अनमनी और अन-रेगिस्ट्रेबल ऐप - अतिरिक्त सूट की आवश्यकता होती है। इसे डेवलपर की पुरानी वेबसाइट पर डाउनलोड किया जा सकता है ।
# Gets the current state of the upper left hot corner, then sets it to sleep display.
tell application "System Events"
tell expose preferences
set givenActivty to get the activity of the top left screen
set the properties of the top left screen corner to {activity:sleep display}
end tell
end tell
# Uses Mouse to Activate upper left hot corner. [Moving directly to {0, 0} does not work
tell application "Extra Suites"
ES move mouse {1, 1}
ES move mouse {0, 0}
end tell
# Restores state of upper left hot corner.
tell application "System Events"
tell expose preferences
delay 1
set the activity of the top left screen corner to givenActivty
end tell
end tell
# Gets rid of Extra Suites nag window.
tell application "Extra Suites"
quit
end tell
मैंने इसे एक अल्फ्रेड वर्कफ़्लो में भी शामिल किया है ।
हेयर यू गो -
sudo su
pmset displaysleepnow
अल्फ्रेड (AppStore पर नि: शुल्क) का उपयोग करना प्रदर्शन को सिर्फ लिखने के द्वारा सोने के लिए एक शानदार तरीका है: "नींद"। इससे सरल नहीं है।
बेशक अल्फ्रेड इससे कहीं अधिक करते हैं, आप पुनः आरंभ, लॉगआउट, खाली कचरा, ताला, शटडाउन और कई अन्य चीजों को भी कर सकते हैं।
अतिरिक्त ऐप की आवश्यकता नहीं है, बस उपयोग करें tell application "Finder" to sleep
ऐप लॉन्चबार अल्फ्रेड के समान ही काम करता है। मेरे मामले में, सीएमडी स्पेसबार तब एस [स्लीप] - सरल और तेज