| OSX 10.10.5] สคริปต์หยุดทำงานเมื่อหน้าจอถูกล็อค?


10

ฉันกำลังเรียกใช้สคริปต์ที่ใช้เวลานานใน Terminal

ฉันต้องการเรียกใช้มันโดยไม่มีการดูแลในขณะที่ฉันกำลังทำงานจาก MacBook ดังนั้นฉันเลือกจากชื่อผู้ใช้เมนู (บนขวา) > หน้าต่างเข้าสู่ระบบ ...ซึ่งไม่ใช่การออกจากระบบ แต่เป็นล็อคหน้าจอ

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

พฤติกรรมที่คาดหวัง (รู้จักจากอนุพันธ์อื่นของ UNIX) จะถูกเรียกใช้ในขณะที่ UI ถูกล็อคและปลอดภัย

ฉันจะบรรลุสิ่งนี้ได้อย่างไร

คำตอบ:


1

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

สิ่งที่คุณต้องการจะทำแทนคือล็อคหน้าจอของคุณโดยใช้Keychain Access

กด⌘ cmd spaceตามด้วยKeychain Accessเพื่อเปิดแอป แล้วจากแถบเมนูคลิกKeychain Accessการตั้งค่าทั่วไปและการตรวจสอบ Show keychain status in menu bar

ไอคอนรูปกุญแจจะปรากฏในพื้นที่ระบบของแถบเมนูของคุณ เพียงคลิกล็อคหน้าจอเพื่อล็อคหน้าจอของคุณ

ล็อกหน้าจอ

ตาม@MJKคุณอาจต้องป้องกันไม่ให้ Mac ของคุณเข้าสู่โหมดสลีก่อนที่จะเดินออกไป


7

แก้ไข:ด้วยmacOS High Sierra (ตั้งแต่เบต้า 5) คุณสามารถบรรลุพฤติกรรม "ล็อคหน้าจอ" ที่กล่าวถึงโดย@Phongเพียงแค่ผ่านเมนูแถบสถานะ:


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

เพื่อป้องกันไม่ให้ระบบของคุณเข้าสู่โหมดสลีปในขณะที่สคริปต์ของคุณทำงานอยู่คุณสามารถเรียกใช้caffeinate -sในเทอร์มินัล (หมายเหตุ: ใช้งานได้กับ MacBooks หากเชื่อมต่อไฟ AC) หรือรวมไว้ในสคริปต์ของคุณ หากต้องการหยุดคำสั่งให้กด CTRL + C

วิธีที่ฉันจะรักษาความปลอดภัยบัญชีของฉันในขณะที่ฉันยังเข้าสู่ระบบคือการเปิดใช้งานตัวเลือก "ต้องการรหัสผ่าน" ในการตั้งค่าระบบ:

ต้องใช้รหัสผ่าน

จากนั้นทันทีที่หน้าจอ (ไม่ใช่ระบบ) เข้าสู่โหมดสลีป (เช่นกำหนดค่าได้ในการตั้งค่า) คุณจะต้องป้อนรหัสผ่านเพื่อเข้าถึงบัญชี

นอกจากนี้คุณยังสามารถแสดงผลด้วยตนเองทริกเกอร์การนอนหลับโดยการกดปุ่ม CTRL + SHIFT + EJECT (ถ้าแป้นพิมพ์ของคุณมีปุ่มออก) pmset displaysleepnowหรือโดยการเรียกใช้


มีปุ่มสลีปในเมนู Apple เช่นกันหากช่วยได้
DonielF

1
@DonielF แน่นอน แต่นั่นทำให้ระบบเข้าสู่โหมดสลีปจึงทำให้การเรียกใช้สคริปต์หยุดลง นอกจากนี้ยังสามารถเรียกใช้งานผ่าน CMD + OPTION + EJECT
YourMJK

ปุ่มนั้นไม่ทำให้หน้าจอนอนหลับ? ดีแล้วที่รู้.
DonielF

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