basecamp/omarchy:26.8k stars 的 "主观美"Linux 发行版,DHH 把 Arch + Hyprland + AI Coding Agent 揉成了一台开箱即用的开发者电脑
上周我把一台闲置的旧 MacBook Air 翻出来擦灰。机器是 2017 款的,电池循环 800 多次,macOS Sonoma 已经卡得只能跑 Safari;可我又不想把它扔给爸妈当上网本,用两天他们就会怀念 iPad 的便利。
我本来打算给它刷个 Ubuntu GNOME 了事。正巧这两天 GitHub Trending 周榜上挂着一个我从来没见过的项目,README 第一句话就写着:
Omarchy is a beautiful, modern & opinionated Linux distribution by DHH.
点进去一看,作者是 DHH(David Heinemeier Hansson),Ruby on Rails 的创始人、Basecamp / HEY 的合伙人。这些年他在 world.hey.com 上写的 “I have left macOS for Linux” 系列长文几乎把整个 Ruby 圈和 Web 圈都点燃了。26.8k stars、weekly +2.2k stars、2.7k forks。这是一个有产品思想的工程师在亲手做一套他每天用的桌面系统,不是又一个 distro 爱好者写的小玩具。
我花了两个晚上把它从头到尾啃了一遍。我看到的,是一份把” 主观美” 做成产品定义的 Linux 发行版,它的目标是让愿意信它的开发者开箱就能写代码,同时把 AI Coding Agent 当成一等公民。
下面是我的笔记。
一、DHH 为什么要重新做一台 Linux 电脑
先把背景讲清楚。
过去 15 年,Linux 桌面对普通开发者基本是三种选择:
- Ubuntu / Fedora 的 GNOME。开箱即用,但桌面体验越来越像 macOS 的劣化版,扩展性差。
- Elementary OS / Pop!_OS。想做出差异化,但都死在” 既要又要还要” 的中庸里。
- 自己折腾 Arch + i3 / Sway。自由度拉满,但每次换新机器都要重配一遍,dotfiles 一旦丢了就是回到石器时代。
DHH 自己公开说过离开 macOS 的几个具体原因:Apple Silicon 把 boot camp 砍了让他没法本地跑 Linux;Touch Bar 是倒退;开发者对 Apple 的控制权越来越弱;macOS 这两年的 UI 越来越封闭。这些抱怨在 Ruby 圈流行过一阵,但大多数 Linux 用户解决的方式是” 装个 Ubuntu 凑合”。
DHH 走的是另一条路:既然没有满意的桌面,就自己做一个。
他没有从零造轮子。Omarchy 选了三件已经成熟、社区巨大的现成组件搭骨架:
| 层次 | 组件 | 为什么是它 |
|---|---|---|
| 底层 | Arch Linux | 滚动更新,包管理 (pacman) 干净,AUR 仓库量大 |
| 窗口管理 | Hyprland | Wayland 协议,动态平铺,有动画,社区最活跃的 Wayland compositor |
| 桌面外壳 | Quickshell | 用 QML 写 Wayland 状态栏和菜单的” 乐高积木”,声明式,动态主题,热重载 |
这三层组合在 2024 年之前都不是” 普通人能装出来” 的,光 Hyprland 的配置就够写一本手册,更别提还要把它跟 Quickshell 接起来、在 Wayland 下让 Electron 应用不闪屏、统一所有应用的主题。
Omarchy 的价值就在这一步:它把这三层、50 个常用应用、一整套键位、22 套主题、一个统一的 omarchy CLI,用一份 config 加一键脚本全部打包好。然后把整套决策以 DHH 自己的偏好凝固成” 主观美”。他不喜欢的,DHH 直接砍掉,比如 Snap、Flatpak 默认关闭;他喜欢的,被设为默认,比如 Neovim、Obsidian、OBS Studio、Kdenlive。
最后一句话来自 README:
This isn’t just a grab bag of preinstalled packages. It’s a complete system designed with both aesthetics and productivity in mind.
翻译过来就是,它是一台完整设计好的电脑,不是预装应用的合集。
二、核心体验:把 macOS 的肌肉记忆翻译成键盘
我读完 manual/03-coming-from-mac-or-windows.md 之后,最直接的感受是,Omarchy 干的事是把从 macOS / Windows 带过来的肌肉记忆,翻译成键盘。
这种” 翻译” 体现在三层。
1. Super 键是中心
你在 macOS 用了十年的 Cmd + Space(Spotlight)、Windows 上的 Win 键(开始菜单),在 Omarchy 里都叫 Super。在 PC 键盘上 Super 就是 Win 键;在 Mac 键盘上 Linux 把 Command 当 Super,所以你的拇指不用重新定位。
Super + Space 打开的是 Omarchy Menu,一个全局 launcher,能启动应用、改设置、装软件、截屏、发通知。它能干的事比 Raycast 多,因为它的能力直接绑在 omarchy CLI 上(后面展开)。
2. 窗口不再” 叠”
Omarchy 默认用 Hyprland 的平铺(tiling)布局。开一个窗口就占满屏幕,开第二个就自动一分为二,开第三个就变三列。不存在窗口堆叠、不用拖、不用 snap。
我在 macOS 上的痛苦之一就是同时开 4 个窗口、写代码时候总要去把终端” 挖出来”。在 Omarchy 里这个问题没了,每个窗口都按平铺规则摆在屏幕上,按 Super + Arrow 在它们之间跳。
需要浮动窗口的时候,Super + T 切换。
多 workspace 也走简化路线,Super + 1/2/3/4 跳过去、Super + Shift + 1/2/3/4 把当前窗口丢过去。没有动画延迟,是瞬切。和 macOS Mission Control 的” 飘过去” 比起来,这是另一个时代。
3. 复制粘贴在终端和 GUI 下统一
macOS 的 Cmd + C / V、Windows 的 Ctrl + C / V,但在 Windows 的终端里 Ctrl + C 会杀掉进程。这个 bug 从 1980s 一直活到今天。
Omarchy 的解法是统一用 Super + C / X / V,在终端里也用同一套。Terminal 不再是 GUI 的” 另一个世界”。
剪贴板历史则在 Super + Ctrl + V,支持图片,对应 macOS 上的 Raycast Clipboard 和 Windows 上的 Win + V。
把这三层叠加起来,一个 Mac 用户打开 Omarchy 的第一感觉是” 换了一个长得不一样的 macOS”。这种” 翻译” 工作是大量体力活,你看 manual/ 下面有 52 个章节,每一个可能踩坑的地方都写了。
三、omarchy CLI:把整套能力脚本化
Omarchy 的另一个杀手锏是 omarchy CLI。菜单能干的事,CLI 几乎全能干。它是 Omarchy 的后台。
omarchy 不带任何参数直接跑,输出是这样的:
1 | Usage: |
注意几个 group:
agent,AI Coding Agent 的用量统计bar,顶部栏的布局配置capture,截屏、录屏、OCR、QR 码解码channel,Omarchy 的 release channel 切换theme,主题管理updates,整个系统的升级
每个 group 下面都有具体子命令。比如 omarchy capture screenrecording --with-webcam --with-microphone-audio 就能直接开始录屏带摄像头和麦克风。
这套 CLI 设计对开发者友好。omarchy commands --json 输出 JSON 让你写 shell 脚本;每个子命令都支持 --help;菜单本身也可以脚本化,比如 omarchy menu summon style.theme 直接跳到主题选择器。
这条命令尤其体现 Omarchy 的产品哲学:
This is particularly helpful when you’re having an AI agent work with you on customization or configuration.
CLI 是给 AI Coding Agent 用的接口。当你想让 Claude Code 帮你调一下 Hyprland 配置、改一下 bar 的位置、加一个新的快捷键,直接告诉 agent “omarchy bar height 24” 这种自然语言映射就行,背后是结构化 CLI。
这种” 产品 + AI agent 协同” 的思路,比” 给 agent 装 MCP” 或” 让 agent 自己 shell 执行” 的方案都更优雅。CLI 本身就是 LLM 最容易理解的接口。
四、22 套主题,但每套主题管的不只是桌面颜色
打开 manual/06-themes.md,你会看到一个列表:
1 | tokyo-night / catppuccin / lumon / ethereal / everforest / |
22 套主题,每一套都带预览图,看上去都像正经的” 主题作品集”。
关键不是” 多”,很多 Linux 主题包都提供几百套。关键在” 全”:一套 Omarchy 主题切换,会同时改:
- 桌面壁纸,每套主题带 3-5 张可切
- Hyprland 配色
- 终端(Kitty / Alacritty)配色
- Neovim 配色
- btop(系统监视器)配色
- Chromium 主题
- Omarchy 自己的 shell(top bar、菜单、通知、OSD、锁屏)
- 解锁界面(boot 时输入加密密码的界面)
第 8 项尤其细节。Omarchy 把开机输入磁盘加密密码的界面也按主题重画了。你在开机那一刻看到的画面,和你平时在 IDE 里写的代码,是同一套配色。
我用主题的时候操作很简单:
1 | omarchy theme list # 看所有主题 |
主题切换是热重载的,不用 logout、不会闪屏、Chromium 的配色也会跟着变。这一点比 macOS 的” 系统强调色” 更彻底。
五、AI Coding Agent 是一等公民
Omarchy 最让我意外的章节是 manual/17-ai.md。它把 AI Coding Agent 当作操作系统级公民。这件事我还没在别的发行版看到过。
1. 预装 8 个 Agent,按需下载
Omarchy 默认在 ~/.local/bin/ 下挂了一组 lazy-loaded launcher:
| 命令 | Agent |
|---|---|
claude |
Claude Code |
codex |
OpenAI Codex |
opencode |
OpenCode |
gemini |
Google Gemini CLI |
copilot |
GitHub Copilot CLI |
crush |
Charmbracelet Crush |
grok |
xAI Grok CLI |
pi |
Mario Zechner’s Pi-mono |
omp |
Oh My Pi |
这些 launcher 都是 mise 管理的 stub。第一次跑的时候才下载对应 CLI,平时不占空间。
要装额外的,Omarchy 给你一行:omarchy-mise-install <package> [command-name]。
跑 omarchy update(或别名 mup)的时候,这些 stub 会跟着系统包一起升。你不会因为某个 Agent 升级而手动改 path。
2. 默认 Agent + 全局快捷键
第一次启动 Omarchy,它会通过系统通知问你” 选一个默认 Agent”。选完之后:
Super + Shift + Ctrl + A:在专属终端窗口里启动默认 Agent(如果没选就先弹选择器)a:在当前终端里 inline 跑默认 Agentc/cx/cy:分别启动 OpenCode / Claude Code / Codex
默认 Agent 会带着” 不要停下来问我” 的 auto-approve 模式跑。DHH 在 manual 里直说:”be ready for them to actually do things!”
agents refuse to remember trust for your home directory, launches from
$HOMEstart in~/Workinstead.
Agent 启动时如果当前路径是 $HOME,会自动跳到 ~/Work,避免 Agent 在用户目录里乱跑。
主题切换也会同步到 Agent。Claude Code、Pi、OpenCode 三家会自动跟着 Omarchy 当前主题变色。你看终端里 Claude Code 跑的 TUI 跟系统配色是同一套,这件事比听上去更解压。
3. 顶部栏的 Agents Panel
Omarchy 顶部栏会在系统第一次检测到 AI Coding 用量时长出一个 agents 图标。左键点开看到的面板:
- 你的订阅 plan
- 5 小时 session 限额已用百分比,周限额,预付费余额
- 按日、按模型的 token 用量分布
- 支持 Claude Code、Codex、Fireworks 出厂自带
数据每 15 分钟自动从 omarchy agent usage-update 重新生成。如果你有多台机器,还能通过一个同步文件夹把用量合并到一台的总面板上。
这套设计对订阅了 Claude Code Max 5 / Codex Pro / Cursor Pro 的用户很有用。你再也不用登三个网站去看自己” 还剩多少”。
4. Crash 自动诊断
最后一件让我服气的事:Omarchy 会监听 systemd-coredump。任何进程 segfault,它会推一条”Process crashed” 通知。点击之后默认 Agent 会被唤起,配上 diagnose-crash skill,自动从 coredump 里取信息、判断这个崩溃值不值得往上游报。
你也能手动跑:
1 | omarchy agent crash <pid> # 来自 coredumpctl list 的 PID |
开关在 Trigger > Toggle > Crash Capture(或 omarchy toggle crash-capture)。
这件事的工程含量很高。把 OS 级的崩溃处理和 LLM 的诊断能力串成一个 zero-touch 流程,Linux 桌面社区里我还没见过第二家做。
六、怎么装 / 快速上手
如果你想自己试一下,最快路径是这样的。
1. 硬件准备
- 一台 PC 或 Intel Mac(Apple Silicon 不在官方支持列表,需要走 Mac 支持章节)
- U 盘一个,用来烧 ISO
- 先关掉 BIOS 里的 Secure Boot 和 TPM。Omarchy 的 README 里特别提醒:这两个是 Microsoft 的安全机制,会挡掉大多数 Linux 发行版,包括 Omarchy。
- 蓝牙键盘没法用来输磁盘加密密码,必须用有线或 2.4G 键盘(README 推荐 Lofree Flow84)
2. 烧 ISO + 启动
1 | 下载 Omarchy ISO(omarchy.org) |
默认是全盘安装加全盘加密。如果你不想加密,在磁盘格式化确认那一步按 Ctrl + C。
如果你想双启动 macOS / Windows,先关 BitLocker,再选”free-space install”,它会把 Omarchy 装到空闲分区。
3. 第一次开机
进去之后按 Super + Space,Omarchy 菜单就出来了。从菜单里挑一个主题(推荐 Tokyo Night 或 Catppuccin),然后:
Super + Return启动终端Super + Shift + Return启动浏览器Super + K看所有热键omarchy default agent claude把默认 Agent 设成 Claude Code- 跟着一次性通知走完默认 Agent 登录
4. 第一次升级
1 | omarchy update # 更新 Omarchy 本身 + 全系统包 + AI Agent stub |
Omarchy 的 update 命令会在升级之前先做一次系统快照,出问题可以秒回滚。这一点是从 macOS Time Machine 学过来的工程实践。
七、局限性和适用人群
写到这里我也得说清楚 Omarchy 不适合谁。
它不适合:
- Linux 新手。Omarchy 把” 主观美” 做到极致,意味着很多” 我能不能改成 GNOME 那样” 的请求不会有答复。它欢迎你提 PR,不欢迎你争论审美。
- 企业 IT 管控。Omarchy 默认关掉 Secure Boot、关掉 Snap/Flatpak、不走 Microsoft 的安全机制。对企业内网、需要 Active Directory / Intune / MDM 的场景,它不是合适底座。
- NVIDIA 显卡用户。Wayland 下的 NVIDIA 闭源驱动一直有兼容性问题,Omarchy 不例外。我建议 NVIDIA 用户先去 Discord
#omarchy-help看看自己显卡型号有没有坑。
它适合:
- 个人开发者。你想要一台打开就能写代码的 Linux 桌面,不想花两周末配 i3 / Sway / Hyprland。
- 从 macOS 跑过来的用户。
manual/03那一章基本就是为你写的。 - 重度 AI Coding Agent 用户。Claude Code / Codex / Pi 一天跑几十次的人,那个顶部栏的 Agents Panel 会让你回不去。
- 对审美有要求的人。22 套主题做到了” 美”,不只是” 够用”。
它的局限性:
- 配置高度集中于 DHH 个人审美。你不会想要去把 Super 键改回 Ctrl,也没必要改。
- 更新节奏激进。Omarchy 走 Arch 滚动更新加 DHH 一周推好几次 commit。如果你追求” 装一次用五年”,它会让你不舒服。
- AI Agent skill 是实验性的。Omarchy 自带的 omarchy skill 让 agent 帮你改 Hyprland / 主题,最好先开 plan mode,因为不同 model 用它的效果差异大。我自己被 agent 改坏过一次主题,最后用
omarchy reinstall configs救回来。
写在最后
Omarchy 不是” 又一个 Linux 发行版”。
它是 DHH 把自己过去两年从 macOS 跑回 Linux 的工程经验,连同审美偏好、键盘哲学、对 AI Coding Agent 的拥抱,打包成的一份” 打开就能用” 的开发者电脑。weekly +2.2k stars 是开发者社区用脚投票,告诉 DHH “我们也要一台这样的电脑”。
26.8k stars、weekly +2.2k、quattro 分支、Pushing PGP 签名 commit、DHH 本人每天在写。这是 DHH 正在产品化的操作系统,不是 demo。
如果你对 Linux 桌面犹豫了三年,或者你已经被 macOS Sonoma 逼到崩溃,或者你只是个每天开 30 次 Claude Code 的人,去 omarchy.org 下个 ISO,烧到 U 盘,给自己两小时。
你会发现,一台让你每天写代码的电脑,长得并不像 Mac。
- GitHub:https://github.com/basecamp/omarchy
- 官网:https://omarchy.org
- 社区 Discord:https://omarchy.org/discord
- 手册镜像:https://learn.omacom.io/2/the-omarchy-manual
- 额外主题:https://omarchy.org/themes/
- 一键安装:下载 ISO → balenaEtcher → U 盘启动 → 跟着 5 个问题走完
- 快速命令:
omarchy update、omarchy theme set tokyo-night、omarchy default agent claude