一把钥匙一把锁,我的双 PC 工作流

学期初,我终于攒出了人生第一台台机。R7 2700X (Zen+) 和 1060 的配置,时至今日最多中端水平,对于一个 使用忍受 了一年轻薄本的人来说,却足以被称为一次飞跃。约两个月后的今天,我设想的两种极端情况(完全抛弃 Gram / 完全依赖 Gram)都没发生,而我则已经摸出了一个适合自己的方案:一把钥匙(LG Gram)对应一把锁(台机)。正式开始之前,先从硬件配置说起吧。

硬件配置

台机 Gram
CPU Ryzen 7 2700X i7-1065G7
GPU GTX 1060 Iris G7
RAM 8GB 3200 x2 16GB 2933 x2
屏幕 4K (ppi 183.58) 1080p (ppi 157.35)

如上所示,我并没有给自己攒出一台秒天秒地的 台机空气 ,在 2021 年的今天,我不得不在 配置预算 上做出不少妥协。好在以前从未将这么强悍的配置(即使中端)作为主力,这些妥协并没有影响我的体验,倒很适合我反复考量这两台机器的使用场景与职能。以下是我考量过后的结果:

协同工作

文件共享

除非使用的是 Apple 全家桶,否则文件传输始终是不可避免的一大障碍。我解决这个障碍的主要工具是 LANDrop ,它提供了无与伦比的局域网内互传体验,使 Android / Windows / iOS 三个平台传文件变得极为顺手。然而,LANDrop 在 Windows 上偶尔会绑定不了端口,并且传输纯文本很麻烦,因此我还将 Snapdrop 作为另一个方案。它只需要浏览器、即开即用,适合承担较轻的文件 / 文本传输工作。除此之外,用 Python 随手跑一个 HTTP server 之类的此前是我的常用解,用于传输文件也足够,只是不方便。

我在 《从本地到云端,我的数据备份方案》 中所述的方案,在双 PC 的情况下对 Gram 依旧适用,Documents 等文件夹仍然会被实时备份到 OneDrive。这对于 Gram 的定位来说无比方便,我更多时候是在图书馆、教室等地方使用 Gram,只要关机前网络连接顺畅,那么大部分文件都无需担心同步问题。同时,我会有意识地将正在撰写的文档保存至 OneDrive,这样便能在全平台随时随地阅读、编辑。

至于台机,由于我在寝室还兼职提供打印服务,台机上存储了各种各样的零散文档,把它们全部传到 OneDrive 浪费空间又占用资源,在我注重备份工作文件的情况下,台机的 Documents 等文件夹没有那么重要,所以我并未采取特殊方案保护它们,只开启了 Windows 自带的内网文件共享, 以便需要的时候台机上的文件可以随时从 Gram 使用。

当然,还有些文件不适合上传至 OneDrive 也不适合手动共享,例如包含了致死量编译中间体和 node_modules 的 Projects。OneDrive 羸弱的自定义特性使备份无比让人脑梗,好在我大部分项目都开源在了 GitHub,提交频繁的情况下并不需要过于担心代码写到一半宕机,但维护两份代码库太耗精力,每次在 Gram 上编辑后还得先 git commit && git push 再在台机上 git pull 不算优雅,所以我选择了 SyncTrayzor ,一个易上手的 Windows 端 Syncthing 工具,用以在两台 Windows 电脑间共享 Projects 文件夹。利用 Syncthing 的排除文件特性,我能够仅共享所有工程的源代码部分,从而实现迅速、即时的文件同步。

使用 Syncthing 还有一个好处:把 Gram 当「钥匙」成为可能。

代码管理与安全性

言归正传,什么是钥匙?什么是锁?

就我而言,借助更强的性能,主要用于调试、编译的台机是我给自己设下的锁,我 SSH Key 的存放点,诸多账户恢复代码的保存处,被 BitLocker with PIN 锁上的 Gram 则是那把用于解锁自己的钥匙。

所以大部分时候,我会在台机上写作或者写代码。机械键盘过硬的手感和台机不俗(至少和 Gram 比起来)的性能,加上 4K 屏提供的绝佳锐利度,让这一过程比起盯着 Gram 的 1080p 小屏敲打着不知说好还是坏的笔记本键盘来说,满足感高了不止一个档次。当我准备好 git commit && git push ,Syncthing 已经把源代码同步好了,只须在 Gram 上的 WSL 中定位到对应的目录,将代码上传至云端。

这全程经过了数个只有我本人才能解开的认证步骤,最大化保证了「我是我」。首先,BitLocker with PIN 加密的硬盘,防止了暴力将 SSD 拆出读取数据,也解决了 TPM 明文传输密钥的安全隐患 ;然后,Windows Hello 要求使用指纹或 PIN 才能进入系统,对于电源指纹一体化的 Gram 来说非常方便;最后 WSL 里要求 passphrase 才能使用的 SSH Key、被不同密码保护的 Keybase 和各账户…如果真的有人能够连续突破这几道防线,那个人只能是我吧。

由于对安全性的高要求,加上目前的 Gram 几乎没有性能压力,我完全开启了 基于虚拟化的安全性保护virtualization-based security, VBS ,手动启用了 内存完整性Memory integrity 等 ,就是此前在 Windows 11 上被发现会「影响系统性能」并因此被口诛笔伐的那系列功能。虽说无法 100% 保证设备安全,很多时候也像是无用功( 「一普通用户这么在意安全干嘛?怕不是藏了不可告人的东西」 ),能够降低风险的事情总归不坏。

我想过在台机上启用更激进的安全策略,可惜 2000 系及以前的 Ryzen 处理器不在 Windows 官方的支持列表里,不确定是 Zen 2 加入的新魔法还是单纯 Zen+ 及更早产品的性能过于拉胯,总之 VBS 在这种情况下较明显地影响到了用户体验,和 Windows 11 的拉胯相辅相成,以至于我为了彻底禁用 Device Guard、Credential Guard 和可能随着 Hyper-V 一同启用的 HVCIHypervisor-Protected Code Integrity 等功能,连着 secure boot 都一起干掉了。挺无奈的。

娱乐 也是工作的一部分!

如果让我在这两台设备中选出最佳内容消费工具,那我大概会毫不犹豫地选择 iPad Pro。它具有一些我这两台设备都不具备的特征:长续航、无实体键盘、触摸、屏幕比例方正等,还能夹在床边(依赖京造的长臂夹, 不推荐 ),目前不管是接上 USB DAC 听歌、玩音游还是逛 B 站、用 Kindle app 读书和 RSS feed 都是我的第一选择。

平时写作、开发,或者哪怕单纯开着电脑坐在桌边写作业,BGM 都很有必要,这时台机上的 Windows 11 红利: WSAWindows Subsystem for Android 成了不可或缺的一部分,因为 Apple Music 网页端 和 iTunes 都一个德性:难用,Android 端的 Apple Music 客户端完美地解决了这一问题。Gram 则更多使用 Foobar2000 播放我从弃置的前端上转移过来的本地音乐,它们包含了一些游戏的解包 BGM、电台曲目等难以在流媒体平台找到或加入播放列表的部分,以及一些个人收藏、自购的专辑。

无所谓的有两个:除了音游,甚至连音游在内的所有游戏都由台机负责解决,视频消费…我没有重温电影或剧集,甚至没有看它们的习惯,更不可能收藏了。我对视频消费的最高追求是在 YouTube 或者主要是 B 站看码率只有 3Mbps 的 1080p。无所谓了。

不过总的来说,在这一方面,毕竟我的娱乐需求偏向「随便」,不刻意,所以也不在意。听歌时,大部分情况下,我会随便抓起离我最近的耳机,使用离我最近的随便什么设备,随便听点收藏过而且没有厌倦的曲目。游戏时,作为自闭单机玩家,就…挺随便的,大部分时候没人管我。视频嘛那更随便了,B 站动态过一遍,把感兴趣的加进「稍后再看」然后随便抽空看完,我随便的娱乐需求就解决了。最不随便的居然是 RSS feed,因为 KindleEar 抓取和 Kindle 推送的限制,我被迫精挑细选,结果倒也不错。

聊以作结

目前,我在日常使用中需要两台设备协同的部分,可能连带着使用习惯等等,到这里已介绍完毕。篇幅较短,还请见谅。我还考虑过很多其它的方案来扩展这一体系,例如搭建一台 NAS 作为下载机、存档机,使用闲置的 SSD 安装 Linux 等,但它们有的考验我的预算,还有的配置完成后也只会有吃灰的结局,最终我都没有实行。总之,对于现在的我而言,如此就是最优解了。