寄生在 top 命令中的 Fibonacci 计算

A parasitic Fibonacci computation inside /usr/bin/top

寄生在 top 命令中的 Fibonacci 计算

ncurses 的 terminfo 参数扩展功能竟能模拟图灵完备的 Minsky 机器。作者 Nicolas Seriot 展示了如何利用 terminfo 的算术、条件判断和持久变量,构建一个计算 Fibonacci 数列的程序。更令人称奇的是,这个程序可以寄生在 /usr/bin/top 中,利用其每秒刷新时钟的机制作为“时钟”来驱动计算。每次 top 更新界面时,Fibonacci 数列就会推进一步,结果直接显示在窗口标题中。这并非安全漏洞,而是一次对终端元数据计算能力的巧妙挖掘,揭示了 terminfo 不仅是配置信息,更是一个小型的状态编程语言。

在终端中运行一个寄生的 Fibonacci 程序,其时钟由 /usr/bin/top 提供。
  1. muvlon

    terminfo 本来就不是什么好主意,但在当今时代,它简直荒谬透顶。它最初的设计目的是存储实际制造的物理终端的数据,所以当时用固定数据库(而不是以某种方式交互式地查询终端能力)还能说得过去。

    但现在,终端全是软件实现的。直接问它们能力多容易啊。可我们却仍坚持分发固定的 terminfo 或 termcaps 数据库。结果就是,每个新终端模拟器都不在库里,为了给用户一个还能忍受的体验,它们全都撒谎说自己就是 xterm-256color。这彻底消除了把它们真正加入 terminfo/termcaps 的动力。

    于是我们有了这个地狱般复杂、近乎图灵完备的兼容系统,却再也做不出任何有用的工作。

  2. hbcdbff

    我还记得第一次看到那篇关于 terminfo 图灵完备性的文章时,觉得简直不可思议,那是 2019 年发表的。

    在 LLM 时代,这类文章对我来说已经毫无吸引力了。

    这篇文章大部分,如果不是全部的话,都是 LLM 生成的。它做得比大多数文章稍微不那么露骨,但破绽还是有的,pangram 也这么认为。

    但就算这篇文章是人工写的,我现在也不会觉得它有多了不起。完全看不出背后有人类参与发现。

  3. readthenotes1

    它现在能玩 Doom 了吗?

同日更多故事

2026-10-04