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 #

以下为官方提供的安装包,点击链接即可下载。

文件名 描述 大小 下载
i3-4.25.tar.xz i3 4.25 源代码压缩包 1.3 MB 夸克网盘

i3 如何使用? #

i3 完全围绕键盘设计,熟悉下面几个步骤即可开始日常使用:

  1. 首次启动:登录 i3 后,配置向导会询问使用哪个键作为 Mod 键(默认推荐 Mod1 即 Alt 键,或 Mod4 即 Super/Windows 键),选定后即可进入桌面。
  2. 打开终端:默认快捷键为 Mod + Enter,会启动系统默认终端模拟器,可在配置文件中修改。
  3. 切换与移动窗口:Mod + 方向键(或 j/k/l/;)在窗口之间移动焦点;Mod + Shift + 方向键 移动当前窗口的位置。
  4. 切换工作区:Mod + 数字键 切换到对应编号的工作区;Mod + Shift + 数字键 把当前窗口移动到指定工作区。
  5. 切换布局:Mod + e 使用默认分割布局,Mod + s 使用堆叠布局,Mod + w 使用标签式布局。
  6. 个性化配置:编辑 ~/.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(包管理器安装)

  1. Debian / Ubuntu:sudo apt update && sudo apt install i3
  2. Fedora:sudo dnf install i3
  3. Arch Linux:sudo pacman -S i3-wm
  4. openSUSE:sudo zypper install i3

Linux(源码编译安装)

  1. 下载并解压 i3-4.25.tar.xz:tar -xf i3-4.25.tar.xz && cd i3-4.25
  2. 使用 Meson 构建(4.25 及新版):
    mkdir build && cd build
    meson ..
    ninja
    sudo ninja install
    
  3. 若使用较旧的 Autotools 构建流程:
    autoreconf -fi && mkdir build && cd build
    ../configure
    make
    sudo make install
    
  4. 安装完成后,在登录管理器或 ~/.xinitrc 中选择 i3 作为会话即可。

BSD

  1. FreeBSD:sudo pkg install i3
  2. OpenBSD:doas pkg_add i3

注意事项

  • 编译前请确认已安装 xcb、xkbcommon、pcre 等依赖开发包,具体依赖请参考官网文档。
  • 若系统已提供发行版打包版本,优先使用包管理器安装,便于后续统一升级。
  • 从源码安装后,可执行 file $(which i3) 检查二进制是否未被 strip,便于日后提交有意义的 bug 报告。

i3 如何卸载? #

Linux(包管理器卸载)

  1. Debian / Ubuntu:sudo apt remove --purge i3,随后可执行 sudo apt autoremove 清理依赖。
  2. Fedora:sudo dnf remove i3
  3. Arch Linux:sudo pacman -Rns i3-wm
  4. openSUSE:sudo zypper remove i3

Linux(源码安装卸载)

  1. 进入当初的 build 目录,执行 sudo ninja uninstall(Meson)或 sudo make uninstall(Autotools)。
  2. 若构建目录已删除,则需要手动移除 /usr/local/bin/i3、/usr/local/bin/i3bar、/usr/local/share/man/man1/i3* 等文件。

BSD 卸载

  1. FreeBSD:sudo pkg delete i3
  2. OpenBSD:doas pkg_delete i3

残留文件清理

卸载软件包通常不会删除用户配置,建议手动检查并清理以下目录与文件:

  • ~/.config/i3/(当前主配置文件目录)
  • ~/.i3/(旧版配置目录)
  • ~/.config/i3status/(状态栏配置,如使用 i3status)

如果不再使用 i3,请同时从登录管理器或 ~/.xinitrc 中移除对应会话项,避免启动时报错。

相关标签
i3i3wm平铺式窗口管理器tiling window managerLinux 窗口管理器X11键盘驱动多显示器管理开源窗口管理器BSD 许可证