This page looks best with JavaScript enabled

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

 ·  ☕ 3 min read
    🏷️

The icon is created by Febrian Hidayat

最近,我常常带着笔记本去小区附近的咖啡店工作。人类是群居动物,我一个人宅在家太久了,不和人说话,难免会感到压抑,而且一天三顿外卖的生活对健康也不友好。在咖啡店工作,不仅能换个环境,还可以和店员聊聊天(那家咖啡店的店员有程序员,有做金融的,有互联创业公司合伙人,我们也有很多共同话题可以聊)。午饭和晚饭也能顺便去附近餐厅解决,比点外卖健康多了。


随身硬件装备

每次外出,我都会带上以下几样装备:

  1. Dell XPS 15 9530 笔记本电脑
    这台“轻薄本”重达 1.98kg,是我最爱的生产力工具。配置方面也十分强悍:搭载 i9-13900H 处理器、96GB 内存、8TB NVMe SSD,以及 NVIDIA GeForce RTX 4070 Max-Q 显卡。

  2. 倍思 130W 氮化镓充电器
    支持同时给笔记本和手机充电。虽然它对笔记本的最大输出功率为 90W,但已经足够日常使用了。充电线的功率限制似乎是 100W,暂时没有遇到瓶颈。

  3. 其他随身物品

    • 手机
    • 最高120W 输出功率,20000mAh,可以给笔记本电脑充电的充电宝
    • 500mL 的水杯
    • Sony WF-1000XM5 降噪耳机(在嘈杂的环境下工作必备)

软件工具与优化方案

为了保证工作的效率,我配置了以下工具与解决方案:

1. 内网穿透工具:frp

由于家里没有公网 IP,我使用 frp 实现内网穿透,方便远程访问家中的资源。


2. 远程桌面:Sunshine + Moonlight

当需要操作台式机的 GUI 界面时,我选择了 Moonlight 作为远程桌面客户端,并在台式机上运行 Sunshine
我的台式机和笔记本均运行 KDE Wayland 的 NixOS,即便是澳门到北京的长距离操作,延迟基本不超过 60ms,非常流畅。


3. Rust 开发环境优化:ra-multiplex

Rust 项目的开发离不开 rust-analyzer,但它的 CPU 占用率较高。为了避免给笔记本带来过多负载,我在家里的台式机上启动 ra-multiplex 作为服务端,通过 TCP 端口监听。笔记本上运行 ra-multiplex 客户端连接台式机,这样一来,rust-analyzer 的分析工作全交给台式机完成,笔记本的性能负担微乎其微,提供了舒适的编程体验。


4. 文件实时同步:Watchman

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


5. 自己编译 rust-analyzer

为了能提高 rust-analyzer 的性能,我拒绝使用 rust-lang/rust-analyzer 分发的 Github Release tar ball。 而是这样自己编译 rust-analyzer:

1
RUSTFLAGS='-C target-cpu=native -C lto=true -C embed-bitcode=yes -Zdylib-lto ' cargo build --release

期望这样相比单纯的 cargo build --release 能得到点性能提升,不过我确实感受到一点性能提升。
(我也使用 这个 RUSTFLAGS 编译 emacs-lsp-booster 的


总结

这种搭配让我在外出时也能享受到高效的工作体验,同时避免了笔记本性能不足或高负载的问题。如果你也像我一样有类似的需求,不妨试试上述工具。

Share on

EXEC
WRITTEN BY
EXEC
Eval EXEC