咖啡馆的体验,我的随身装备与软件工具分享:ra-multiplex, sunshine, moonlight, watchman

咖啡馆的体验,我的随身装备与软件工具分享:ra-multiplex, sunshine, moonlight, watchman

💡 原文中文,约1600字,阅读约需4分钟。
📝

内容提要

作者常去咖啡店办公,介绍随身装备(Dell XPS 15笔记本、倍思130W充电器、大容量充电宝、降噪耳机等),并说明软件方案:用frp内网穿透、Sunshine+Moonlight远程桌面,通过ra-multiplex将rust-analyzer分析交给家中台式机,配合Watchman实时同步代码,自行编译优化性能,从而减轻笔记本负载,实现高效移动办公。

🔎

延伸解读

远程开发的核心思路:把重负载留在家里

作者没有试图让笔记本承担所有计算,而是通过 frp 内网穿透和 Sunshine+Moonlight 远程桌面,把 rust-analyzer 分析、编译测试等重任务交给家中台式机。笔记本只负责编辑和显示,负载大幅降低。这种分工适合需要移动办公但本地性能有限的开发者,前提是网络稳定且能接受一定延迟。

ra-multiplex 与 Watchman 的配合方式

ra-multiplex 让笔记本上的编辑器连接台式机上的 rust-analyzer 服务端,分析工作完全在台式机完成;Watchman 则负责把笔记本上修改的代码实时同步到台式机,保证分析基于最新文件。两者结合,使远程开发体验接近本地,但依赖文件同步的及时性和网络质量,同步延迟或中断可能影响分析准确性。

自编译优化:收益有限,适合愿意折腾的人

作者通过自定义 RUSTFLAGS 编译 rust-analyzer,加入 target-cpu=native、LTO 等选项,期望提升性能,并称确实感受到一点提升。这种做法需要自行维护编译流程,且优化幅度未量化。对于追求稳定、不想额外维护的用户,直接使用官方发布版本可能更省心;愿意折腾且熟悉 Rust 构建的人可以尝试。

硬件与网络的实际约束

作者使用的 Dell XPS 15 重约 1.98kg,搭配 130W 充电器和 20000mAh 充电宝,说明移动办公仍需考虑供电和便携性。远程方案中,澳门到北京的操作延迟基本不超过 60ms,但这是作者个人网络环境下的结果,实际体验会因网络条件而异。降噪耳机在嘈杂咖啡店中是必要补充。

❓

Q&A

去咖啡店办公需要带哪些硬件装备?

作者常带:Dell XPS 15 9530 笔记本(i9-13900H、96GB 内存、8TB SSD、RTX 4070 Max-Q)、倍思 130W 氮化镓充电器(可同时充笔记本和手机)、支持 120W 输出且 20000mAh 的充电宝、500mL 水杯、Sony WF-1000XM5 降噪耳机。

没有公网 IP 怎么远程访问家里的电脑?

作者使用 frp 实现内网穿透,因为家里没有公网 IP,通过 frp 可以方便地远程访问家中资源。

Sunshine 和 Moonlight 远程桌面延迟怎么样?

作者在台式机运行 Sunshine,笔记本用 Moonlight 客户端,两端均为 KDE Wayland 的 NixOS,从澳门到北京长距离操作延迟基本不超过 60ms,非常流畅。

如何减轻笔记本运行 rust-analyzer 的负担?

作者在台式机上启动 ra-multiplex 作为服务端并通过 TCP 端口监听,笔记本上运行 ra-multiplex 客户端连接台式机,将 rust-analyzer 的分析工作全部交给台式机,笔记本性能负担微乎其微。

Watchman 在远程开发中起什么作用?

Watchman 用于实时同步代码:当在笔记本上编辑代码时,它会实时将修改后的文件同步到台式机,使台式机上的 rust-analyzer 服务端能实时分析代码,需要编译或测试时也直接在台式机上完成。

自己编译 rust-analyzer 能提升性能吗?

作者拒绝使用官方 GitHub Release 的 tar ball,而是用 RUSTFLAGS='-C target-cpu=native -C lto=true -C embed-bitcode=yes -Zdylib-lto' cargo build --release 自行编译,期望比单纯 cargo build --release 有性能提升,并确实感受到一点提升。

🏷️

标签

➡️

继续阅读