i3:Do What I Mean 的平铺式窗口管理器 #
i3 是什么? #
i3 是一款完全从零编写的平铺式(tiling)窗口管理器,主要运行于 GNU/Linux 与 BSD 操作系统,以 BSD 许可证开源发布,最新版本为 4.25.1。
与传统的浮动窗口管理器不同,i3 会自动把窗口平铺排布、互不重叠,用户通过键盘即可完成窗口分割、切换与重排,让屏幕空间得到充分利用。它采用树状结构组织窗口,支持多显示器热插拔与旋转,并提供类似 vim 的多种操作模式与 IPC 进程间通信接口。凭借高度可读的源码与完善的官方文档,i3 成为高级用户和开发者长期青睐的桌面效率工具。
i3 有哪些亮点特色? #
- 树状窗口布局,比列式更灵活:i3 使用树形结构来排列窗口,而非其他窗口管理器的列式方案,可以在任意方向自由分割与嵌套,实现复杂的多窗口排布。
- 多显示器原生支持:每个工作区被分配到一个虚拟屏幕,运行中接入或拔掉投影仪等新显示器时都能自动正确处理,同时支持旋转显示器。
- vim 式多模式操作:可像 vim 一样定义不同模式,例如在
resize模式下使用与默认模式完全不同的键位,减少快捷键冲突,提升键盘操作效率。 - 内置 IPC 接口:提供进程间通信接口,其他程序可以订阅窗口事件并下发命令,方便编写脚本自动化、集成状态栏与第三方工具。
- 基于 xcb 的现代实现:使用 libxcb 而非老旧的 Xlib,API 更干净、多数场景下更快;核心功能不依赖独立进程,系统高负载时依然保持快速响应。
- 代码可读、文档完善:项目首要目标就是"写可读、有文档的代码",源码中即可了解窗口管理器的完整工作流程,即使不熟悉 X11 内部机制的人也能上手修改。
- 轻量不臃肿:拒绝多余装饰,只保留简单的窗口边框;也不设置代码行数上限等不必要的限制,把精力集中在修 bug 和维持稳定性上。
- 绝不破坏既有配置:项目承诺永不破坏用户的配置文件或既有工作流,任何破坏性改动都必须伴随主版本号提升(v4 → v5)。

免费下载 i3 #
以下为官方提供的安装包,点击链接即可下载。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| i3-4.25.tar.xz | i3 4.25 源代码压缩包 | 1.3 MB | 夸克网盘 |
i3 如何使用? #
i3 完全围绕键盘设计,熟悉下面几个步骤即可开始日常使用:
- 首次启动:登录 i3 后,配置向导会询问使用哪个键作为 Mod 键(默认推荐 Mod1 即 Alt 键,或 Mod4 即 Super/Windows 键),选定后即可进入桌面。
- 打开终端:默认快捷键为
Mod + Enter,会启动系统默认终端模拟器,可在配置文件中修改。 - 切换与移动窗口:
Mod + 方向键(或 j/k/l/;)在窗口之间移动焦点;Mod + Shift + 方向键移动当前窗口的位置。 - 切换工作区:
Mod + 数字键切换到对应编号的工作区;Mod + Shift + 数字键把当前窗口移动到指定工作区。 - 切换布局:
Mod + e使用默认分割布局,Mod + s使用堆叠布局,Mod + w使用标签式布局。 - 个性化配置:编辑
~/.config/i3/config文件,即可自定义快捷键、状态栏(i3bar)、工作区命名与启动程序。
如果需要迁移旧版配置,可以使用官方的 i3-config-wizard 与 i3-migrate-config-to-v4 等辅助工具。
i3 的常见问题? #
i3 与 GNOME、KDE 等桌面环境有何区别?
i3 只负责窗口管理这一件事,不内置文件管理器、面板、设置中心等完整桌面环境组件。用户通常需要自行搭配 i3bar 状态栏以及其他工具,才能组成完整的工作桌面,这也是它轻量高效的原因。
i3 支持多显示器和热插拔吗?
支持。i3 会把每个工作区分配给一个虚拟屏幕,运行过程中接入或拔掉投影仪、外接显示器都能被正确处理,并且支持旋转显示器。
升级 i3 会不会破坏我现有的配置文件?
不会。项目明确承诺永不破坏配置文件或既有工作流,破坏性变更必须伴随主版本号提升(v4 → v5),日常小版本升级可以放心进行。
i3 崩溃了该如何排查?
官网提供了专门的调试文档:在 ~/.xsession 中把 stdout/stderr 重定向到日志文件,并加上 -V -d all 参数开启详细日志;再用 ulimit -c unlimited 启用 core dump,配合 gdb 生成 backtrace 后提交 bug 报告。官网建议先尝试最新开发版,许多问题在新版中已经修复。
有开发版可以体验新功能吗?
有。i3 提供开发版供用户测试,但它使用与发布版不同的调试文档和流程。请注意,项目目前的重点是修复 bug 与维护稳定性,只有收益明显大于额外复杂度的新功能才会被考虑纳入。
i3 支持哪些平台?是否支持 Windows 或 macOS?
i3 的目标平台是 GNU/Linux 与 BSD 操作系统,基于 X11 构建,不适用于 Windows 和 macOS 原生环境。
i3 如何安装? #
i3 在各主流 Linux 发行版与 BSD 系统中均可通过包管理器安装,也可以从源码编译。
Linux(包管理器安装)
- Debian / Ubuntu:
sudo apt update && sudo apt install i3 - Fedora:
sudo dnf install i3 - Arch Linux:
sudo pacman -S i3-wm - openSUSE:
sudo zypper install i3
Linux(源码编译安装)
- 下载并解压
i3-4.25.tar.xz:tar -xf i3-4.25.tar.xz && cd i3-4.25 - 使用 Meson 构建(4.25 及新版):
mkdir build && cd build meson .. ninja sudo ninja install - 若使用较旧的 Autotools 构建流程:
autoreconf -fi && mkdir build && cd build ../configure make sudo make install - 安装完成后,在登录管理器或
~/.xinitrc中选择 i3 作为会话即可。
BSD
- FreeBSD:
sudo pkg install i3 - OpenBSD:
doas pkg_add i3
注意事项
- 编译前请确认已安装 xcb、xkbcommon、pcre 等依赖开发包,具体依赖请参考官网文档。
- 若系统已提供发行版打包版本,优先使用包管理器安装,便于后续统一升级。
- 从源码安装后,可执行
file $(which i3)检查二进制是否未被 strip,便于日后提交有意义的 bug 报告。
i3 如何卸载? #
Linux(包管理器卸载)
- Debian / Ubuntu:
sudo apt remove --purge i3,随后可执行sudo apt autoremove清理依赖。 - Fedora:
sudo dnf remove i3 - Arch Linux:
sudo pacman -Rns i3-wm - openSUSE:
sudo zypper remove i3
Linux(源码安装卸载)
- 进入当初的 build 目录,执行
sudo ninja uninstall(Meson)或sudo make uninstall(Autotools)。 - 若构建目录已删除,则需要手动移除
/usr/local/bin/i3、/usr/local/bin/i3bar、/usr/local/share/man/man1/i3*等文件。
BSD 卸载
- FreeBSD:
sudo pkg delete i3 - OpenBSD:
doas pkg_delete i3
残留文件清理
卸载软件包通常不会删除用户配置,建议手动检查并清理以下目录与文件:
~/.config/i3/(当前主配置文件目录)~/.i3/(旧版配置目录)~/.config/i3status/(状态栏配置,如使用 i3status)
如果不再使用 i3,请同时从登录管理器或 ~/.xinitrc 中移除对应会话项,避免启动时报错。
