我有一台 Macbook Pro,我会把它从家里带到办公室、咖啡店和酒店。当我在家时,我希望它不需要密码,除非 4 小时不活动。当我旅行时,我希望它在 1 分钟后需要输入密码,而在工作时,我希望它在 30 分钟后需要输入密码。
有没有什么软件可以做到这一点?基本上,我想根据我所在的位置更改屏幕保护程序的设置,并希望它根据所关联的 Wi-Fi 网络自动解决这一问题。
答案1
使用马可波罗或该页面上描述的任何替代方法来确定您的位置(更改)并执行编辑以下内容的 shell 脚本~/Library/Preferences/com.apple.screensaver.plist
:
defaults write com.apple.screensaver askForPasswordDelay -int 1800
不幸的是,这只有在重新登录后才会生效。但您可以通过“系统偏好设置”使用 AppleScript 进行 GUI 脚本编写:
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
# ensure we're on the first tab
click (first radio button whose title is "General")
# 'require password' checkbox
set cb to (first checkbox whose title is "Require password")
# 'require password' popup button
set pb to pop up button 1
# always enable password
if value of cb is not 1 then
# password is currently disabled, enable it
click cb
end if
# if password is activated now, set the timeout
# this check is redundant, you can remove it
if value of cb is 1 then
# click pop up button to get menu
click pop up button 1
# select 'immedately'
click first menu item of menu of pb
end if
end tell
end tell
end tell
end tell
quit
end tell
为弹出菜单中的每个所需选择创建此脚本的三个版本。例如first menu item
是立即、second menu item
是 5 秒等等。
将它们保存为脚本,例如immediately.scpt,
并从命令行执行osascript
,或者从 AppleScript 编辑器保存为应用程序,然后通过open
ing 它们执行。
取决于您决定使用哪种解决方案来确定您的位置。
答案2
AirPort 位置可以对每个位置的系统设置进行快照,并在您在该位置使用机器时重新应用它们。检查一下它是否能包含您需要的设置。