如何获取和开始使用 herbstluftwm?
herbstluftwm 是 X 窗口系统下的手动平铺窗口管理器,获取方式有三种:用系统包管理器安装、下载 tarball,或从 GitHub 克隆 git 仓库。装好之后,新手最直接的入门路径是官方教程,配合 herbstluftwm 和 herbstclient 两个手册页理解配置方式。
三种获取方式
| 方式 | 适合谁 | 说明 |
|---|---|---|
| 包管理器 | 大多数用户 | 由发行版维护,升级和依赖处理最省事 |
| tarball | 想用特定版本、不想跟发行版节奏的用户 | 从官网下载页获取源码包 |
| git 仓库 | 想跟进最新改动或参与开发的用户 | git clone https://github.com/herbstluftwm/herbstluftwm |
包管理器安装是首选,因为 herbstluftwm 依赖 X 相关库,手动编译需要自行解决依赖。只有在发行版仓库版本过旧、或你需要某个尚未打包的改动时,才值得走 tarball 或 git 路线。
装完之后先做什么
herbstluftwm 的配置不是"改配置文件再重启"的模式,而是整个配置在运行时通过 herbstclient 工具完成。配置文件本身只是一个启动时执行的脚本。这意味着所有配置项、窗口规则、虚拟桌面、快捷键绑定都可以在不重启窗口管理器的情况下实时更新。
对新手来说,建议按这个顺序推进:
- 先读官方教程(tutorial),它是为完全没接触过 herbstluftwm 的人写的起点。
- 再查
doc/目录下的两个手册页:herbstluftwm和herbstclient,这两个手册页也可以在线查看。 - 对照手册页理解你的配置文件脚本里每一行在做什么,而不是直接抄一份别人的配置。
理解它的两个核心概念
tag(虚拟桌面):每个 tag 由平铺层和浮动层两部分组成。平铺层里的窗口自动填满屏幕空间,浮动窗口可以自由摆放在平铺窗口之上。两层里的窗口都能只用键盘完成移动、缩放和聚焦。
monitor(显示器):屏幕空间可以被自由划分成若干"monitor",这些虚拟显示器不一定对应真实的硬件多屏配置。比如一块大分辨率显示器,可以拆成两个或更多虚拟显示器,从而同时看到两个虚拟桌面。所有 monitor 共享同一个 tag 池,并且可以用一次按键交换两个 monitor 的内容。
平铺算法的基础是把 frame 拆成 subframe,subframe 可以继续拆分,也可以填入窗口——这是理解布局行为的关键。
遇到问题去哪里问
- IRC:
#herbstluftwmonirc.libera.chat,可以提问,也可以只是和其他用户、开发者交流。 - Reddit:
r/herbstluftwm社区。 - GitHub issue tracker:一般性问题也可以在这里提。
- 报 bug:在 GitHub 开 issue,或联系邮件列表
[email protected]。订阅方式是发送主题为subscribe的邮件到[email protected],也可以通过 Mailman 网页界面订阅。
官网还提供截图页,可以在动手前先看看实际使用效果是否符合预期。