Mac OS X에서 빠른 사용자 전환을위한 키보드 단축키 생성


16

Mac OS X Snow Leopard에서 빠른 사용자 전환을 활성화하는 키보드 단축키를 어떻게 생성합니까?

Windows를 사용하지 못하는 Windows Start + L 키보드 조합을 모방하려고합니다.


: smalltown는 그의 대답을 수정하지 않는 동안, 당신이 확인 할 수 있습니다 macosxhints.com/article.php?story=20050706194219822 또는 : artofgeek.com/2009/09/08/...
cregox

답변:



7

CLI에있는 경우 다음 별명을 빠르게 전환하도록 설정할 수 있습니다.

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

이것과 fastscripts 및 automator는 CLI가 필요한 작업을 빠르게 수행합니다.
bmike

4

나는 이것보다 훨씬 더 나은 TouchTouchTool 을 사용 하지만, 당신이 할 수있는 작업 중 하나는 "로그인 화면 표시"입니다 (로그 아웃하고 로그인 화면에서 떠나는 것과 다릅니다). 오랜 시간 동안 기기를 떠날 때마다 내 컴퓨터를 잠그기 위해 항상 사용합니다…

여기에 이미지 설명을 입력하십시오


4

엄밀히 말하면 Command+ Option+ Q 는 로그 아웃합니다 ( "Are you sure"프롬프트로).

그러나 키보드를 통해 빠른 사용자 전환을 트리거하는 방법은 없습니다. 이제 키 스트로크와 연결할 수있는 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

@Benjamin, Command + Shift + Q
notnoop not not

2

애플 지원 토론에서 Király에 따르면 그는이 조합이 효과가 있다고 말한다.

... Automator 및 Spark를 사용하여 수행 할 수 있습니다.

Automator를 열고 Run Shell Script (쉘 스크립트 실행)를 선택한 후 여기에 붙여 넣으십시오 (모두 한 줄에).

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

파일-> 다른 이름으로 저장 ...-> "응용 프로그램으로 저장"을 선택하고 편리한 위치에 앱을 저장하십시오. 그런 다음 Spark를 사용하여 해당 앱을 열 키보드 단축키를 할당하십시오.

Automator와 Spark 를 사용 하여 로그인 창으로 전환 한 다음 control-F13을 누르면 Mac이 잠자기 상태가됩니다.

스파크 3.0b9 소프트웨어 :

Spark는 강력하고 쉬운 바로 가기 관리자입니다. Spark를 사용하면 응용 프로그램 및 문서를 시작하고 AppleScript를 실행하고 iTunes를 명령하는 등의 작업을 수행 할 수있는 단축키를 만들 수 있습니다. 단축키 라이브러리를 내보내거나 가져 오거나 HTML 형식으로 저장하여 인쇄 할 수도 있습니다. 스파크는 무료이므로 적당히 사용하십시오!


추신 : 이미 제안 된 다른 스크립트가 어떻게되어 있는지 확인할 수 있습니다. • AppleScript : 계정 전환기 애플릿 macosxautomation.com/applescript/accountswitcher/index.html

이 답변은 너무 크고 읽기가 혼란스럽고 적어도 Snow Leopard에는 Spark 가 필요하지 않습니다 . Automator에서 서비스로 생성하고 시스템 환경 설정에서 바로 가기를 추가하십시오. 당신이 당신의 작은 마을 친구를 해결하지 않으면 직접 대답을 추가 할 것입니다. ;)
cregox


1

보안상의 이점 (또는 관점에 따라 성가신)이 추가되어 약간 다른 방식으로이를 수행 할 수 있습니다.

  1. 화면 보호기를 사용하여 컴퓨터를 잠그십시오 (사용자가 잠금 화면에서 전환하도록 허용)
  2. "핫 마우스 코너"를 사용하여 빠른 잠금 / 화면 보호기 활성화

이렇게하려면 시스템 환경 설정 응용 프로그램에서 다음 설정을 조정해야합니다.

  • 아래 Exposé & Spaces의에서 Exposé탭, 당신의 한 세트 Active Screen Corners로를Start Screen Saver .
  • 아래 Security에서 General탭의 옵션 확인 Require password ... after sleep or screen saver begins(당신이 선택 할 수 있습니다 immediately드롭 다운에서를).

각 계정에서 후자를 수행해야합니다 (불행히도 전역 설정이 없습니다).

그런 다음 화면 보호기를 시작하여 마우스를 화면의 해당 모서리로 이동하여 컴퓨터를 잠글 수 있습니다. 누군가 키를 누를 때 / 마우스를 움직이면 로그인하라는 메시지가 나타나고 거기서 사용자를 전환 할 수 있습니다.


1

원하는 경우 (Windows의 Window-L과 같은) 잠금하는 것이 매우 간단한 해결책입니다. 화면 보호기를 설정하여 화면을 잠그고 (로그온 필요) 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"

두 스크립트는 모두 quicksilver 카탈로그에 있습니다. 사용자 계정 간 전환은 몇 초의 문제입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.