| OSX 10.10.5] Виконання сценарію зупиняється, коли екран заблокований?


10

Я запускав сценарій, який займає віки в Терміналі.

Я хотів запустити його без нагляду, поки я працював далеко від свого MacBook, тому я вибрав із меню (вгорі праворуч) ім'я користувача > Вікно входу ... , яке НЕ вихід із системи, а екран блокування.

Я очікував запуску сценарію. Коли я повернувся годинами пізніше і розблокував екран (ввівши свій пароль), мені довелося з’ясувати, що під час заблокування екрана сценарій був весь час призупинений, і я просто продовжував там, де він відключився, коли я розблокував екран.

Очікувана поведінка (відома з інших похідних UNIX) мала би виконуватись, поки інтерфейс користувача був заблокований та захищений.

Як я можу цього досягти?

Відповіді:


1

Ви маєте рацію, що швидка комутація користувачів (активована, натиснувши Ім'я користувачаВікно входу… , не виходить із системи. Однак вона призупиняє активні запуски програм, тим самим запобігаючи інтенсивним завданням (або навіть відтворення медіа), не перешкоджаючи використанню вашої системи іншим користувачем.

Замість цього ви хочете заблокувати екран за допомогою Keychain Access .

Натисніть ⌘ cmd space, після чого Keychain Accessзапустіть програму. Потім на панелі меню натисніть клавішу AccessНалаштуванняЗагальне і поставте прапорець Show keychain status in menu bar .

Піктограма замка з’явиться у системній області панелі меню. Просто натисніть Заблокувати екран, щоб заблокувати екран.

Екран блокування

Відповідно до @MJK , можливо, вам також знадобиться не допустити сну вашої Mac перед сном.


7

РЕДАКТУВАТИ: За допомогою macOS High Sierra (станом на бета-версію 5) ви можете домогтися тієї ж поведінки на " блокованому екрані", яку згадує @Phong, просто через menu меню рядка стану:


Я думаю, що це відбувається, це те, що ваш комп'ютер переходить у режим сну через певний час після переходу у вікно входу, через що ваш сценарій зупиняється.

Щоб система не спала під час запуску сценарію, ви можете запустити caffeinate -sв Terminal (зверніть увагу: працює лише на MacBooks, якщо підключено живлення змінного струму) або включити його у свій сценарій. Для зупинки команди натисніть CTRL + C.

Я захищаю свій обліковий запис, поки я все ще ввійшов, - це включити параметр "вимагати пароль" у системних налаштуваннях:

вимагати пароль

Потім, як тільки дисплей (не система) переходить у режим сну (також налаштовується у налаштуваннях), вам потрібно ввести пароль для доступу до облікового запису.

Ви також можете вручну запустити сплячий режим дисплея, натиснувши CTRL + SHIFT + EJECT (якщо на вашій клавіатурі є кнопка викидання) або запустивши pmset displaysleepnow.


У меню Apple теж є кнопка сну, якщо це допомагає.
DonielF

1
@DonielF Дійсно, але це приводить систему до сну, тим самим зупиняючи виконання сценарію. Це також може бути спровоковано через CMD + OPTION + EJECT
YourMJK

Ця кнопка не переводить дисплей у режим сну? Добре знати.
DonielF

2
@DonielF Окрім того, щоб увімкнути систему для сну, вона також переводить дисплей у режим сну
YourMJK
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.