Я хочу змінити цю поведінку з терміналу:
- Автоматичний вхід
- Показано пароль після заставки та режиму сну
- Перейдіть до режиму сну через х хвилин
- Увімкнути заставку через х хвилин
Я хочу змінити цю поведінку з терміналу:
Відповіді:
1) Автоматичний вхід
Той хитрий. За замовчуванням збережено в
defaults read /Library/Preferences/com.apple.loginwindow autoLoginUser
Але для того, щоб увімкнути або вимкнути, вам потрібно зробити це як root.
Встановіть:
sudo defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser ShortName
Видаліть його (вимкніть):
sudo defaults delete /Library/Preferences/com.apple.loginwindow autoLoginUser
2) Показ пароля після заставки та режиму сну
Я намагався змусити цю роботу працювати, і не можу
Ви побачите багато підказок, які говорять про те, що відповідь є
defaults write com.apple.screensaver askForPassword 1
або подібні варіанти
defaults -currentHost write com.apple.screensaver askForPassword -int 1
і це повинно працювати, тому що якщо вимкнути його через Системні налаштування, ви побачите:
% defaults read com.apple.screensaver
{
askForPassword = 0;
askForPasswordDelay = 0;
tokenRemovalAction = 0;
}
а потім, якщо увімкнути його за допомогою системних налаштувань, ви побачите
% defaults read com.apple.screensaver
{
askForPassword = 1;
askForPasswordDelay = 0;
tokenRemovalAction = 0;
}
АЛЕ якщо вимкнути його та вимкнути Системні налаштування та змінити налаштування, використовуючи "За замовчуванням записувати", коли я перезапускаю Системні налаштування, це зміна не відображає.
Я дуже хотів би дізнатися відповідь на це (бажано, без оснащення, але якщо іншого способу немає, я прийму його).
3) Перейдіть до режиму сну через х хвилин
Якщо припустити, що ви хочете сказати, що "потрібно, щоб комп'ютер спав через х хвилин":
sudo pmset sleep 20
Ви також можете використовувати різні налаштування спеціально для батареї (для MacBooks):
sudo pmset -b sleep 10
Якщо ви хочете вказати, що ніколи не спить під час підключення, використовуйте
sudo pmset -c sleep 0
4) Увімкніть заставку через х хвилин
@ Рекомендація Даніеля спрацювала для мене:
sudo osascript -e 'tell application "System Events" to set delay interval of screen saver preferences to 30'
Ви можете використовувати "sudo pmset displayleep X", щоб заснути дисплей замість заставки.
delay interval of screen saver preferences
це за лічені секунди, хоча графічний інтерфейс працює за лічені хвилини. Тож встановлення його на 30 може дати несподівані результати.
Команда osascript та програма System Events - це ваші друзі тут. В основному ви будете викликати AppleScripts з командного рядка.
Наприклад,
sudo osascript -e 'tell application "System Events" to set delay interval of screen saver preferences to 30'
sudo osascript -e 'tell application "System Events" to set automatic login of security preferences to false'
sudo osascript -e 'tell application "System Events" to set require password to wake of security preferences to true'
Перший встановлює заставку на 30 секунд після останньої дії; другий відключає автологін. Третій вимагає пароля для виходу із заставки або пробудження зі сну (настройки для двох пов'язані). Вивчення словника системних подій допоможе вам зібрати специфіку, яку ви шукаєте.
/Library/Preferences/com.apple.screensaver.plist
містить загальносистемні налаштування, які застосовуються, коли в обліковому записі користувача ще немає налаштування для певної функції в ~/Library/Preferences/ByHost/com.apple.screensaver.MACADDRESS.plist
.
Запис у загальносистемний файл, який /Library
використовується
defaults write Library/Preferences/com.apple.screensaver
Для запису до файлу поточного користувача використовується
defaults write com.apple.screensaver
Значення для заданого параметра у файлі користувача має пріоритет над значенням для того ж самого параметра у загальносистемному файлі.
~/Library/Preferences/com.apple.screensaver.plist
хоча б 10,7. Це також файл, який читає defaults read com.apple.screensaver
; додавання -currentHost
прочитає той, що знаходиться в каталозі ByHost.
system_profiler | grep 'Hardware UUID'
.
Увімкнення автоматичного входу за допомогою sudo defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser ShortName
більше не працює в macOS Sierra.
Спробуйте це замість цього: https://github.com/xfreebird/kcpassword
defaults write …
це не впливає на додаток System Preferences у такому випадку.