如何在更改“系统偏好设置”时确定plist更改以使其下次自动化?


2

我正在尝试尽可能自动化设置新笔记本电脑的过程。我总是在新的Mac上手动进行某些更改,例如启用屏幕缩放 Ctrl 修改器和设置键盘快捷键以在所有应用程序中将⌘⌥←映射到“选择上一个选项卡”。我确定有一个 preferences.write 相当于这样做,但天哪,我不知道如何确定它是什么。在手动进行更改之后,我可以以某种方式监视或“区分”我的偏好吗?


〜/库/首选项/ .GlobalPreferences.plist
Buscar웃

Answers:


1

Apple现在将最相关的首选项存储在数据库中,因此最好的办法是忽略文件系统上的plist文件,并专注于输出 defaults read com.apple.whatever 对于你改变的事情。不幸的是,没有一个好的Rosetta Stone说如果你偏好X - 寻找这七个偏好域的变化。 Apple存储iCloud的地方或安全信息未映射到系统首选项中的每个可视图标,因此您需要发布多个 defaults read 捕获大多数首选项窗格的整个状态,因为大多数窗格都写入多个设置域。

或者,您可以使用MDM和配置配置文件和脚本进行所有更改,以便您只需将更改推送到管理工具中的所有计算机,并完全跳过整个逆向工程过程。

在过去,MCX是管理企业配置的途径,这相当于您希望在OS X开始时查看最初存储这些设置的.plist文件 - 但是当前的配置文件系统,脚本更改和MDM挂钩已经将MCX和.plist留给了尚未针对新的中央数据库更新的尘土飞扬的角落,以存储用户和系统默认值。


0

如果您知道正在更改的文件,则可以比较终端之前/之后的输出,以便找到确切的设置名称。例如:

/usr/libexec/PlistBuddy -c Print ~/Library/Preferences/.GlobalPreferences.plist > /tmp/before.txt

和, diff /tmp/before.txt /tmp/after.txt 查看正在更改的项目。但是,要小心,因为您正在改变的偏好可能会被隐藏在层次结构中。

如果您还不知道正在更改的文件,则可以使用监视Library / Preferences文件夹 ls -lFat 要查看最先列出的最近更改的文件,您可以从那里确定您感兴趣的文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.