4

一日一技 | 如何迁移 macOS 的系统偏好设置

 3 years ago
source link: https://sspai.com/post/65019
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Matrix 首页推荐

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。

场景

不知道诸位在使用 macOS 时是否遇到过这样的场景:有两台电脑,想把旧电脑中的系统偏好设置原封不动地迁移(导入)到新电脑中,只关心这些设置,不想迁移其他东西。

解决

方案 1:官方迁移助理

其实官方提供了一个方案,叫「迁移助理」。具体操作步骤可见文档: 将内容迁移到一台新的 Mac 上 ,不仅可以迁移系统设置,还包括整个用户帐户下的文件、应用程序等。

QNZ7fm6.jpg!mobile

如图,我们可以在此步骤中只选择「系统与网络」,就能实现系统设置的迁移。

方案 2:macprefs

第一个方案其实是比较安全保险的做法,但是需要注意的是:

在这个示例中,John Appleseed 是一个 macOS 用户帐户。如果这个帐户与新 Mac 上已有的帐户同名,则系统会提示您重命名这个旧帐户或替换新 Mac 上的帐户。如果进行重命名,则这个旧帐户会作为单独的用户出现在新 Mac 上,并且拥有单独的个人文件夹和登录名。如果进行替换,则这个旧帐户会删除并随后替换新 Mac 上的帐户,包括相应个人文件夹中的所有内容。

也就是说你可以选择覆盖或者创建另一个帐户来迁移你的数据。其实很多时候,我们只是想把系统偏好设置做一个导出导入仅此而已,并不想涉及帐户相关的操作。又比如说我想把我的设置分享给其他朋友,或者备份到我自己的硬盘 or 云端。这个时候,就需要借助开源的力量了。

macprefs :Backup and Restore your Mac System and App Preferences (e.g. defaults write)

这个开源项目的 About 写得非常清楚,就是可以备份和恢复 macOS 的系统设置。安装和使用也非常方便:

brew install clintmod/formulas/macprefs

打开终端,一行命令安装。没有安装 brew?官网在这里: https://brew.sh/

备份和恢复命令:

macprefs backup
# 备份成功之后,文件默认在~/Dropbox/MacPrefsBackup目录中
macprefs restore

当然,也可以修改默认备份目录:

export MACPREFS_BACKUP_DIR="$HOME/SomeOtherDir"

所以,我们就可以在旧电脑上备份后,把文件 copy 到新电脑上,再进行恢复。显然前提是两边都安装了 macprefs。这里需要注意的是,最好保证两边的帐户用户名是一致的,否则可能出现奇怪的问题(含泪亲测)。

方案 3:mackup

这个开源项目的简介:Keep your application settings in sync (OS X/Linux)

与方案 2 的区别在于,它直接把系统设置备份到了云端,需要先安装好 Dropbox ,相当于省去了手动 copy 文件到另一台电脑的操作。然后再安装此工具:

brew install mackup

备份和恢复命令:

mackup backup
mackup restore

相比 macprefs 还有个优势是,它可以撤销恢复操作:

mackup uninstall

也就是说如果我 restore 后发现有问题,比如出现奇怪的 bug 之类的,那么我可以撤销到原有的设置,给人很安心的感觉。除此之外,mackup 不仅支持 macOS,也支持 Ubuntu 等其他 Linux 发行版系统。

方案 4:纯手动档

其实经过探索发现后,我们知道 macOS 会把用户的一些 App 设置存储在这里: /Users/xxx/Library/Preferences ,会把系统相关的设置存储在这里: /Library/Preferences

其实上述的开源工具大致上也是备份了这些文件,从 macprefs 的部分源码可以得知:

def get_preferences_dir():
    return_val = path.join(get_home_dir(), 'Library/Preferences/')
    return return_val

理论上讲,我们手动把这些文件夹 copy 过去也可以。这个我没有亲测过,毕竟实际操作粒度可能不会这么粗,感兴趣的小伙伴可以折腾试验一下。

后话

之前还有人提到过直接 Time Machine 进行备份和恢复之类的办法,这未免有些大动干戈了。我只是想迁移系统偏好设置而已,尤其是触控板、鼠标、键盘等设置的微调,每次换电脑都要重新弄一遍很麻烦的。也但愿官方有更简单的办法来导出这些配置文件,毕竟开源工具更新不及时,也很可能出问题的。

> 下载少数派 2.0客户端、关注少数派公众号,解锁全新阅读体验 :newspaper:

> 实用、好用的正版软件,少数派为你呈现 :rocket:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK