用 bootvine 让 systemd 启动过程可视化

A live tree of systemd jobs on the boot console

用 bootvine 让 systemd 启动过程可视化

你是否厌倦了 Linux 启动时那些飞快滚过、根本来不及阅读的日志墙?bootvine 项目将 systemd 的启动过程转化为一棵动态生长的树,直观展示各个 unit 的依赖关系与状态。它用 Rust 编写,在独立的虚拟终端上运行,不仅替代了传统的滚动日志,还在树形结构的空隙中展示最慢任务的耗时时间线。你可以实时看到启动卡在哪一步,甚至直接处理 LUKS 解锁密码提示,并在服务失败时立即查看其最后几行 journal 日志。作者 Willem Vanhulle 正是出于对传统启动界面的不满,才开发了这款工具,让系统启动过程变得透明且易于调试。

我开发 bootvine 的初衷,是对大多数 Linux 发行版启动屏幕的沮丧:那是一堵飞速滚过的日志墙,让人完全无法理解系统到底在发生什么。
  1. nubinetwork

    这看起来很棒,我喜欢……但如果我没看错截图的话,从 initrd 到完全加载花了 12 秒。也许在那种情况下这很有意义,但我的笔记本启动太快了,那 12 秒感觉就像 2 秒。渲染这个屏幕的时间可能比它直接往 VT 喷常规文本还要长。

    (说实话,它在 UEFI 启动前花的时间比实际启动系统还要多。)

  2. kodoman

    我通常不喜欢 TUI,只想把输出放到 emacs 文本缓冲区里,但这个界面真漂亮,一眼就能让你了解关于 systemd 单元的所有必要信息。干得漂亮。

  3. origini

    喜欢 :)

    我不明白的是,为什么开机还是要花好几秒。电源一开,硬件就通电了。

    你可以并行初始化大部分硬件,把操作系统读入内存的速度也很快。

  4. tkel

    `systemctl status` 已经给你展示了一个树状结构,只是不是实时视图罢了。

  5. baq

    太爱了!30 年来的第一次改进。

    不过也没理由不用正经的图形来渲染这棵树,TUI 和 GUI 一样都是 UI,而动态有向无环图(living dags)特别适合做动画。

同日更多故事

2026-11-12