终端
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 扩展能力。