下一页 上一页 目录

5. 关于 Termcap 和 Terminfo 的基本概念

文件 /etc/termcap 是一个列出 terminal(终端)capabilities(功能)的文本文件。一些应用程序使用 termcap 信息来在屏幕上移动光标并执行其他面向屏幕的任务。tcshbashvi 和所有基于 curses 的应用程序都使用 termcap 数据库。

该数据库描述了多种终端类型。TERM 环境变量通过指定应用程序要使用的 termcap 条目,在运行时选择正确的行为。

在数据库中,终端的每个功能都以一个双字母代码和用于获得所需效果的实际转义序列的表示形式出现。不同功能之间的分隔符是冒号(“:”)。例如,声音铃声,代码为“bl”,通常显示为“bl=^G”。这个序列表示铃声是通过打印 control-G 字符,即 ASCII BEL 获得的。

除了 bl 功能外,还识别 vb 功能。它用于表示“可见铃声”。vb 通常在 termcap 文件的 linux 条目中缺失。

大多数现代应用程序和库都使用 terminfo 数据库而不是 termcap。此数据库每个终端类型使用一个文件,并位于 /usr/lib/terminfo 中;为了避免使用巨大的目录,每个终端类型的描述都存储在一个以其首字母命名的目录中;因此,linux 条目是 /usr/lib/terminfo/l/linux。要构建 terminfo 条目,您需要“编译” termcap 描述;请参考 tic 程序及其手册页。


下一页 上一页 目录