2026 年用 1978 年终端 VT - 100,体验如何?虽问题多但感受超棒!
什么是 VT - 100VT - 100 是一种由屏幕和键盘组成的“终端”需连接计算机使用类似现在电脑上的 Terminal、Console 或 Command Prompt 应用程序但它本身不是计算机。其协议ANSI 转义序列被所有现代终端采用。VT - 100 配备阴极射线管CRT显示器和键盘通过电源附近拨动开关开启开机有启动提示音CRT 会发出高频噪音。它内置英特尔处理器有 8080 芯片有 3 KB 内存比登月所需内存阿波罗 11 号为 4 KB还少。有一台 VT - 100 配的是 VT120 键盘体验糟糕按键软需用力按压识别布局也不适合现代习惯。终端是如何工作的从终端角度有字节流输入和输出 VT - 100。计算机发送字节会显示在屏幕上键盘输入会有字节输出。像 Vim 这样的交互式应用程序靠“ANSI 转义序列”工作如 ^[D 可左移光标类似序列能设置颜色、斜体、加粗等视觉效果程序员借此开发交互式应用程序。从计算机端看情况复杂。在 Linux 和 macOS 系统中/dev 目录下有 tty电传打字机和 pty伪终端文件。pty 有主机端和客户端主机端由终端控制客户端是 tty这是虚拟化终端工作原理。因历史原因内核的 tty 子系统复杂有 raw 模式和 cooked 模式。在 cooked 模式下内核处理“行规则”内容比预期多如回显字符、生成 SIGTERM 信号、流控制、行编辑等。若想完全控制终端需从用户空间将其设为非 cooked 模式raw 模式让应用程序开发者不受内核干扰决定按键操作。raw 模式和 cooked 模式是内核 TTY 子系统特定配置标志简写还有未设置的选项如用于流控制的 IXON2026 年已没人需要流控制。如何使用 VT - 100VT - 100 使用 RS - 232 标准可买电缆连接会显示在 /dev/ttyUSB0 下。连接时买错电缆只能用跳线连接查看接线图连接 TX、RX 和地线用 echo foo /dev/ttyUSB0 命令发送字节未成功用示波器发现是 RX 和 TX 接反。问题 1流控制可通过 echo 命令向 tty 设备发送字节在 VT - 100 上查看也能用 cat 命令从设备读取字节在 Mac 上查看但将 shell 指向该 tty 设备时程序崩溃丢失一半字符。原因是 VT - 100 有内置流控制功能处理不过来时希望主机停止发送字节macOS 可能从未支持或移除该功能用 stty 命令强制启用未成功运行 Linux 虚拟机并设置相同选项后问题解决此时 bash、vim 等简单应用程序可正常运行。问题 2全屏重绘很痛苦VT - 100 速度慢波特率为 9600包含大量 ANSI 转义序列的文本很快超出传输能力包含转义序列的文本传输速度低于 9600。全屏重绘慢解决办法是用“差分渲染器”跟踪屏幕状态进行最小化编辑减少闪烁但应用程序有几种情况本不应重绘却重绘了。问题 3过度假设转义序列的兼容性应用程序发出的一些转义序列 VT - 100 无法识别。一是 UnicodeVT - 100 只支持 ASCII 字符通过添加仅支持 ASCII 的模式解决后来企业客户要求添加该模式可自豪告知已有此功能。二是 OSC 序列VT - 100 不理解该新格式发送会将原始文本打印到屏幕添加“旧版”模式让应用程序不发出 OSC 序列。使用感受让 VT - 100 正常工作后使用体验很棒。基本只需 Vim 和应用程序正常运行除键盘外可用性高来看的人都欣赏新旧技术的对比。还想尝试更多欢迎大家告知想在 VT - 100 上运行的东西。此外文中还提到1. VT - 100 是单色的但后来的终端增加了颜色功能。2. 如果解释信号相关内容博客会没完没了。3. 此处需引用相关资料。4. 波特是一个奇怪的单位表示每秒传输的符号数。5. 支持多种语言、表情符号和特殊符号。6. 英文文本包括 a - z、数字和标点符号。7. 用于例如超链接、终端标题等。