@scomper

MacBook 工作环境的同步

2017.11.14

MacBook Pro 出现了几次突然间的黑屏和自动关机,让人忧心电脑是不是要挂了,2013 年底的设备服役到现在这种风险估计会与日俱增,除了积极做备份以外,就文档和设备间的同步也做了一些工作,数据是第一重要的,工作连续性则是第二重要的。如果将 MacBook 送修,一定几率当场能解决问题,但是,还有一种可能就是需要多个工作日才能完成检测和维修,面对这种可能,工作的接续就显得尤为重要。

如何才能让两台电脑的数据保持一致呢?
理论上的两台电脑数据一模一样的双机热备方式在日常应用中是做不到的,那么除此之外能想到的方案有几种:

  • 使用外置硬盘安装系统
  • 远程访问的方式访问
  • 文件同步的方式

外置硬盘的方式完全是系统和数据一体化的便携方案,只需要外置硬盘的磁盘读写速度能跟上,但无法热插拔也是天然的短板,而且是假定另一台电脑真的就只是当个坞站来使用的模式,有点浪费资源。远程访问最多只能算是一种辅助手段,从其他设备上远程访问存在的限制很多,而且性能和操作都有很大的局限,所以最终比较实际的方式还是文件同步。

外置硬盘安装系统

将系统安装到外置硬盘上虽然解决了数据统一的问题,但是使用起来也不是很方便。为此在移动硬盘上安装 macOS High Sierra 做了一下测试:

  • USB 3.0 的外置硬盘也就能安装个系统看看,实际使用很不流畅,可以说每个动作都会卡顿,估计至少需要 SSD 的闪存盘才有意义,什么时候添置 SSD 移动硬盘了再实验一次;
  • 换设备时,需要关机插上安装有系统的移动硬盘,开始按 Option 键选择加载那个硬盘上的系统,同样也必须关机才能移除移动硬盘;
  • 两台笔记本的硬件配置虽然不同,但是不影响系统的加载,这要归功于 macOS 包含的驱动的完整性;

每次都需要重启来挂载移动硬盘上的系统,对于家里的多台设备来说不太适合,所以这种方式可以用在异地办公的设备间,或者租借的电脑上,这样出门的时候带个移动硬盘就搞定了。

对于家里的两台设备来说,日常既有可能同时使用,也可能某台设备使用的更频繁一些,用移动硬盘的方式显然不合适,而且无法热插拔移动硬盘,原本盒盖休眠打开开机的良好使用体验也会消失。

远程访问的方式

远程访问是局域网设备集中管理的一种好方式,访问速度上也没有太大问题支持文件交换。设备间的相互访问需要启用两台设备的「屏幕共享」③,「系统偏好设置 - 共享」勾选启用「屏幕共享」。
访问另一台电脑时,打开 Finder 直接 ⌘K,输入 vnc://IP (另一台电脑的 IP 地址),就会弹出登录界面 ④ 。

如果是访问自己的另一台电脑,可以跳过 ① ② 创建用户的部分,直接输入另一台电脑的管理员用户名和密码即可,屏幕共享还可以用在 Mac 用户之间的问题交流和协助上,如果不是本人登录,从安全角度考虑建议单独创建一个用户来登录。

共享设置里的「远程管理」和「屏幕共享」有什么区别呢?屏幕共享算是远程管理的一个子集,用于两台设备间屏幕上的交互和操作,而远程管理是设计给企业 IT 管理员的工具,可以远程控制多台电脑,分发软件,创建软件和硬件报告,开关机等等。远程管理需要在主机上安装单独的软件 Remote Desktop ,更多关于远程管理的内容,可以访问官网的帮助

两台电脑之间的相互控制用「屏幕共享」就足够了,例如操作不同房间的电脑,为另一台设备进行系统更新、软件升级等等,系统和软件的更新也是保障工作环境一致所需要人工参与的部分。如上图所示,主机上访问另一台设备后,可以全屏作为一个独立的桌面来操作,被控制端「屏幕共享」图标显示在菜单栏,主机端则是在 Dock 上。

  • 屏幕共享的两台电脑之间,传输文件是上传的方式,所以不会覆盖已有文件;
  • 可以以窗口和全屏两者方式进行屏幕共享;
  • 只能通过鼠标操作远端设备,无法传递键盘快捷键;
  • 为了便于操作,被控制设备的 Dock 栏不要隐藏,摆放位置建议也和主机有所区别。

文件同步的环境

屏幕共享只能算是一种懒人模式,两台设备的工作环境一致依旧需要文件层面的同步。利用 macOS 系统的 iCloud Drive、Dropbox 网盘、自动化工具 Hazel 、文件同步工具 GoodSync 一起来构建工作环境的同步。同步管理的逻辑是历史数据保存在本地,活跃数据云同步,本地的数据利用 Hazel、GoodSync 这样的工具软件同步和备份,结合系统的 Time Machine 实现数据的离线安全,云端数据利用iCloud、Dropbox 和 Google 来实现协同。

受限于网络同步的速度、设备的在线、网络的稳定性、软件参数同步的局限性这些已知的问题,最终的结果是努力让两台设备的使用环境的趋于一致,保证工作的连贯性。

文件同步主要体现在软件配置、文档数据这些,两台设备的操作系统和应用软件更新要依靠人工参与保持更新,至少在大版本上保持一致。应用软件和系统属于大环境,系统偏好设置中启用 App Store 的自动更新,非 App Store 下载的应用软件定义一个更新日程或待办事项周期性的更新一次。


如图所示的设备环境中,两台电脑需要先保证软件环境基本一致,启用 iCloud、安装 Dropbox、Google Drive、Hazel。每台设备的「数据」部分是独立的,设备之间可以通过屏幕共享、网上邻居的方式访问对方的文件,「配置」「资源」「文稿」这些则利用云服务来保持自动同步,工作环境需要用到的数据也基本都在后面的三个分类当中。

Dropbox 中主要用来存放应用的配置信息,例如鼠须管的配置和个人词库、aText、Alfred 的配置、BBEdit 的配色主题、Surge 的配置备份、Blog 本地备份、书签备份等等,有些应用软件支持自动备份配置到 Dropbox,有些则需要人工参与,集中在 Dropbox 的这些数据更倾向于私有的数据。

Google 中存放的是适合用来分享和协同维护的数据,例如资源类型的 OmniGraffle .Stencils 型版文件,Sketch 的文件等等,这些资源也是保障工作环境一致性所必需的文件。

和系统紧密结合的 iCloud 适合存放当前会用到的文稿和素材,利用 iCloud 的无缝同步,不仅可以在不同的电脑上打开同一个文档,还能在 iOS 设备继续工作,iWork 的文稿甚至可以在任何安装有浏览器的其他电脑上访问和编辑。

使用同一个 Apple ID 登录两台电脑,启用 iCloud Drive 并在 iCloud 设置中勾选「桌面与文稿数据」,需要注意的是 DEVONthink、Pixave、Parallels Desktop 的数据在启用「桌面与文稿数据」前需要迁移到其他非 iCloud 目录。

DEVONthink 有自己的 iCloud Drive 同步设置,但是不能将其数据库文件放在启用了 iCloud 的文稿文件夹中。Pixave 的情况类似,支持 iCloud Drive 但不适合将库文件直接放在 iCloud 的文件夹之中, Parallels Desktop 是因为虚拟机文件太大,不适合自动同步。

不推荐启用「优化 Mac 存储空间」,系统的智能判断有时候会添乱,例如有些文件虽然使用频率不高,但是偶尔用到的时候现下载还是很烦人。很多人启用它的初衷是希望减少本地占用,不过文稿和照片比起来后者可能更占地方,归档后的数据可以定期迁移到移动硬盘来存储从而释放更多的空间。当下要用到的数据还是都在本地硬盘更合适。

对于已经支持 iCloud Drive 的应用,优先将文件保存在其 iCloud 的文件夹之中,例如 MindNode、Surge、iWork 等,OmniGraffle 这种不支持的应用可以将文件都统一存储到文稿之中。当前的工作可以保存到桌面,这样切换到另一台电脑桌面上同样会醒目的显示。

iCloud 照片库、iOS 设备的云备份 和 iCloud Drive 是共享同一个空间大小的,前两者是占用空间的大户,所以用 iCloud 做文稿数据的同步,有必要选择一个更大的 iCloud 套餐,200GB(¥21/月) 是个好的起点,还可以和家人共享空间。

以上介绍了两台电脑工作环境同步的思路和框架,文档同步是工作环境同步的基础,而应用软件的使用习惯的继承同样是工作环境的一部分。例如,Things、Due 启用软件偏好中的云同步即可,Alfred 需要在配置中指定 Dropbox 同步文件夹,鼠须管配置中的同步只能同步用户词库,配置文件同步需要通过文件夹和第三方软件来实现。这些将在后续文章中展开具体讨论。

Comments
Write a Comment