स्क्रीन लॉक करने के लिए AppleScript का उपयोग करना


11

मुझे एक एपलस्क्रिप्ट की आवश्यकता है जो मेरे मैक को उसी तरह से लॉक करता है जिस तरह से shift+ ctrl+ ejectदबाएगा। मैंने दो अलग-अलग तरीकों की कोशिश की, लेकिन दोनों असफल रहे। पहले एक स्क्रिप्ट के लिए इंटरनेट की खोज की गई थी, जो विफल रही। स्क्रीनसेवर या अन्य अनुप्रयोगों के साथ केवल समाधान हैं, जो मुझे नहीं चाहिए। मैं केवल वही वर्णित करना चाहता हूं जो मैंने वर्णित किया था। दूसरा काम उन तीन चाबियों को दबाने के लिए किया गया था, जो काम नहीं करती थीं। अगर कोई मुझे बता सकता है कि मेरे मैक को कैसे लॉक किया जाए या तीन कुंजियों को दबाने के लिए ऐप्पलस्क्रिप्ट को कैसे बताया जाए, तो मुझे वास्तव में खुशी होगी, क्योंकि मैं थोड़े निराश हो रहा हूं।

जवाबों:


13

इस उत्तर और इस उत्तर से जानकारी प्राप्त करना :

  1. स्क्रीन के ऊपर दाईं ओर स्पॉटलाइट बटन दबाएँ ( Cmd+ Space)
  2. खोज करते हैं Keychain Access। इसको खोलो
  3. खुला वरीयताएँ ( Cmd+ ,)
  4. चेक Show Status in Menu Bar
  5. स्क्रीन के ऊपर दाईं ओर स्पॉटलाइट बटन दबाएँ ( Cmd+ Space)
  6. खोज करते हैं Automator। इसका चयन करें
  7. नया बनाओ Service
  8. बटन और बटन के Run Applescriptबगल में खोजें । इस पर डबल क्लिक करेंActionsVariables
  9. सुनिश्चित करें कि चेकबॉक्स हैं Service receives no input in any application
  10. इस एप्स्क्रिप्ट को पेस्ट करें:

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 of menu bar 1 where description is "Keychain menu extra")
        click
        click menu item "Lock Screen" of menu 1
    end tell
end tell

इस ऑटोमेकर को कुछ इस तरह सेव करें Lock screen(ध्यान दें: जीआईएफ में कोड अलग है!)

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


शॉर्टकट बनाने के लिए:

  1. स्क्रीन के ऊपर बाईं ओर Apple बटन दबाएँ
  2. क्लिक करें System Preferences
  3. क्लिक करें Keyboard
  4. Keyboard Shortcutsटैब पर क्लिक करें
  5. क्लिक करें Services
  6. आपके द्वारा अभी बनाई गई सेवा का नाम खोजें
  7. दाईं ओर रिक्त स्थान पर क्लिक करें
  8. में अपना शॉर्टकट टाइप करें

किसी भी एप्लिकेशन में अपने शॉर्टकट का उपयोग करें!

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


या ...:

  1. आप अल्फ्रेड खरीद सकते हैं
  2. आप इस्तेमाल कर सकते हैं Cmd+ Shift+Eject

3
बस नोट करने के लिए: अल्फ्रेड और सीएमडी + शिफ्ट + बेदखल नेटवर्क को मारता है जब यह मशीन को निलंबित करता है। यह सुपर आसान है क्योंकि यह केवल स्क्रीन को लॉक करता है।
बीपडॉग

3
जब मैं स्क्रिप्ट चलाता हूं, तो यह किचेन मेनू खोलता है और अटक जाता है। जब मैं मेनू को बंद करता हूं, तो मुझे यह त्रुटि मिलती है:System Events got an error: Can’t get menu 1 of menu bar item 2 of menu bar 1 of application process "SystemUIServer". Invalid index.
मैकिल

@AgentME क्या आप सुनिश्चित हैं कि आपने चरण 1-4 किए हैं? मैंने कोड भी अपडेट कर दिया है इसलिए कोशिश करें कि 1-4 :)
'

@, मुझे उपरोक्त त्रुटि समान है, "अमान्य सूचकांक"

7

यह एक और जवाब पर मिला, लेकिन एक AppleScript जिसमें बस मेरे लिए निम्नलिखित कार्य शामिल हैं।

 tell application "Finder" to sleep

1
मैंने इस उत्तर को स्वीकृत उत्तर के साथ जोड़ दिया और इसने बहुत अच्छा काम किया। हो सकता है कि स्वीकृत उत्तर इसमें सम्मिलित हो।
डेविड कुलेन

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

यह वरीयताओं पर निर्भर करता है मौसम की नींद वास्तव में ताले। दुर्भाग्य से मेरे लिए यह काम नहीं करता क्योंकि हमारा संगठन सोने के बाद 1 मिनट लॉक करने के लिए मजबूर करता है
क्क्समैन

3

MacOS 10.11, El Capitan, AppleScripts का उपयोग करके answer के उत्तर को तोड़ा है , लेकिन मैंने पाया है कि अगर मैंने लॉक स्क्रीन स्थापित की है , और अपनी ऑटोमेकर सेवा को अपना "लॉक स्क्रीन बंडल" खोल दिया है, तो बाकी प्रक्रिया ने इरादा के अनुसार काम किया (बशर्ते कि मैंने फोन किया सेवा "लॉक-स्क्रीन", "लॉक स्क्रीन" नहीं: जाहिरा तौर पर फ़ाइल नाम में रिक्त स्थान कई मैकओएस उपयोगकर्ताओं के लिए कीबोर्ड शॉर्टकट तोड़ते हैं)।

एक सचित्र चरण-दर-चरण मार्गदर्शिका के लिए Mac OS X पर लॉक स्क्रीन शॉर्टकट देखें ।


3

मेरे पास इसके लिए एक सरल एक लाइनर है। यह लॉक स्क्रीन कमांड के लिए डिफ़ॉल्ट कुंजी कॉम्बो भेजने के लिए सिस्टम ईवेंट का उपयोग करता है और हाई सिएरा (10.13) से ओएसएक्स के सभी संस्करणों में काम करता है। यहां तक ​​कि Mojave! यद्यपि यह नए OSX संस्करणों में ऐप के लिए अतिरिक्त सुरक्षा अनुमतियों के लिए संकेत देगा

tell application "System Events" to keystroke "q" using {control down, command down}

1
यह प्रश्न जून 21 '14 से पूछा गया था और आपका उत्तर उस समय चल रहे OS X के संस्करणों पर लागू नहीं होगा। कृपया अपने जवाब को संपादित करें कि
मैकओएस

1
यह OSX के सभी संस्करणों में काम करता है। Mojave सहित
user1270949

यह ओएस एक्स के सभी संस्करण में एक डिफ़ॉल्ट कीबोर्ड शॉर्टकट नहीं है, और तथ्य यह है कि यह ओएस एक्स के किसी भी संस्करण पर काम नहीं करता है और केवल मैकओएस के एक संस्करण में पेश किया गया था।
user3439894

1
देखो मैं सिर्फ एक जवाब देने और मेरे लिए काम करने की कोशिश कर रहा हूं। यह पसंद नहीं है? इसे मिटाओ। मैं कम देखभाल नहीं कर सका
user1270949

2
एक आकर्षण की तरह काम करता है (कम से कम यह मेरे लिए Mojave पर करता है)। निश्चित नहीं कि यह अन्य टिप्पणीकार क्यों कह रहा है कि यह काम नहीं करता है। यह एक सरल और साफ समाधान है। इसे शेयर करने के लिए धन्यवाद।
जीडीपी 2

2

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

कीबोर्ड मेस्ट्रो का उपयोग करते हुए , मैंने शॉर्टकट कमांड-एल के लिए एक मैक्रो बनाया, जो अनिवार्य रूप से समान है (विंडोज कुंजी के लिए कमांड की कुंजी की तुलना)। शॉर्टकट "लॉगिन विंडो" फ़ंक्शन को ट्रिगर करता है, जो स्क्रीन को लॉक करता है। आसान मटर, कम से कम मेरे लिए।

(कीबोर्ड मेस्ट्रो में, "लॉगिन विंडो" फ़ंक्शन ऐक्शन> सिस्टम कंट्रोल के अंतर्गत है।)


1

हाई सिएरा (10.13) के लिए, स्वीकृत उत्तर काम नहीं करता क्योंकि किचेन एक्सेस के पास कोई Check Show Status in Menu Barविकल्प नहीं है। लेकिन, बेशर्मी से लॉकस्क्रीन ऐप के स्रोत को लूटने पर आधारित (जैसा कि @Alice Purcell द्वारा उल्लेख किया गया है), मैंने इस निफ्टी जीयूआई-स्क्रिप्टिंग वर्कअराउंड की खोज की है:

activate application "SystemUIServer"
tell application "System Events"
    tell process "SystemUIServer" to keystroke "q" using {command down, control down}
end tell
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.