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

Not able to set screensaver idle time as root

我使用的脚本是

#!/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

谁能告诉我哪里做错了

我尝试了一个替代脚本并且它有效。但在执行此命令之前,我们应该确保退出系统偏好设置。

#!/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