无法以root用户身份设置屏幕保护程序空闲时间

时间:2015-02-02 07:20:28

标签: macos plist cfpreferences

我使用的脚本是

#!/bin/sh
# grab current user
curUser=`ls -l /dev/console | cut -d " " -f 4`

# grab the system's uuid
if [[ `ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-50` != "00000000-0000-1000-8000-" ]]; then
        macUUID=`ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-62`
fi
defaults write /Users/$curUser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist idleTime -int 900

但后来当我去看Mac中的桌面和屏幕保护设置时。 15分钟后我没有找到开始。

但是当我给了

defaults read /Users/$curUser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist idleTime

输出为900

即使我尝试杀死cfprefsd守护程序,但仍然没有设置这个新值

killall cfprefsd

请有人告诉我,我在哪里犯了错误

1 个答案:

答案 0 :(得分:0)

我尝试了一个替代脚本,但它确实有效。但在执行此命令之前,我们应确保退出系统首选项。

#!/bin/bash
currentuser=`ls -l /dev/console | cut -d " " -f 4`
sudo -u $currentuser defaults -currentHost write com.apple.screensaver idleTime -int "120"

sudo -u $currentuser defaults -currentHost read com.apple.screensaver idleTime