如何在Mac之间保持设置一致?


7

我使用多台Mac(OS X Lion)。有很多设置,应用程序和文件我希望在它们之间保持同步。文件是最简单的 - Dropbox +符号链接,Mercurial存储库和独立的Puppet清单都是很好理解和简洁的工具。应用程序稍微困难一点,但我正在尝试使用Puppet + PackageMaker + Dropbox来实现这一目标。

这带给我们设置。这些也是最令人讨厌的,因为我在我的iMac上设置了一些小东西,很快忘记了,然后在几周后重新发现我的MacBook上的烦恼,并且必须梳理谷歌以弄清楚我第一次修复它做了什么。

我今天发现了'默认'命令并且一直在探索它,但我想知道其他人如何解决这个问题?


“设置”是指操作系统级别的配置,比如改变你拥有的空间数量,设置热点角色,修改鼠标行为等等。应用程序级配置也会很棒,但我假设有很多不同的应用程序做这种不同的方式。哦,我多么想念真正的Unix及其平面配置文件......


关于你的特定Dropbox +符号链接用例的一个问题:你有Dropbox文件夹中的实际文件和它们的符号链接,还是你的Dropbox文件夹中的符号链接到其他地方?
julien_c

@julien_c Dropbox中的实际文件。我含糊地回忆起另一种方式不起作用,但可能是完全错误的。
sh-beta

好吧,显然有时候它会起作用......有时它不会。谢谢!
julien_c

Answers:


11

确实没有一个适合所有答案的答案,但如果您愿意花一些时间来设置它,我可以想到四种方法来完成您的任务。


Mac是Unix,所以只需检查你的 ~/Library/Preferences and /Library/Preferences 进入某种代码控制系统。然后你可以做差异,大多数plist是文本或容易转换成文本(使用 PlistBuddy )因此,您可以准确地隔离您已更改的内容。

有很多教程可供选择 - Penn的操作Plist文件的wiki 特别好,并指向具有unix技能的人。


有许多Managed System软件,如Apple Remote Desktop或其他类似软件 卡斯帕 如果您希望明确设计软件来管理用户首选项。


如果您有备用计算机(或虚拟机),则可以轻松设置服务器帐户以获得最低成本。再一次 - 一些工作,但移动帐户确实适用于许多人。


最后,不要忽视简单地将用户帐户从正确的mac迁移到另一台mac,并且只是建立一个系统,让您记录如何记录更改设置的时间。


5

1)对于大多数OS X应用程序,保留设置 〜/图书馆/应用支持/ 〜/库/首选项/

在Terminal.app中:

cd ~/Library/Preferences/

plutil -convert xml1  *.plist

然后在文本编辑器中打开任何plist文件。

或者,如果您选择的文本编辑器是BBEdit,只需使用。打开plist文件 bbedit 命令,自动将它们转换为XML。

或者,只是使用 defaults read 在任何这些plist文件上 - 只需关闭.plist。例如,如果你想阅读 com.apple.dock.plist 使用 defaults read com.apple.dock

2) defaults 命令是你的朋友。

我设置了一个将记录所有内容的函数 defaults write 我做的:

defaults ()
{
    if [ "$1" = "write" ]
    then

        LOG="$HOME/Dropbox/dwrites.txt"

        echo "default $@" >>| "$LOG" && echo "[logged defaults change to $LOG]"

    fi

    /usr/bin/defaults $@
}

这样我记录了我在命令行上所做的所有更改。

但是,当然有 地段 我没有在命令行上进行这些更改,而是通过“系统偏好设置”或单个应用程序首选项进行更改。

其中一些甚至是存储在其中的系统级更改 /图书馆/应用支持/ 要么 /库/首选项/

3)同时结帐 networksetupsystemsetup 命令。


3

同意bmike除了迁移用户帐户或定期将一个驱动器克隆到另一个驱动器之外,确实没有任何一种尺寸适合所有解决方案。

我建议查看类似的内容 的SpiderOak 用于同步目录。它允许您选择要备份和同步的计算机上的哪些目录,而不是像Dropbox那样提供预定义的放置文件的位置。不再乱用符号链接。

您应该能够通过在计算机之间同步/ Applications文件夹来同步大多数Mac应用程序。您的大部分应用程序设置都将驻留在〜/ Library和/ Library中。您可能希望同步您的主文件夹以及存储数据文件的任何其他文件夹。

我已将此设置为我的主文件夹,以及我的两台机器上的〜/ Library和/ Library的大块。我从来没有尝试同步/应用程序,但理论上它应该工作。

关于您通过命令行应用的设置,我建议编写一个驻留在其中一个同步文件夹中的shell脚本,并设置您的计算机以定期运行它,通过cron或其他一些实用程序。

每次找到喜欢的新命令行设置时,都要将其添加到shell脚本中。脚本的内容将在两台计算机之间同步,因为它们都是定期运行的,所以它将更新两台计算机上的设置。

这不是100%,但它让我足够远,手动处理剩下的东西并不是那么痛苦。

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.