跳到主要内容
ansicode
终端

xterm —— ANSI 转义码支持情况

xterm 是 X Window 系统中由 Thomas E. Dickey 自 1996 年起维护的参考实现 VT 兼容终端模拟器。开源世界几乎所有的 "ANSI 转义" 文档都对照 xterm-ctlseqs 而写——这一规范实际上是 ECMA-48、原始的 VT100/220/420 手册以及几十年来 xterm 率先引入的扩展的并集。

如果一条序列在 xterm 中可用并已收录于 xterm-ctlseqs,那它就是可移植的;如果它在 xterm-ctlseqs 中但默认未启用,其他 VT 兼容模拟器可自行决定是否实现。终端特性列表中的 "xterm 兼容" 永远意味着 "xterm-ctlseqs 子集"。

最近更新

特性支持情况

该终端在站点统一矩阵跟踪的 15 个特性上的表现。点击任意特性名可查看其在全部终端上的完整支持情况。

  • 8 种基础色(30–37 / 40–47)SGR 30–37 前景,40–47 背景。
    支持
  • 高亮(aixterm)色(90–97 / 100–107)aixterm SGR 扩展。
    支持
  • 256 色调色板(38;5;n / 48;5;n)xterm 256 色扩展。
    支持
  • 24 位真彩色(38;2;r;g;b)1670 万直接 RGB。设置 $COLORTERM=truecolor。
    支持
  • 斜体(SGR 3)斜体文本属性。
    支持
  • 扩展下划线(4:1–4:5)波浪/点/虚下划线样式。
    部分
  • 删除线(SGR 9)文本中央的水平线。
    支持
  • OSC 8 超链接内联可点击 URI。
    部分
  • 备用屏幕(?1049h)全屏应用缓冲区。
    支持
  • 鼠标跟踪(SGR ?1006)鼠标点击/拖拽事件。
    支持
  • 括号粘贴(?2004)粘贴文本被 ESC[200~/ESC[201~ 包裹。
    支持
  • 焦点事件(?1004)获得焦点时 ESC[I,失去时 ESC[O。
    支持
  • Sixel 图形DEC sixel 内联位图。
    支持
  • Kitty 图形协议PNG/RGB 内联图像和动画。
    不支持
  • 同步输出(?2026)原子化帧更新,避免撕裂。
    不支持

在此终端可用的序列

该终端能完整处理的转义序列对应的权威参考页。每条均链接到完整页面,含字节形式、规范出处与多语言示例。

细节与版本说明

在生产中使用某序列前应知晓的、该终端特有的注意事项。

OSC 8 超链接需要开启 allowHyperlinks 资源
于 xterm 359(2020 年 12 月)加入但默认禁用。需在 .Xresources 中写入 `XTerm*allowHyperlinks: true`,或命令行 `xterm -xrm 'XTerm*allowHyperlinks: true'`。未启用时 xterm 会把 OSC 字节按字面文本打印出来。
无 $COLORTERM 时的真彩色
xterm 始终解析 24 位 SGR 38;2;r;g;b 序列——它不像许多库(chalk、colorama)那样先看环境变量 $COLORTERM=truecolor 再决定。依赖该环境变量启发式的程序在 xterm 中会悄悄降级到 256 色,尽管 xterm 自身完全支持 24 位字节。
Sixel 图形是一个编译期选项
xterm 只有在以 `./configure --enable-sixel-graphics` 重新编译后才会发送和接受 DEC sixel 序列。Debian / Ubuntu / Fedora 的预编译 xterm 自 2021 年起已默认启用 sixel;但 Homebrew 提供的 macOS 二进制包并未启用——请通过 DA1 响应(`CSI c` 回应中包含 `4` 表示支持 sixel)检测,而不是匹配终端名称。
扩展下划线需要显式开启
扩展下划线 SGR 4:3(波浪)和 4:4(点)自 xterm v341(2018 年)起已支持,但只有当 terminfo 条目为 `xterm-direct` 或更新时才会渲染。请设置 $TERM=xterm-direct(Debian / Fedora 都内置该条目)——`xterm-256color` 不声明 Smulx 扩展能力。

参考资料

其他已有专页的终端