亮度值保存脚本完善补充
借鉴了以下的帖子
https://bbs.pcbeta.com/viewthread-1278275-1-1.html
原帖需要创建backlight.sh 和com.delta.nvram.set.plist 有点繁琐,做了一下合并,只需要backlight.sh 即可。
backlight.sh 内容如下:
#!/bin/bash
if [ "$USER" != 'root' ]; then
echo 'You must run this script as root'
echo -e "Try: \033[0;31;1msudo $0 $1\033[0m instead"
exit 1
fi
if [ "$1" == 'restore' ]; then
echo 'Deleting script file...'
rm /Library/Scripts/backlight.sh
rm /Library/LaunchDaemons/com.delta.nvram.set.plist
echo 'Deleting login script...'
defaults delete com.apple.loginwindow LogoutHook
echo 'Done!'
exit 1
fi
if [ "$1" != '' ]; then
echo 'Unknown argument(s)'
exit 1
fi
echo 'Creating script...'
bash -c "cat > /Library/Scripts/backlight.sh <<EOF
#!/bin/bash
# (c) Slice 2010
nvram -x -p >/Extra/nvram.plist
echo Hello! NVRAM is saved!
EOF
"
cat > com.delta.nvram.set.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.delta.nvram.set</string>
<key>ProgramArguments</key>
<array>
<string>nvram</string>
<string>-xf</string>
<string>/Extra/nvram.plist</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
EOF
echo 'Grantng execution privilege...'
mv ./com.delta.nvram.set.plist /Library/LaunchDaemons/
chmod u+x /Library/Scripts/backlight.sh
chmod u+x /Library/LaunchDaemons/com.delta.nvram.set.plist
echo 'Creating login script...'
defaults write com.apple.loginwindow LogoutHook /Library/Scripts/backlight.sh
echo 'Done!'
echo -e "To retore the modify, try: \033
使用方式没变:
chmod +x backlight.sh
sudo ./backlight.sh
还原则使用:
sudo ./backlight.sh restore
原理是将系统nvram 以-x 即xml 的形式保存在/Extra/nvram.plist 中,每次启动时读取。
版权归原作者所有,我只是做了点完善。{:5_285:}
页:
[1]