मैक ओएस एक्स में तेज उपयोगकर्ता स्विचिंग के लिए एक कीबोर्ड शॉर्टकट बनाएं


16

मैक ओएस एक्स स्नो लेपर्ड में फास्ट यूजर स्विचिंग (यानी लॉगिन विंडो को ऊपर लाने) को सक्रिय करने वाला कीबोर्ड शॉर्टकट कैसे बनाते हैं?

मैं विंडोज स्टार्ट + एल कीबोर्ड संयोजन का अनुकरण करने की कोशिश कर रहा हूं, जिसे मैं अपने समय से विंडोज का उपयोग करके याद करता हूं।


जबकि छोटा शहर अपने जवाब को ठीक नहीं करता है, आप इसे जांचना चाहते हैं: macosxhints.com/article.php?story=20050706194219822 या वह: artofgeek.com/2009/09/08/…
cregel

जवाबों:


7

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


7

यदि आप सीएलआई में हैं, तो आपके पास जल्दी से स्विच करने के लिए निम्न उपनाम सेट हो सकता है:

alias switch='/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend'

यह और फास्टस्क्रिप्‍ट और ऑटोमेकर सीएलआई काम की जरूरत का तेजी से काम करते हैं।
bmike

4

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

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


4

सख्ती से बोलना, Command+ Option+ Q आपको लॉग आउट करेगा ("क्या आप निश्चित हैं" शीघ्र)।

लेकिन मुझे कीबोर्ड के माध्यम से तेज उपयोगकर्ता स्विच को ट्रिगर करने का कोई तरीका नहीं दिखता है। अब आप एक AppleScript स्क्रिप्ट लिख सकते हैं, जिसे आप एक कीस्ट्रोक के साथ जोड़ सकते हैं। उदाहरण के लिए, कार्यान्वयन विवरण के लिए इसे देखें।

set thePassword to "password"
set N to name of (info for (path to me))
set AppleScript's text item delimiters to (".")
set N to first text item of N
set AppleScript's text item delimiters to ""
set N to do shell script "/usr/bin/id -u " & N
do shell script "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -switchToUserID " & N
tell application "System Events"
    tell process "SecurityAgent" to set value of text field 1 of group 1 of window 1 to thePassword
    click button 2 of window 1 of application process "SecurityAgent"
end tell

@ बेंजामिन, इट्स कमांड + शिफ्ट + क्यू
नॉटेनोप

2

एप्पल सपोर्ट डिस्कशन में किर्ली के अनुसार, उनका कहना है कि यह संयोजन काम करता है:

... यह ऑटोमेटर और स्पार्क के साथ किया जा सकता है:

ऑटोमेटर खोलें, रन शैल स्क्रिप्ट चुनें, और इसमें पेस्ट करें (सभी एक पंक्ति में):

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend

फ़ाइल -> इस रूप में सहेजें ... -> "एप्लिकेशन के रूप में सहेजें" चुनें और ऐप को सुविधाजनक स्थान पर सहेजें। फिर उस ऐप को खोलने के लिए कीबोर्ड शॉर्टकट असाइन करने के लिए स्पार्क का उपयोग करें।

मैं लॉगिन विंडो पर स्विच करने के लिए ऑटोमेटर और स्पार्क का उपयोग करता हूं और फिर कंट्रोल-एफ 13 दबाने पर अपने मैक को सोने के लिए डाल देता हूं ...

स्पार्क 3.0b9 सॉफ्टवेयर के बारे में :

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


पुनश्च: आप यह भी देख सकते हैं कि अन्य सुझाई गई लिपियों के साथ क्या हो रहा है: • AppleScript: खाता स्विचर एपलेट macosxautomation.com/applescript/accountswitcher/index.html

यह उत्तर रास्ता बहुत बड़ा है और पढ़ने में काफी भ्रमित करने वाला है, और आपको कम से कम स्नो लेपर्ड के लिए स्पार्क की आवश्यकता नहीं है । बस एक सेवा के रूप में ऑटोमेकर पर बनाएं और सिस्टम प्राथमिकता पर एक शॉर्टकट जोड़ें। यदि आप, छोटे शहर-दोस्त को ठीक नहीं करते हैं तो मैं स्वयं एक उत्तर जोड़ूंगा। ;)
क्रेगॉक्स


1

यह करने का एक अलग तरीका है, अतिरिक्त सुरक्षा लाभ (या आपके दृष्टिकोण के आधार पर झुंझलाहट) के साथ है

  1. कंप्यूटर को लॉक करने के लिए स्क्रीन सेवर का उपयोग करें (उपयोगकर्ता को लॉक स्क्रीन से स्विच करने की अनुमति देता है)
  2. तेज लॉकिंग / स्क्रीन-सेवर सक्रियण को सक्षम करने के लिए "हॉट-माउस-कॉर्नर" का उपयोग करें

ऐसा करने के लिए, आपको अपने सिस्टम वरीयताएँ अनुप्रयोग में निम्नलिखित सेटिंग्स समायोजित करने की आवश्यकता है:

  • के तहत Exposé & Spaces, में Exposéटैब पर, अपने में से एक सेट Active Screen Cornersकरने के लिए Start Screen Saver
  • के तहत Securityमें Generalटैब, का विकल्प की जाँच Require password ... after sleep or screen saver begins(आप चुन सकते हैं immediatelyड्रॉप-डाउन से)।

आपको प्रत्येक खाते पर बाद करना होगा (दुर्भाग्य से इसके लिए कोई वैश्विक सेटिंग नहीं है)।

फिर आप अपने माउस को कंप्यूटर को लॉक करने के लिए स्क्रीन के उपयुक्त कोने में ले जा सकते हैं (स्क्रीन सेवर शुरू करके)। जब कोई कुंजी दबाता है / माउस ले जाता है तो उन्हें लॉग इन करने के लिए प्रेरित किया जाएगा और उपयोगकर्ताओं को वहां से स्विच किया जा सकता है।


1

यदि इच्छा को लॉक करना है (जैसे विंडोज में विंडो-एल), तो एक बहुत ही सरल उपाय है .. स्क्रीन को लॉक करने के लिए अपना स्क्रीनसेवर सेट करें (लॉगऑन की आवश्यकता है) और ctrl-shift-eject का उपयोग करें (नीचे बाईं ओर दो कुंजी + शीर्ष सबसे दाईं ओर चाभी)। इससे आपकी स्क्रीन लॉक हो जाती है।


1

एक विशिष्ट उपयोगकर्ता पर स्विच करने के लिए मैंने एक स्क्रिप्ट मंगा ली जो मुझे hints.macworld.com लेख की टिप्पणियों में मिली । मुझे इसके साथ समस्या थी इसलिए मैंने इसे काम करने के लिए प्राप्त किया। पासवर्ड किचेन में जमा होता है, इसलिए आपको क्लीयरटेक्स्ट में लॉगिन पासवर्ड स्टोर करने की चिंता नहीं करनी चाहिए। आप यहां गिस पा सकते हैं ।

--This script MUST be named "Switch to User.scpt", where User is the name of the user to switch to.
--You must first make a password item (a.k.a. a key) for the other user's password using Keychain Access, and call it "", where "user" is the other user's name and with the description "User Login". The script assumes that you make this key in your login.keychain, which is the default one.
--The first time you run this script, you will be prompted to allow Keychain Scripting to access the password of the key.
--This script requires "Enable access for assistive devices" to be enabled in the Universal Access system preference pane.

set username to word -1 of my findReplace(".scpt", "", (path to me as text))

-- Invoke Fast User Switching. The `id -ur username` part gets the uid number that corresponds to the username and substitutes it at the end of the CGSession command
do shell script "/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession -switchToUserID `id -ur " & username & "`"

-- Use universal access to enter the text and to click the button
tell application "System Events"
    repeat
        if (do shell script "stat -f %Su /dev/console") is username then exit repeat

        -- Get the password for the username
        try
            set pswd to (do shell script "security find-generic-password -g -s \"" & username & "\" -D \"User Login\" 2>&1 1>/dev/null | sed -e 's/password: \"//' -e 's/\"//'")
        on error
            exit repeat
        end try

        if exists window 1 of application process "SecurityAgent" then
            tell process "SecurityAgent" to set value of text field 1 of window 1 to pswd
            key code 36
            exit repeat
        else
            tell application "SecurityAgent" to quit
            do shell script "/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession -switchToUserID `id -ur " & username & "`"
        end if
    end repeat
end tell

on findReplace(findText, replaceText, sourceText)
    set ASTID to AppleScript's text item delimiters
    set AppleScript's text item delimiters to findText
    set sourceText to text items of sourceText
    set AppleScript's text item delimiters to replaceText
    set sourceText to sourceText as text
    set AppleScript's text item delimiters to ASTID
    return sourceText
end findReplace

केवल लॉगिन स्क्रीन को लागू करने के लिए मेरे पास एक और स्क्रिप्ट है। आप यहां गिस पा सकते हैं

do shell script "'/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession' -suspend"

दोनों स्क्रिप्ट मेरे क्विकसिल्वर कैटलॉग में हैं। उपयोगकर्ता खातों के बीच स्विच करना कुछ सेकंड का मामला है।

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