许多程序使用 TERM
变量和数据库 /etc/termcap
或 /usr/lib/terminfo/*
来决定发送哪些字符串以实现清屏、移动光标等功能,有时也决定用户退格键、功能键等发送的字符串。此值首先由内核设置(对于控制台)。通常,此变量由 getty
使用 /etc/ttytype
或 /etc/inittab
中指定的参数重新设置。有时,它也在 /etc/profile
中设置。
较旧的系统使用 TERM=console
或 TERM=con80x25
。较新的系统(使用 ncurses 1.8.6)使用更具体的 TERM=linux
或 TERM=linux-80x25
。然而,旧版本的 setterm
测试 TERM=con*
,因此无法与 TERM=linux
一起工作。
自内核版本 1.3.2 起,控制台的内核默认值为 TERM=linux
。
如果您的 termcap 没有 linux 的条目,请将单词 linux 添加到控制台的条目中
console|con80x25|linux:\
并将 /usr/lib/terminfo/l/linux
制作成 /usr/lib/terminfo/c/console
的副本或符号链接。
来自 ncurses 1.8.6 的 linux 控制台的 terminfo 条目缺少一些程序需要的条目 kich1=\E[2~
。编辑该文件并 tic
它。