5

На панели настроек есть возможность изменить время, в течение которого Mac может находиться в режиме сна / заставки, прежде чем требовать повторной разблокировки пароля.

Я использую OS X Lion 10.7.

Есть ли способ изменить эту настройку с помощью терминала или appleScript? Я попытался изменить файл plist с помощью:

defaults write com.apple.screensaver askForPasswordDelay -int 60

также пытался

defaults write com.apple.screensaver askForPasswordDelay -float 60

также полностью отключить пароль не работает либо

defaults write com.apple.screensaver askForPassword -int 0

Файл plist был изменен, но он не дал никаких результатов. Это тот же файл plist, который изменяется при ручном переключении настроек в настройках.

Было бы здорово, если бы у кого-нибудь появилась идея, как решить мою проблему.

РЕДАКТИРОВАТЬ: также пытался: 1) добавить флаг -currentHost 2) удалить -int / -float

5 ответов5

2

Попробуйте использовать параметр -currentHost для команды по defaults .

defaults -currentHost read com.apple.screensaver

defaults -currentHost write com.apple.screensaver askForPasswordDelay -int 60

В дополнение к команде по defaults есть также /usr/libexec/PlistBuddy:

/usr/libexec/PlistBuddy -h

for f in ~/Library/Preferences/ByHost/com.apple.screensaver.*.plist; do
   /usr/libexec/PlistBuddy -c Print "$f"
done
1

Вы можете сделать это с помощью сценариев пользовательского интерфейса. Это требует включенной поддержки вспомогательных устройств на панели настроек Универсального доступа. Вы можете запустить скрипт из командной строки, используя osascript , но для этого нужно иметь сеанс с графическим интерфейсом.

Основываясь на моем старшем ответ здесь, я создал следующий скрипт , который работает на моем File Vault включен Lion. Очевидно, флажок для полного отключения пароля был удален либо самим Lion, либо я включил File Vault 2. В последнем случае я не могу исправить сценарий для вас, но связанный может работать.

Измените индекс (6) пункта меню, чтобы щелкнуть в 9-й строке, чтобы выбрать, какой из вариантов выбрать.


tell application "System Preferences"
    set current pane to pane id "com.apple.preference.security"
    tell application "System Events"
        tell process "System Preferences"
            tell first window
                tell first tab group
                    click radio button 1
                    click pop up button 1
                    click menu item 6 of menu of pop up button 1
                end tell
            end tell
        end tell
    end tell
    quit
end tell

Ниже приведен "официальный" метод изменения этого параметра в AppleScript:

tell application "System Events" to set require password to wake of security preferences to false

У него две основные проблемы:

  • Это логическое значение (вы не можете изменить льготный период)
  • Это не работает для меня (это занимает место флажка, которого у меня нет)
1

Lockfile делает это намного сложнее, чем раньше. Самый простой способ, который я нашел до сих пор:

Выполните ваши изменения в файле plist, а не в домене, и выполните от имени суперпользователя. Это изменит права доступа к файлу, так что только root может читать и писать, что плохо и требует исправления. Быстрый chown+chmod для исправления. Если вы не исправите разрешения в следующий раз, когда Системные настройки попытаются загрузить список ошибок, произойдет сбой, в любом случае решите, что он поврежден, и замените его копией по умолчанию.

Итак, код:

sudo defaults write ~/Library/Preferences/com.apple.screensaver.plist askForPasswordDelay -int 60

sudo chown <username> ~/Library/Preferences/com.apple.screensaver.plist

sudo chmod 600 ~/Library/Preferences/com.apple.screensaver.plist

Похоже, это относится к большинству файлов настроек в Lion, но не ко всем.

0

Лучше всего, если вы воспользуетесь редактором списков файлов и посмотрите внимательно ... очень вероятно, что все изменится с Snow Leopard на Lion.

0

Вам придется изменить номер версии конфига и удалить файл блокировки.

defaults -currentHost write com.apple.screensaver askForPasswordDelay -int 60
defaults -currentHost write com.apple.screensaver PrefsVersion -int 101

rm ~/Library/Preferences/ByHost/com.apple.screensaver.plist.lock

Я не нашел правильный процесс, чтобы убить, но после перезагрузки проснулась для меня задержка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .