V.D*_*D.D 2 terminal-emulator terminal
我听说VT100是事实上的标准。这是否意味着我可以只支持 VT100,然后我的终端就可以在现有的命令行应用程序中运行而不会出现大问题?如果没有,如何确保该终端实用?是否有任何参考资料可以帮助实现这一目标?
Jde*_*eBP 12
你会让托马斯·迪基过热。
忽略已经流传多年的关于 VT10x 终端的 samizdat。很多都是错误的。DEC VT100、VT101 和 VT102 实现了一组非常具体的功能,可以通过阅读他们的 doco 来学习。
然而,这并不是那些错误地围绕这些术语vt100
并vt102
实际上意味着什么的人。通常情况下,他们所谈论的是,做了一大堆的终端仿真更比什么是真正的VT10x做了,还有一大堆少。例如,一个真正的 DEC VT102 有一个连接的串行打印机,以及用于访问它的控制序列。此外,它也没有具有许多控制序列的从后终端模拟器和真正的终端,人们错误地归咎于“VT102”。例如,它没有 SGR 颜色变化的概念。
您有两个基本选择:
linux
终端类型。它必须复制linux
终端类型的古怪且有限的扩展键和功能键编码。)putty
,putty-256color
或putty-sco
。对于前者,什么是标准无关紧要,因为无论描述的行为多么不标准,您都必须复制。对于后者,不要寻找事实上的标准。看看实际的标准,其中一些自 1976 年以来就已经存在。
[
是实际8 位控制字符 U+009B的 7 位别名),mosh
会告诉您的那样。重要提示: 几乎所有的实现都错误地实现了这一标准,因为它们是从 samizdat(或简单地相互复制)而不是从实际标准工作的。标准在 §13.1.8 中说使用冒号 ( :
, "3/10") 作为子参数分隔符;几乎所有的实现都错误地使用了分号 ( ;
),从而引入了解析歧义。很多软件都适应了这个错误。