当我尝试通过 ssh 登录 Linux 机器时,系统要求我选择两种终端类型:VT100(Wyse 85)和 vt100(BS 擦除)。
我在谷歌上搜索,但没有得到答案。
有人可以解释一下它们之间有什么区别以及该选择哪一个吗?
答案1
对于您的目的,“VT100”与“vt100”相同。
“wy85”指的是Wyse-85。
ncurses 具有wy85
和vt100
(或vt102
)的终端描述。
你谈论的是终端仿真器,当然可能与实际终端不同。但假设 Xwin 提供的终端仿真器是完整的,那么寻找答案的地方就在infocmp
程序。以下是报告的输出:
$ infocmp -p vt100 wy85
comparing vt100 to wy85.
comparing booleans.
hs: F:T.
mir: F:T.
comparing numbers.
vt: 3, NULL.
wsl: NULL, 80.
comparing strings.
cbt: NULL, '\E[Z'.
civis: NULL, '\E[?25l'.
cnorm: NULL, '\E[?25h'.
dch: NULL, '\E[%p1%dP$<3*>'.
dch1: NULL, '\E[P$<3>'.
dim: NULL, '\E[2m'.
dl: NULL, '\E[%p1%dM$<3*>'.
dl1: NULL, '\E[M$<3>'.
dsl: NULL, '\E[40l'.
ech: NULL, '\E[%p1%dX'.
enacs: '\E(B\E)0', '\E)0'.
flash: NULL, '\E[30h\E\,$<300/>\E[30l'.
fsl: NULL, '\E[1;24r\E8'.
ich: NULL, '\E[%p1%d@$<4*>'.
il: NULL, '\E[%p1%dL$<5*>'.
il1: NULL, '\E[L$<5>'.
invis: NULL, '\E[8m'.
ip: NULL, '$<3>'.
is1: NULL, '\E[62;1"p\E[?5W'.
is2: NULL, '\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>'.
is3: NULL, '\E>\E(B\E)0\017\E[m'.
ka1: '\EOq', '\EOw'.
ka3: '\EOs', '\EOy'.
kb2: '\EOr', '\EOu'.
kc1: '\EOp', '\EOq'.
kc3: '\EOn', '\EOs'.
kcub1: '\EOD', '\E[D'.
kcud1: '\EOB', '\E[B'.
kcuf1: '\EOC', '\E[C'.
kcuu1: '\EOA', '\E[A'.
kdch1: NULL, '\E[3~'.
kf0: '\EOy', NULL.
kf10: '\EOx', '\E[21~'.
kf11: NULL, '\E[23~'.
kf12: NULL, '\E[24~'.
kf13: NULL, '\E[25~'.
kf14: NULL, '\E[26~'.
kf15: NULL, '\E[28~'.
kf16: NULL, '\E[29~'.
kf17: NULL, '\E[31~'.
kf18: NULL, '\E[32~'.
kf19: NULL, '\E[33~'.
kf20: NULL, '\E[34~'.
kf5: '\EOt', NULL.
kf6: '\EOu', '\E[17~'.
kf7: '\EOv', '\E[18~'.
kf8: '\EOl', '\E[19~'.
kf9: '\EOw', '\E[20~'.
kfnd: NULL, '\E[1~'.
khlp: NULL, '\E[28~'.
khome: NULL, '\E[26~'.
kich1: NULL, '\E[2~'.
knp: NULL, '\E[6~'.
kpp: NULL, '\E[5~'.
kslt: NULL, '\E[4~'.
lf1: 'pf1', 'PF1'.
lf2: 'pf2', 'PF2'.
lf3: 'pf3', 'PF3'.
lf4: 'pf4', 'PF4'.
rmir: NULL, '\E[4l'.
rmkx: '\E[?1l\E>', '\E>'.
rs1: NULL, '\E[13l\E[3l\E!p'.
sgr: '\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>', '\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;'.
smir: NULL, '\E[4h'.
smkx: '\E[?1h\E=', '\E[?1l\E='.
tsl: NULL, '\E[40h\E7\E[25;%i%p1%dH'.
那些NULL
项目表明缺少该功能。据此,wy85
具有功能键的定义(您的 PC 键盘可能有)并且终端支持单独的状态行(可能性很小)。
如果您选择的终端描述缺少某个功能(例如功能键),大多数程序将不知道如何处理这些功能。
一些差异只是由于vt100
终端描述的演变方式(基本上来自 BSD termcap 条目),因此flash
虽然确实支持这一点,但还是缺失了vt100
。BSD termcap 库确实支持不是。
注释wy85
端子描述表明(原始)终端正在模拟 VT220(例如ech
cnorm
行),但这与和civis
(显示/隐藏光标)不一致,后者(见XTerm 控制序列提及DECTCEM
)来自下一个型号,例如 VT320。