คำสั่งล็อคหน้าจอ One-Liner


59

ฉันพยายามที่จะตรวจสอบว่ามีบรรทัดคำสั่งเทียบเท่าเทียบเท่าหนึ่งบรรทัดซึ่งจำลองฟังก์ชันการทำงานที่เหมือนกันอย่างแน่นอนของตัวเลือกเมนู 'ล็อคหน้าจอ' ที่มีให้ผ่านทางแอพ Keychain ใน OS X 10.6

ฉันตระหนักถึงโซลูชัน 'ปกติ' ทั้งหมด (การตั้งค่า sleep / screensaver เพื่อต้องการรหัสผ่านในการเปิดใช้งานใหม่) แต่สิ่งเหล่านี้ไม่เหมาะสำหรับฉัน

ฉันก็ตระหนักถึงตัวเลือกนี้:

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

ซึ่งก็ไม่เหมาะสำหรับฉัน

ฟังก์ชั่นที่สมบูรณ์แบบคือตัวเลือก 'ล็อคหน้าจอ' แต่ฉันยังไม่พบวิธีที่สวยงามในการเรียกใช้

ในขณะนี้ฉันโทรผ่าน Automator ซึ่งไม่ได้สวยงาม

ฉันได้อ่านเกี่ยวกับปัญหานี้มากและความเข้าใจของฉันคือยังไม่มีใครพบ 'จอกศักดิ์สิทธิ์' แต่ฉันสงสัยว่ามันอาจเปลี่ยนไปหรือไม่


คุณโทรหา Automator อะไร
Matthieu Riegler

3
มีอะไรผิดปกติกับการตั้งค่าความปลอดภัยที่ต้องการรหัสผ่านเมื่อโปรแกรมรักษาหน้าจอทำงานและจากนั้นใช้มุมที่ร้อนแรงเพื่อเปิดใช้งานโปรแกรมรักษาหน้าจอ เร็วและสง่างาม แต่คุณบอกว่าคุณไม่ชอบวิธีแก้ปัญหานั้น
ⱮarkƬ

3
มันเป็นข้อเสนอแนะในทางปฏิบัติและเป็นสิ่งที่ฉันได้ลองใช้มาหลายปีแล้ว แต่ลักษณะของรูปแบบการทำงานของฉันหมายความว่าสิ่งนี้ได้รับในทาง> 80% ของเวลา ฉันต้องการความสามารถในการตอบสนอง (ทางกายภาพ) ตามคำขอทางวิศวกรรมและเหตุฉุกเฉินและล็อคหน้าจอทันที แต่มีการเข้าถึงระยะไกลอย่างเท่าเทียมกันในกล่องขณะที่มันยังรักษาการเชื่อมต่อและงานพื้นหลังทั้งหมดที่มีอยู่
user40433

1
Re: "อยู่ที่ไหนเมนูล็อคหน้าจอในพวงกุญแจ" การตั้งค่าเปิดพวงกุญแจ ... แสดงในแถบเมนู! Re: "มันทำอะไร?" มันล็อคหน้าจอ! นอกเหนือจากนั้นฉันคิดว่าฉันได้อธิบายข้อกำหนดของฉัน (และความเกลียดชังของฉันต่อ 'การแก้ปัญหา' ที่ชาวบ้านบางคนเชื่อว่าตรงตามความต้องการของฉัน
user40433

คำตอบ:


48

ใน OS X 10.9 และใหม่กว่า:

pmset displaysleepnow

ด้วยตัวเองคำสั่งนี้ทำให้การแสดงผลหลับเท่านั้นทำให้หน้าจอสีดำ ด้วยการกำหนดค่าคอมพิวเตอร์ของคุณให้ต้องใช้รหัสผ่านทันทีหลังจากเข้าสู่โหมดสลีปหนึ่งซับทำงานเป็นคำสั่ง "ล็อคคอมพิวเตอร์" การตั้งค่าที่มีอยู่ในระบบการตั้งค่า> การรักษาความปลอดภัยและความเป็นส่วนตัว> ทั่วไป

ที่มา: วิธีล็อคหน้าจอบน MacBook Air


7
เพียงเพื่อความสมบูรณ์นี้ใช้งานได้เฉพาะเมื่อมีการตั้งค่าตัวเลือกความปลอดภัย "ตั้งค่ารหัสผ่านใหม่หลังจากพักเครื่องหรือพักหน้าจอ" ในการตั้งค่าระบบ
Hofi

1
ดูเหมือนว่าจะเทียบเท่ากับ CTRL + SHIFT + Eject
Jan Kyu Peblik

สิ่งนี้ไม่เทียบเท่ากับรายการแถบเมนู Keychain มันไม่ล็อคหน้าจอ มันทำให้คอมพิวเตอร์เข้าสู่โหมดสลีปเท่านั้น
Radon Rosborough

1
@RadonRosborough ไม่มันไม่ทำให้คอมพิวเตอร์เข้าสู่โหมดสลีป มันทำให้จอแสดงผลเข้าสู่โหมดสลีปถ้าคุณเข้าถึง Mac ที่ถูกล็อคจากระยะไกลทุกอย่างก็ทำงานได้ นี่อาจเป็นคำตอบที่สั้นและเร็วที่สุดเนื่องจากไม่ผ่าน GUI ช้าของ Keychain หรือ GUI ช้าของ Finder
แดน

นี่เป็นทางออกที่ดีกว่ารายการเมนู Keychain และเก่าที่วางไว้ไม่ดี
แดน

40

หมายเหตุ:โซลูชันนี้มีลักษณะเฉพาะซึ่งใช้การทำงานของแถบเมนู Keychain Access แต่ไม่ต้องการให้คุณเปิดใช้งานShow keychain status in menu barตัวเลือกตามวิธี AppleScript

ฉันก็กำลังมองหาวิธีแก้ปัญหาสำหรับเรื่องนี้ วันนี้ฉันเพิ่งมีเวลาเล่นและพบวิธีเรียกโปรแกรมการทำงานจากปลั๊กอินเมนูพวงกุญแจจริง ๆ โซลูชันนี้ทำงานได้อย่างสมบูรณ์แบบตราบใดที่ Apple ไม่เปลี่ยนส่วนที่เกี่ยวข้องในปลั๊กอินเมนูพวงกุญแจ คุณสามารถสร้างไบนารีขนาดเล็กสำหรับล็อคหน้าจอของคุณโดยการวางสิ่งนี้ลงในเทอร์มินัลของคุณ ...

# Do our work in the temporary directory that gets cleaned on boot
cd /tmp

# Create the source file
cat > main.m <<END_OF_FILE

#import <objc/runtime.h>
#import <Foundation/Foundation.h>

int main () {
    NSBundle *bundle = [NSBundle bundleWithPath:@"/Applications/Utilities/Keychain Access.app/Contents/Resources/Keychain.menu"];

    Class principalClass = [bundle principalClass];

    id instance = [[principalClass alloc] init];

    [instance performSelector:@selector(_lockScreenMenuHit:) withObject:nil];

    return 0;
}

END_OF_FILE

# Compile the source file
clang -framework Foundation main.m -o lockscreen

ดำเนินการโปรแกรมโดยพิมพ์:

./lockscreen

คุณช่วยอธิบายวิธีใช้สิ่งนี้ได้อย่างไร ฉันจะคัดลอกวางลงในเวิร์กโฟลว์อัตโนมัติหรือไม่ หรือสร้าง Applescript จากมัน? ในขณะนี้มันยากที่จะทำอะไรกับคำตอบของคุณ
Saaru Lindestøkke

1
นี่เป็นโปรแกรม Objective-C แบบง่าย ๆ คัดลอกลงในไฟล์ชื่อ main pm จากนั้นรัน 'clang -framework Foundation main.m -o lockscreen' เพื่อคอมไพล์โปรแกรม './lockscreen' เรียกใช้โปรแกรมและล็อคหน้าจอของคุณ
mrArkwright

พยายามทำงานตามที่อธิบายไว้ การรวบรวมสร้างคำเตือนเดียวinstance method '-_lockScreenMenuHit:' not foundแต่แอปพลิเคชัน lockscreen ยังคงทำงานอยู่ อย่างไรก็ตามเมื่อดับเบิลคลิกมันจะเปิดหน้าต่าง Terminal ก่อนที่จะล็อคหน้าจอ หลังจากปลดล็อคคุณต้องปิดหน้าต่างด้วยตนเอง มีวิธีปิดหน้าต่างนั้นโดยอัตโนมัติหรือไม่?
Saaru Lindestøkke

6
ฉันรวบรวมแอพ OS X: ล็อคหน้าจอแอพตามคำตอบนี้และผลงานของใครบางคนตามรายละเอียดในลิงก์มันแค่ล้อมโค้ดนี้และเพิ่มไอคอนที่สวยงามเพื่อให้เราสามารถเรียกใช้โดยตรงขอขอบคุณ
Mengdi Gao

1
สิ่งนี้ใช้ไม่ได้อีกต่อไปในวันที่ 10.13 เพราะ MenuExtra ถูกลบไปแล้ว ใช้งานได้แทน: stackoverflow.com/a/26492632/368409
Lloeki

15

ฉันใช้อัลเฟรด→

ป้อนคำอธิบายรูปภาพที่นี่

ปุ่มลัดอเนกประสงค์ช่วยให้ฉันเปิดใช้งานได้โดยใช้แป้นพิมพ์


น่ากลัว! ปุ่มลัดอเนกประสงค์ในตัวหรือเป็นส่วนหนึ่งของชุดไฟหรือไม่?
Dan Rosenstark

1
มันติดตั้งภายใน ...
Vaibhav Bajpai

2
น่าเศร้าที่นี่ไม่ใช่มัน - มันยังปิดการเชื่อมต่ออินเทอร์เน็ตในขณะที่ใช้ล็อคเมนู Keychain ไม่ได้
Marcin Bobowski

Launchbarมีสิ่งที่เทียบเท่าเช่นกัน: "ล็อคหน้าจอ"
William Turrell

สิ่งนี้ไม่เทียบเท่ากับรายการเมนู Keychain มันไม่ได้ทำให้คอมพิวเตอร์เข้าสู่โหมดสลีปและยังเล่นภาพเคลื่อนไหวที่น่ารำคาญ
Radon Rosborough

14

ปรับปรุง: 2019

ล็อคหน้าจอสำหรับพวงกุญแจไม่สามารถใช้ได้ใน MacOS Mojave & High Sierra รุ่นปัจจุบัน

ตอนนี้ Apple ได้เพิ่มรายการเมนูล็อคหน้าจอในเมนู Apple นี่คือแป้นพิมพ์ลัดเริ่มต้นของcrtl + cmd + Q

ป้อนคำอธิบายรูปภาพที่นี่


------------- คำตอบเก่าสำหรับระบบปฏิบัติการก่อนหน้านี้ด้านล่าง --------------

@Bart Arondson คำตอบจะใช้รหัสบางอย่างเพื่อนำทางเมนูล็อคหน้าจอ Keychain

ทุกรหัสที่สำคัญสามารถข้ามได้โดยใช้การเขียนสคริปต์ GUI เพื่อตีจริงรายการเมนูโดยตรง

การใช้รหัสคีย์เพื่อนำทางเมนูต่างๆสามารถทำได้ทั้งแบบ Hit และ miss และเท่าที่ฉันไม่ชอบการเขียนสคริปต์ GUI เพราะมันสามารถตีและพลาด imho มันเป็น hit และ miss น้อยลงในกรณีนี้

รหัสแอปพลิเคชันนี้: (อัปเดตเมื่อวันที่ 18 กันยายน 2559 ซึ่งมาจากการใช้ AppleScript เพื่อล็อกหน้าจอยืนยันว่าทำงานใน El Capitan)

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

สามารถใช้ในการดำเนินการ 'เรียกใช้ Applescript' อัตโนมัติในเวิร์กโฟลว์บริการอัตโนมัติ

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นคุณให้บริการแป้นพิมพ์ลัด ตามปกติใน The Keyboard Shortcuts

ป้อนคำอธิบายรูปภาพที่นี่

บริการ:

ป้อนคำอธิบายรูปภาพที่นี่


สิ่งนี้ใช้งานได้ดีสำหรับสิ่งที่ฉันต้องการสำหรับขอบคุณ!
nictrix

คุณสามารถรันคำสั่งเทอร์มินัลจากออโตเมเตอร์ได้ดังนั้นฉันจึงใช้มัน มันมีความ "หรูหรา" มากกว่า :) ทางออกที่ดีมาก ๆ !
Sorin Buturugeanu

3
ฉันใช้วิธีแก้ปัญหานี้มาเป็นเวลานาน แต่ตั้งแต่ osX El Captain มันไม่ทำงานอีกต่อไป :(
Marcin Bobowski

ยังคงดูที่นี้ แต่ดูเหมือนว่าเมนูจะไม่รายงานตัวเองเพื่อให้คลิกรายการถัดไป การเรียกใช้สองบรรทัดนี้ทำงานได้ แต่ช้า tell application "System Events" to tell process "SystemUIServer" to click (first menu bar item of menu bar 1 whose description is "Keychain menu extra") tell application "System Events" to click (menu item "Lock Screen" of menu 1 of menu bar item 1 of menu bar 1 of application process "SystemUIServer")
markhunte

8

ตั้งค่ากำหนดเพื่อล็อคหน้าจอเมื่อโปรแกรมรักษาหน้าจอทำงาน

บานหน้าต่างการตั้งค่าความปลอดภัยและความเป็นส่วนตัว

จากนั้นคุณสามารถใช้คำสั่งเทอร์มินัลนี้เพื่อเริ่มโปรแกรมรักษาหน้าจอ

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

เท่าที่ฉันสามารถบอกได้ว่านี่คือสิ่งที่รายการเมนู Keychain ทำ


ขอบคุณสำหรับความคิดเห็นของคุณ แต่นี่คือสิ่งที่ฉันต่อสู้มานานเกินไปและพยายามหาทางเลือกอื่น
user40433

1
เพียงเพื่อความชัดเจนและครบถ้วนฉันควรให้ด้านบนเริ่มต้นสกรีนเซฟเวอร์ แต่ไม่ได้ทำตามที่ฟังก์ชั่นเมนู 'ล็อคหน้าจอ'
user40433

1
จากนั้นคุณจะต้องเฉพาะเจาะจงมากขึ้นกับสิ่งที่คุณกำลังมองหา
ⱮarkƬ

อืม ... ไม่แน่ใจว่าฉันจะเจาะจงหรือกระชับได้มากกว่านี้จากย่อหน้าเปิดในคำถามเดิมของฉัน!
user40433

1
ฉันมีโอกาสทดสอบที่ 10.6.8 บนระบบปฏิบัติการนั้นมอนิเตอร์ถูกเปิดและเซสชันถูกล็อค ฉันพบวิธีการเขียนโปรแกรมเพื่อทำสิ่งนี้ แต่มันไม่ได้สร้างมาก่อน
ⱮarkƬ

3

ฉันคิดว่าคำตอบสำหรับคำถามของคุณคือ "ไม่ไม่มีบรรทัดคำสั่งในการทำเช่นนี้"

เนื่องจากนี่คือรายการในแถบเมนูจึงไม่ใช่สิ่งที่คุณสามารถเข้าถึงได้อย่างง่ายดายโดยใช้ Keyboard Maestro หรือเครื่องมืออื่นที่คล้ายคลึงกัน

อย่างไรก็ตามหากคุณไม่ได้เกลียดการใช้งานแอพของบุคคลที่สาม QuickLockจะให้คุณทำเช่นนี้

มันเป็นแอพฟรี (ยอมรับการบริจาค) ซึ่งจะช่วยให้คุณกำหนดแป้นพิมพ์ลัดเพื่อล็อคหน้าจอ นอกจากนี้ยังมีรายการแถบเมนูที่คุณสามารถคลิกเพื่อล็อคหน้าจอ

แอพจะให้คุณตั้งรหัสผ่าน (แยกจากรหัสผ่านบัญชีของคุณ)

มันไม่จำเป็นต้องใช้รหัสผ่านกับสกรีนเซฟเวอร์มันแยกกันทั้งหมด

คุณสามารถดูวิดีโอของมันได้ที่http://www.youtube.com/watch?v=SBHwykPB19o

ป.ล. เมื่อหน้าจอถูกล็อคให้พิมพ์รหัสผ่านของคุณเพื่อปลดล็อค ฉันสับสนเพราะฉันคาดว่าจะเห็นฟิลด์รหัสผ่าน ไม่มีเลย คุณเพียงพิมพ์รหัสผ่าน

pps ฉันใช้สิ่งนี้เพียงไม่กี่นาทีดังนั้นอาจมีปัญหาอื่น ๆ เกี่ยวกับเรื่องนี้ฉันไม่ทราบ แต่ดูเหมือนว่าจะพอดีกับใบเสร็จ


ขอบคุณสำหรับการสนับสนุนของคุณ ... แม้ว่าจะไม่ใช่สิ่งที่ฉันกำหนดไว้ (ฉันชอบโอเพ่นซอร์สและวิธี DIY!) มันดูน่าสนใจมากและดูเหมือนจะเสนอฟังก์ชั่นที่ฉันต้องการแม้จะอยู่ในแอปของบุคคลที่สาม ฉันจะดูมันให้ละเอียดยิ่งขึ้น ขอบคุณ!
user40433

ฉันชอบที่จะหาวิธีที่จะทำเช่นกัน แต่ฉันไม่คิดว่ามี
TJ Luoma

ดูเหมือนจะตาย ...
rogerdpack

3

Mac ไม่ได้ออกแบบมาเพื่อให้คุณมีตัวเลือกดังกล่าว อย่างไรก็ตามบทความนี้อธิบายวิธีแก้ปัญหาโดยใช้ QuickSilver แม้ว่าฉันจะไม่เข้าใจว่าทำไมคุณถึงไม่ชอบวิธีที่แอปเปิลจัดหาให้ แต่แรกฉันหวังว่าคุณจะโชคดีในการหาทางแก้ไข


3

นามแฝงง่าย เพิ่มลงใน bashrc ของคุณ

alias afk="osascript -e 'tell application \"System Events\" to keystroke \"q\" using {command down,control down}'"

พิมพ์afkเทอร์มินัลของคุณเพื่อดำเนินการ


2

ฉันใช้รหัสที่โพสต์ข้างต้นโดย jnk จากนั้นผมใช้ appify ที่จะเปิดเป็นแอป OS X, mathiasbynens.be/notes/shell-script-mac-apps จากนั้นฉันใช้ Quicksilver เพื่อกำหนดแป้นพิมพ์ลัดของตัวเอง (ฉันเลือก cmd + L) เทอร์มินัลไม่ได้เปิด / เปิดอยู่ (เพราะบางคนมีความกังวล) เกี่ยวกับวิธีการตั้งค่าเพราะฉันเปิดตัวแอพ OS X แทน

  1. ทำตามคำตอบข้างต้นโดย jnk คำสั่งล็อคหน้าจอ One-Liner
  2. ใช้ appify เพื่อเปลี่ยนเป็นแอป OS X โดยไปตามลิงก์ด้านบนในข้อมูลสรุปของฉัน
  3. ติดตั้ง Quicksilver
  4. ใช้ Quicksilver เพื่อกำหนดแป้นพิมพ์ลัดเพื่อเรียกใช้แอปพลิเคชันใหม่ มันอยู่ภายใต้ 'ทริกเกอร์' ฉันสนุกกับ Quicksilver เพราะฉันชอบที่จะมีแป้นพิมพ์ลัด / ปุ่มลัดเพื่อเรียกใช้แอปพลิเคชันและเว็บไซต์ใน OS X

2

วิธีที่รวดเร็วในการพักเครื่องของคุณผ่านทางบรรทัดคำสั่งด้วยความช่วยเหลือของ AppleScript คือ

osascript -e 'tell application "Finder" to sleep'

แต่นั่นไม่ได้ล็อคหน้าจอของคุณจนกว่าคุณจะตั้งให้ต้องใช้รหัสผ่านทันทีที่ฉันไม่ต้องการทำ ฉันแค่สังเกตมันเพื่อลูกหลาน


1

ฉันเจอปัญหานี้เช่นกัน /System/Library/CoreServices/Menu\ Extras/user.menu/Contents/Resources/CGSession -suspendทำให้ระบบหยุดการทำงานทั้งหมดแทนที่จะล็อกหน้าจอ

JordanBtucker มาถูกทางนี่เป็นฟังก์ชั่นเต็มรูปแบบที่ฉันใช้:

lockscr() {
  if [ "$(defaults read com.apple.screensaver askForPasswordDelay 2>/dev/null)" ]; then
    local Olddelay="$(defaults read com.apple.screensaver askForPasswordDelay)"
    defaults write com.apple.screensaver askForPasswordDelay -int 0 && \
        pmset displaysleepnow
    defaults write com.apple.screensaver askForPasswordDelay -int "${Olddelay}"
  else
    defaults write com.apple.screensaver askForPasswordDelay -int 0 && \
        pmset displaysleepnow
    defaults delete com.apple.screensaver askForPasswordDelay
  fi;
}

วิธีนี้จะรักษาผู้ใช้ในการตั้งค่าของตัวเอง แต่ล็อคหน้าจออย่างปลอดภัย :)


ใน High Sierra ค่าเหล่านี้จะไม่ถูกตั้งค่าโดย UI อีกต่อไป อย่างไรก็ตามหากคุณตั้งค่าด้วยตนเอง UI จะให้เกียรติพวกเขา defaults write com.apple.screensaver askForPassword -bool TRUEและ defaults write com.apple.screensaver askForPasswordDelay -int 10 นี่คือค่าเริ่มต้นของฉัน ตอนนี้สคริปต์ด้านบนจะทำงานตามที่อธิบายไว้
ฌอนเพอร์รี่

0

ฉันใช้BetterTouchToolเพื่อจุดประสงค์นั้นและกำหนดแป้นพิมพ์ลัดให้กับ "เปลี่ยนเป็นหน้าจอเข้าสู่ระบบ" (ซึ่งเป็นหน้าจอล็อค): ไม่ตอบสนองความต้องการบรรทัดคำสั่ง แต่อาจเป็นประโยชน์กับคุณอยู่ดี

แป้นพิมพ์ลัดใน BetterTouchTool เพื่อล็อคหน้าจอ


ขอบคุณสำหรับความช่วยเหลือและคำแนะนำของคุณ พร้อมด้วยQuickLock ที่กล่าวถึงข้างต้นโดย @TJLuoma BetterTouchTool (แม้ว่าไม่ใช่วิธีที่ฉันกำหนดไว้เพื่อค้นหา) ดูเหมือนว่าจะใกล้เคียงกับวัตถุประสงค์การทำงานของฉันมาก ฉันจะดูอย่างละเอียดมากขึ้นในเรื่องนี้ ... ขอบคุณ
user40433

0

ฉันไม่แน่ใจว่าฉันเข้าใจปัญหาของคุณที่นี่ หากคุณต้องการรหัสผ่านบนตัวรักษาหน้าจอมันจะไม่หยุดกระบวนการทำงานหรือปิดกั้นคุณจากการเข้าถึง Mac ของคุณจากระยะไกล ฉันมีชุดตัวเลือกนี้ (ใช้ ControlPlane เพื่อเปิดใช้งานในที่ทำงานและปิดการใช้งานที่บ้าน) และฉันไม่เคยมีครั้งหนึ่งที่ระบบปฏิเสธที่จะตอบสนองต่อการเชื่อมต่อเดสก์ท็อประยะไกล VNC หรือ SSH ในทุกกรณีที่จำเป็นต้องมีการเข้าถึง GUI ฉันเพียงแค่ป้อนรหัสผ่าน SSH ใช้คู่ที่สำคัญดังนั้นจึงไม่ขอรหัสผ่าน หากคุณไม่ต้องการให้แอปหยุดทำงานให้ตรวจสอบให้แน่ใจว่าการตั้งค่าพลังงานของระบบนั้นจะไม่เข้าสู่โหมดพักเครื่องก่อนที่คุณจะกลับมา เพียงตั้งค่าการหมดเวลาพักเครื่องเป็นเวลานาน หากคุณไม่ต้องการให้ใส่รหัสผ่านเมื่อคุณนั่งอยู่หน้าคอมพิวเตอร์และทำงาน

ฉันใช้ ctrl-shift-eject เพื่อล็อคหน้าจอ มันรวดเร็วง่ายและใช้งานได้ นี่เป็นวิธีล็อคหน้าจอในตัว ไม่มีใครน่าจะเกิดขึ้นกับทางเลือกอื่นเพียงเพราะการทำซ้ำฟังก์ชั่นที่อบเข้าไปในระบบปฏิบัติการนั้นเป็นสิ่งที่ซ้ำซ้อนเกินไปสำหรับทุกคนที่จะใช้เวลาในการติดตาม

เท่าที่ฉันสามารถบอกได้ว่าไม่มีตัวเลือก "ล็อคหน้าจอ" ใน Keychain ใน 10.8 อยู่แล้วดังนั้นโซลูชันที่คุณต้องการจะไม่มีอยู่หากคุณเคยอัพเกรด แก้ไข: ไม่พบสิ่งนี้ในการตั้งค่าพวงกุญแจ; ใช่มันยังอยู่ใน 10.8

หากคุณกำลังใช้ Automator สำหรับสิ่งนี้คุณไม่สามารถจัดแพคเกจสคริปต์เป็นแอปและกำหนดคำสั่งผสมคีย์ลัดหรือปล่อยไว้ใน Dock เพื่อการเข้าถึงที่รวดเร็ว?


ctrl-shift-eject จริง ๆ เพียงแค่เข้าสู่โหมด "สลับผู้ใช้อย่างรวดเร็ว" อย่างน้อยหนึ่งโซลูชัน VPN (โซลูชันที่ฉันต้องใช้เพื่อวัตถุประสงค์ในการทำงาน) ไม่ชอบสิ่งนี้และยกเลิกการเชื่อมต่อ VPN เมื่อฉันทำเช่นนั้นจะยกเลิกเซสชันพื้นฐานที่ฉันอาจเชื่อมต่อด้วย ในขณะที่ฉันสามารถเชื่อมต่อกับเซสชัน VPN อีกครั้งเมื่อฉันปลดล็อกคอมพิวเตอร์อาจเป็นประสบการณ์ที่ยาวนาน + หนึ่งนาทีและทำให้ตัวเลือก "ด่วน" ล้มเหลว ดังนั้นนี่ไม่ใช่ IMO ซึ่งเป็นคำตอบที่ถูกต้องสำหรับคำถาม
Jon V

0

เช่นเดียวกับผู้ถามคำถามฉันกำลังมองหาวิธีใช้ Keychains Lock Screen อย่างรวดเร็ว

การรวมความรู้จากคำใบ้เก่าของ Mac OS Xและ Applescripting บางอันฉันได้ทำสิ่งต่อไปนี้:

ขั้นแรกให้ทำตามขั้นตอนจากคำใบ้ Mac OS X ที่เชื่อมโยงเพื่อเพิ่มแป้นพิมพ์ลัดสำหรับฟังก์ชันการทำงานของหน้าจอล็อคปุ่มกด

สำหรับฉัน (บน 10.8.4) สิ่งนี้ไม่ได้แก้ปัญหาเนื่องจากฉันต้องกดctrl+ F8เพื่อเลื่อนโฟกัสไปที่แถบสถานะกดdownเพื่อเปิดแถบเมนู Keychain จากนั้นกดctrl+ F9เพื่อล็อคหน้าจอ ฉันทำกระบวนการนี้เป็นแบบอัตโนมัติด้วย Applescript ต่อไปนี้:

# Press ^F8
tell application "System Events"
    key code 100 using control down
end tell

# Press "down"
tell application "System Events"
    key code 125
end tell

# Press ^F9
tell application "System Events"
    key code 101 using control down
end tell

เปิด Automator สร้างบริการใหม่เพิ่มRun Applescriptโมดูลคัดลอกโค้ดด้านบนและบันทึกบริการ Automator ด้วยชื่อที่คุณต้องการ ตอนนี้ไปที่แป้นพิมพ์ลัดในการตั้งค่าระบบและเพิ่มแป้นพิมพ์ลัดสำหรับ Automator Service ที่สร้างขึ้นใหม่ ฉันตั้งเหมืองctrl+ +cmdL

ตอนนี้กดแป้นพิมพ์ลัดในแอพใด ๆ และหน้าจอของคุณจะถูกล็อคทันที

สำหรับผู้ที่สงสัยว่าทำไมไม่เพียงไปกับวิธีการอื่น ๆ นี่คือความเห็นของฉันที่พวกเขา:

  • หน้าจอการสลับ / ล็อกผู้ใช้อย่างรวดเร็ว
    ด้วยวิธีนี้ฉันออกจากระบบเครือข่าย WPA2 ขององค์กรของฉัน สิ่งนี้ไม่ดีเนื่องจากการเชื่อมต่อใหม่บางครั้งอาจใช้เวลานาน

  • สกรีนเซฟเวอร์ + รหัสผ่าน
    ทำซ้ำฟังก์ชันการทำงานแต่หมายความว่าหากแล็ปท็อปของฉันไม่ได้ใช้งานเป็นระยะเวลาหนึ่งในขณะที่ฉันกำลังอ่านกระดาษอยู่ข้างหน้าจอจะถูกล็อคเมื่อฉันต้องการใช้อีกครั้ง สิ่งนี้ไม่พึงประสงค์ การใช้วิธีนี้ร่วมกับมุมร้อนนั้นมีผลข้างเคียงที่ผู้ใช้ Mac ที่ไม่มีประสบการณ์อาจเปิดมุมร้อนโดยไม่ได้ตั้งใจซึ่งนำไปสู่การล็อกหน้าจอ บางครั้งฉันก็โดนมุมที่ร้อนแรงโดยไม่ตั้งใจซึ่งจะทำให้ขั้นตอนการทำงานของฉันแย่มาก

  • แอปของบุคคลที่สามสิ่ง
    เหล่านี้ใช้ได้ทั้งหมด แต่ทำไมถึงเรียกใช้แอปส่วนที่ 3 หากมีให้ใช้งานในระบบปฏิบัติการ


-1

ฉันใช้การตั้งค่ารหัสผ่านสกรีนเซฟเวอร์ด้วยการกดแป้น (Ctrl + Shift + Eject) ในวันที่ 10.6.8 และจากสิ่งที่ฉันเห็นมันเหมือนกับรายการล็อคหน้าจอจากไอคอนแถบงาน Keychain Access

ฉันรู้ว่านี่คล้ายกับคำตอบอื่น ๆ แต่แทนที่จะเป็น "มุมร้อน" มันใช้การกดแป้นพิมพ์ซึ่งสะดวกกว่าสำหรับฉัน

โซลูชันนี้มีการอธิบายอย่างละเอียดมากขึ้นที่นี่นั่นคือที่ฉันได้รับจาก: http://osxdaily.com/2011/01/17/lock-screen-mac/

มีการใช้สิ่งนี้มาหลายปีแล้วโดยไม่มีปัญหา


1
ขอขอบคุณ แต่น่าเสียดายที่สิ่งนี้ต้องการตัวเลือก "ต้องการสกรีนเซฟเวอร์เมื่อกลับมาจากโหมดสลีปหรือสกรีนเซฟเวอร์" ตัวเลือก sis ถูกตรวจสอบและตามที่กล่าวไว้ก่อนหน้านี้นี่ไม่ใช่สิ่งที่ฉันต้องการมีส่วนร่วม
user40433

-1

เพียงรวมคำตอบสองข้อข้างต้นเข้าด้วยกัน เรียกใช้คำสั่งนี้:

open -a /System/Library/Frameworks/ScreenSaver.framework//Versions/A/Resources/ScreenSaverEngine.app

หลังจากตั้งค่าความปลอดภัย & ความเป็นส่วนตัวเพื่อขอรหัสผ่านทันที สร้างนามแฝงสำหรับเชลล์ของคุณหากคุณต้องการทำให้คำสั่งง่ายขึ้นในการดำเนินการ


3
ใช่ แต่ตามที่กล่าวไว้ข้างต้นฉันไม่ต้องการมีการตั้งค่าความปลอดภัยและความเป็นส่วนตัวที่ต้องใช้รหัสผ่านในทันที นี่คือเหตุผลที่ฟังก์ชั่นคำสั่งล็อคหน้าจอ (โดยเฉพาะ) นั้นเท่ห์มาก - มันมอบระดับความปลอดภัยที่ฉันต้องการบนพื้นฐานที่สมบูรณ์แบบ
user40433

-1

FWIW ฉันเข้าใจสถานการณ์ของคุณและมองหาทางออกที่ดีให้กับตัวเอง ฉันวิ่งข้ามกระทู้นี้เพราะฉันค้นหาวิธีที่เร็วกว่าสิ่งที่ฉันคิดขึ้นมาในที่สุด ฉันคิดหาสิ่งที่แม้ว่าจะไม่ใช่สิ่งที่ฉันคาดหวัง แต่ก็ใช้ได้ดีและยอมรับได้ ฉันกำลังใช้คำสั่งสคริปต์ GUI ชนิดเดียวกับที่ @markhunte แสดงให้เห็น (โครงสร้างที่แตกต่างกันเล็กน้อย แต่เป็นแนวคิดเดียวกัน) แต่แทนที่จะวางไว้ทั้งหมดในเวิร์กโฟลว์บริการ Automator ฉันแยกมันออกเป็นชุด. app ที่สร้างด้วย Platypus ฉันทำสิ่งนี้เพราะในการเดินทางและการทดสอบฉันพบว่าบริการ Automator ทำงานช้ามากภายใต้เงื่อนไขบางประการ หากเครื่อง Mac ของคุณมีปัญหาใด ๆ เช่นการเรียกใช้การสแกนดิสก์ซอฟต์แวร์ A / V กำลังทำอะไรบางอย่าง Mail ดึงอีเมลลงเป็นต้น ดูเหมือนว่า OS จะผลักดันบริการไปทางด้านหลังของบรรทัด สิ่งนี้มีผลกระทบกับการใช้เวลาหลายวินาทีก่อนที่เวิร์กโฟลว์จะทำงาน (บางครั้ง) และในบางครั้งแม้กระทั่งหลายวินาทีก่อนที่คำสั่ง GUI ในบริการจะเริ่มทำงาน ค่อนข้างน่ารำคาญถ้าคุณพยายามล็อค "หน้าจอ" อย่างรวดเร็วและใช้เวลา 10 วินาทีในการทำ!

การมีแอพ "แบบสแตนด์อโลน" นั้นมีข้อดีที่คุณสามารถใช้แอพของบุคคลที่สามที่แตกต่างกันหลายสิบตัวในการเรียกใช้หรือเพียงแค่ใช้ Spotlight หรือบริการอัตโนมัติเพื่อเปิดแอป ใด ๆ ของพวกเขาทำงาน เร็วที่สุดที่ฉันได้พบคือยูทิลิตี้เก่าที่เรียกว่า Spark ซึ่งยังคงทำงานได้อย่างน่าอัศจรรย์แม้ใน 10.8.4 อย่าถามฉันว่ามันพัฒนาขึ้นครั้งสุดท้ายอย่างไรเพราะศัตรู 10.4! Spark สามารถพบได้ที่นี่ - Spark

นอกจากนี้ฉันได้รวมปัญหาของคำสั่ง GUI บางครั้งทำงานช้าโดยรวมใน cocoaDialog และเรียกมันก่อนเมื่อแอปทำงานเพื่อแสดงฟองสบู่เล็ก ๆ ลอยอยู่กลางหน้าจอแสดงว่าหน้าจอล็อคเกิดขึ้น โดยปกติแล้วการล็อคจะเกิดขึ้นในทันที แต่ถ้ามีการหน่วงเวลาอย่างน้อยนี่จะให้ "การตอบรับ" อย่างเห็นได้ชัดที่คุณกดปุ่มด้านขวา ฉันทำให้มันหายเอง - หาก "ไม่เปิดใช้งานการเข้าถึงอุปกรณ์ช่วยเหลือ" มันจะแจ้งเตือนคุณพร้อมกล่องโต้ตอบและให้คุณเปิดใช้งานได้ทันที นอกจากนี้ยังจะทำให้แน่ใจว่าเมนูการเข้าถึงของ Keychain สามารถแสดงในแถบเมนูได้เนื่องจากนี่เป็นข้อกำหนดหรือการเขียนสคริปต์ GUI ล้มเหลว


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.