- 发布时间
我的 Arch Linux 之旅:2025 年 5 月到 7 月
两个月前,我决定把 Arch Linux 作为自己的日常主力系统。这篇文章记录了我从 2025 年 5 月到 7 月的旅程,分享其中的起伏、发现和经验。但这不仅是一段技术路线的变化,它更像是一场关于操作系统如何塑造思维方式和世界观的哲学探索。🚀
操作系统的哲学:超越技术选择 🧭
操作系统也是一种哲学
每一种操作系统,都体现了不同的人机交互哲学:
Windows:带着隐藏代价的技术奇迹
- 哲学:"让大众都能用起来"
- 技术成就:Microsoft 的确完成了一件非常了不起的事——创造出一个能让成千上万种不同软件共存并稳定运行的环境。向后兼容和广泛软件支持,本身就是极其优秀的工程成就。
- 透明性问题:但 Windows 给人的感觉总是“很大”,而这种“大”会让人不安。后台服务在没有明确说明的情况下运行,索引过程神秘发生,默认进程也会消耗资源,却不知道原因。你会忍不住问:"当我没在看的时候,电脑到底在做什么?"
- 开源困境:许多优秀的开源工具在 Windows 上并不好用。虽然 WSL 是一种解决方案,但同时运行两套不同逻辑系统,会提高内存开销,也引入额外复杂度。
macOS:打磨完美但不留分叉路径
- 哲学:"我们知道什么最适合你"
- 聚焦下的优秀:在某些特定任务上,比如编码,macOS 真的非常好用。当 Apple 决定要把某件事做好时,它能提供一个简单、高效、而且体验优秀的环境。开源软件在这里运行良好,底层 Unix 逻辑也让很多开发任务变得顺畅自然。
- 苹果式思路:和所有 Apple 产品一样,macOS 体现的是“把一件事做到最好”的哲学。设计决策周到、集成无缝、整体体验打磨得很精致。
- 灵活性问题:但限制也很明显——如果你觉得某件事也许有更适合自己的做法,或者你想尝试另一条路径,macOS 通常不会替你打开这扇门。它并不鼓励试验,也不鼓励偏离官方路径。
- 公司逻辑与用户自由:从 Apple 的角度看,这很合理。支持太多种做法会带来维护成本,也会削弱聚焦。但当你想尝试一条更适合自己的道路时,macOS 的回答往往是“不行”——你必须走它给你的路。
Linux(Arch):以时间为代价换取创造自由
- 哲学:"你可以用自己的方式把它做到最好"
- 创造的快乐:Linux 允许你按照自己的想法把一切调到非常理想。有时候这意味着需要花很多时间试不同软件,甚至自己写逻辑代码。但当一切终于按照你的想法运行起来——当它真的“顺着你的脑子工作”时,那种感觉更像是你创造了某种新东西,而不是只是在使用现成产品。这会带来很强的个人满足感。
- 统一逻辑控制:更重要的是,Linux 允许你用同一套逻辑来控制所有软件。比如你可以用 VIM 键位映射去控制整个系统中的窗口。这意味着你只需要记住一套操作逻辑,就能控制一切,效率和肌肉记忆都会变得惊人地统一。
- 时间与精力成本:任何事情都有代价。Linux 的代价就是时间和精力——你需要不断试错、实验、迭代,直到事情真正工作。但如果你愿意投入,这份回报就是一个真正反映你思维方式与工作流的计算环境。
- 心态:接受试验,接受学习曲线
- 学习:真正的掌握来自理解与创造,而不是单纯消费
视角的转变
这两个月让我明白,更换操作系统并不只是换一个工具,而是在改变你看待问题、解法,以及人与机器关系的方式。
从消费者到创造者: Arch Linux 迫使我不再只是使用现成方案,而是成为自己计算环境的创造者。每一次配置选择都不再是被动接受的默认值,而是一种主动决定。
从答案到问题: 其他操作系统通常直接给你答案,而 Arch Linux 教会我提出更好的问题。比起“怎么让它跑起来”,"为什么它会这样工作" 变得更重要。
从个人到社区: Arch 社区让我看到,最好的方案往往来自集体智慧。阅读别人的 dotfiles、从论坛讨论中学习、再把自己的经验反馈回去,这种过程创造了一种超越个体局限的共享知识感。
工作流提升 🎯
在所有应用中统一 VIM 键位
我在这段 Arch Linux 旅程中最具改变性的事情之一,就是在整个计算环境里统一使用 VIM 键位逻辑。这样一来,从窗口管理到编程再到网页浏览,都形成了统一的肌肉记忆——真正做到“用一套逻辑控制一切”。
第一层:窗口管理器 - 带 VIM 导航的 River
在最底层,我把 River(具体见我的Wayland 窗口管理器之旅)配置成在整个桌面环境中使用 VIM 风格导航:
- 使用
h/j/k/l在窗口和工作区之间移动 - 使用 Leader key 组合 来调整窗口(缩放、移动、关闭)
- 使用 基于标签的组织方式,映射到 VIM 的 buffer 概念
- 把 模态思维 直接应用到窗口管理本身
这意味着无论是整理终端、在多显示器之间移动应用,还是组织工作区,我的手指都会自然知道该怎么做。窗口管理器成了 VIM 空间逻辑的一部分。
第二层:编码环境 - VSCode 与 Neovim 集成
在开发工作中,我使用的是文档里提到的 VSCode + Neovim 配置:
- 完整的 Neovim 模态编辑,运行在 VSCode 的现代界面中
- 使用 Flash navigation 和
s键快速跳转代码 - 使用 Surround 操作高效处理文本
- 自定义快捷键,在保留 VIM 导航的同时利用 VSCode 的优势能力
这里真正美妙的地方在于:复杂的重构、跳转和编辑,和我的窗口管理使用的是同一套心智模型。无论是在文件之间移动,还是在窗口之间移动,逻辑始终一致。
第三层:浏览器 - Qutebrowser 与 VIM 扩展
最后,网页浏览补全了整个统一体验:
- 使用 Qutebrowser 作为主浏览器,原生支持 VIM 键位
- 通过 链接提示 实现 VIM 风格字符导航
- 使用类似 buffer 的命令进行 标签页管理
- 搜索与跳转逻辑遵循 VIM 的模态模式
- 对某些必须使用其他浏览器的网站,再用 VIM 浏览器扩展 兜底
这意味着我浏览网页时,也能像操作代码一样高效,不需要在不同的思维模型之间来回切换。
直播工具:从零开始做创作者工具 🎬
这段 Arch Linux 旅程的一个意外收获,是我开始深入研究直播相关技术。起初只是处理直播环境配置上的小问题,最后却做出了两个完整的 Rust 应用,真正解决了内容创作者的实际痛点。
项目一:带 TTS 的 Live Danmu - 让聊天更有互动感
第一个项目解决的是一个常见问题:怎样让直播聊天更有参与感。我做了 Live Danmu,这是一个基于 Rust 的系统,可以连接 Bilibili 直播流,并通过语音把弹幕“说出来”。
问题:传统直播方案会把聊天显示在屏幕上,但主播专注内容时往往会错过消息。观众发出的内容如果迟迟得不到回应,就容易产生距离感。
解决方案:一个实时 WebSocket 客户端,负责捕获弹幕消息,再通过 TTS 转成语音。这样主播在专注内容时也能听到每一条消息。
核心特性:
- 实时 Bilibili WebSocket 集成,即时捕获消息
- 智能 TTS 处理,支持多语言和特殊字符
- 插件架构,可扩展自定义回复、音乐触发和互动命令
- 跨平台 Rust 实现,在 Linux 上表现稳定
这个项目真正有价值的地方,不只是接上 API,而是构建了一个稳健、可扩展、能够适应直播聊天不可预测性的实时系统。
项目二:wshowkeys_rs - 让按键可见
第二个项目解决的是另一类创作者问题:如何在教程和演示中展示键盘快捷键。我开发了 wshowkeys_rs,这是一个原生 Wayland 的按键叠加层,可以实时显示键盘输入。
问题:教程作者和主播需要一种方式,在不打断工作流、也不把屏幕弄得很乱的前提下,把自己的键盘输入展示给观众。
解决方案:一个透明、悬浮的叠加层,通过 Linux 的 evdev 系统捕获按键,再以漂亮、自动淡出的按钮样式显示在任意应用之上。
技术亮点:
- 直接集成 evdev,可稳定捕获多键盘输入
- 原生 Wayland 叠加层,透明度和焦点管理都很自然
- 智能组合键处理(显示为 “Ctrl+L” 而不是分散的单个按键)
- 自动隐藏逻辑,在 3 秒无输入后淡出按键显示
- 零依赖运行,无需特殊权限或复杂配置
创作过程:从问题到解决方案
这两个项目都体现了 Linux 哲学里的那句话:"scratch your own itch"。与其接受限制,或者凑合使用不够好的现成工具,不如自己做一个真正需要的东西:
快速原型开发:Rust 出色的生态让我能很快从想法走到可运行原型。
系统级集成:Linux 的开放架构让我们可以直接接触底层系统(WebSocket API、evdev 设备),而不用和操作系统本身对抗。
性能优先:这两个工具都要求实时性——弹幕丢失或按键延迟都会直接毁掉体验。
社区价值:把这两个项目都开源出来,意味着其他创作者可以在它们基础上继续搭建,而不必从零开始重复劳动。
展望未来:继续前行 🚀
这段 Arch Linux 体验只是一个更大变化的开端,它改变了我理解技术与创造的方式。过去两个月里形成的技能、思维方式和工作流,依然还在继续演化。
无论你最终选择的是 Windows 的兼容性、macOS 的精致,还是 Linux 的自由,最重要的是带着清醒认识去做选择:明白自己获得了什么,也明白自己放弃了什么。并且记住:真正成熟的思维,不只是坚持自己的选择,也能理解和欣赏别人与自己不同的路径。
祝你思考愉快,学习愉快,创造愉快!🐧🍎🪟✨
这篇文章也标志着我对 2025 年 5 月到 7 月 Arch Linux 旅程的阶段性记录告一段落。冒险还会继续,新的章节展开时,我也会继续分享新的发现。