tset 命令

用途

初始化终端。

语法

tset [ -e C ] [ -k C ] [ -i C ] [ - ] [ -s ] [ -I ] [ -Q ] [  -m [标识符 ] [ TestBaudRate :类型 ] ... [ 类型 ]

描述

tset 命令可设置终端特征。 它执行终端依赖性的处理,比如:设置擦除和杀死字符、设置或复位延迟以及发送任何需要的序列以正常初始化终端。

tset 命令首先确定所涉及的终端类型(由 Type 参数指定)。 然后执行必要的初始化和方式设置。 附加在每个端口上的终端类型在对象数据管理器(ODM)数据库内指定。 terminfo 数据库包含可能的终端类型名称。 如果端口未永久连接到特定终端 (即,未硬连接) ,那么 tset 命令将为其提供相应的通用标识,例如dialup.

未指定标志时, tset 命令从 TERM 环境变量中读取终端类型并重新初始化终端。

tset 命令用于启动脚本( .profile 文件用于 sh 用户或 .login 文件用于 csh 用户)时,脚本应包括通常使用在未硬连线的端口上终端的类型的信息。 这些端口在 ODM 数据库中标识为dialup, plugboard,ARPANET等等 指定通常哪种终端类型可用在这些端口上,使用 -m 标志(其后跟随适当的端口类型标识),一种可选的波特率规范和终端类型。 如果指定一个以上映射,那么优先使用第一个适用的映射。 缺少的端口类型标识匹配所有标识。 任何 terminfo 数据库给出的备用一般名称都可用作标识。

可在 tset 命令中指定波特率,如同 stty 命令一样。 波特率与诊断输出速度(可能为控制终端)是可以比较的。 波特率测试可以是下列字符的任一组合:

  • .(终止符)
  • @(at 符号)
  • <(小于符号)
  • !(感叹号)

@(在标志处) 代表前置位置处,!(感叹号) 反转测试感。 为避免元字符出现问题,请将 -m 标志参数放在内部''(单引号)。 csh 命令的用户还必须将\(反斜杠)!(感叹号)。

以下示例将终端类型设置为adm3a如果正在使用的端口是以大于以下值的速度进行拨号:300波德 它将终端类型设置为dw2如果端口是速度为300波特或更低:

tset -m 'dialup>300:adm3a' -m dialup:dw2 -m 'plugboard:?adm3a'

如果 Type 参数以? 开头 (问号) ,系统会提示您验证类型。 使用指定类型,按 Enter 键。 使用不同类型,输入需要的类型。 在给出的示例中,系统会提示您验证adm3插件端口类型。

如果无映射应用且命令行给出最终类型选项(没有以 -m 标志开头),使用该类型。 另外,缺省终端类型是 ODM 数据库中标识的类型。 硬连线端口都应在 ODM 数据库中标识。

已知终端类型时, tset 命令参与终端驱动方式设置。 通常包括设置:

  • 终端的初始化序列
  • 单字符擦除和 (可选) 行终止 (全行擦除) 字符
  • 特殊字符延迟

终端初始化序列传输过程中会关闭制表符和换行扩展。

在可退格但不能叠印的终端上(如 CRT),且当擦除字符是缺省擦除字符(标准系统上的 #)时,擦除字符替换为退格符(Ctrl-H)。

标志

描述
-e C 将擦除字符设置为由 C 参数指定的字符。缺省值为退格字符。
-I 禁止传输终端初始化字符串。
-i C 将中断字符设置为由 C 参数指定的字符。 C 缺省为 ^C(插入符号 C)。 该 ^(插入标记字符)字符也可用于此选项。
-k C 将行杀死字符设置为由 C 参数指定的字符。 C 参数缺省为 ^X(插入符号 X)。 该 ^(插入标记字符)字符也可用于此选项。
-m IdentifierTestbaudRate:类型 指定哪种终端类型(在 Type 参数中)通常可用在 Identifier 参数中标识的端口上 缺少标识匹配所有标识。 可选择在 TestBaudRate 参数里指定波特率。
-q 禁止打印Erase set toKill set to消息。
-s 打印序列 csh 命令,该命令基于决定终端的名称初始化 TERM 环境变量。
- 决定终端的名称按标准输出形式输出。 这是 TERM 环境变量。

示例

以下示例皆假定 Bourne shell 和使用 - 标志。 如果使用 csh 命令,那么请使用上述变量。 .profile.login 文件中 tset 命令的典型用法包括 -e-k 标志,通常也包括 -n-Q 标志。 为简化示例,此处不包含这些标志。
注: 确保在一行上全部输入 tset 命令,而不考虑示例中使用的行数。
  1. 现在,您是 2621 终端。 除非您一直是 2621 终端,否则不要在您的 .profile 文件中使用下列示例。
    export TERM; TERM=\'tset \- 2621\'
  2. 您在家里有一个 h19 终端可以拨号,但您的办公终端是硬连线的,并在 ODM 数据库中指定。
    export TERM; TERM=\'tset \- \-m dialup:h19"'
  3. 您有一个将所有内容连接到所有内容的交换机,这使您几乎无法键入要进入的端口。 您可在办公室以 9600 波特使用 vt100 而以 1200 波特在 2621 上从家中拨号到转换端口。 有时您在工作中使用不同的终端。 高速下,您想验证您的终端类型,但在 1200 波特下,您始终在 2621 上。 注意引号怎样保护由 shell 解释的大于符号和问号。
    export TERM; TERM=\'tset \- \-m 'switch>1200:?vt100' \-m
    'switch<=1200:2621'
    如果没有任何条件,使用 ODM 数据库中指定的终端类型。
  4. 如果您始终在许多不同终端上以相同的波特率拨号,那么以下条目适用。 您最常见的终端是adm3a。将始终提示您验证终端类型,缺省为adm3a.
    export TERM; TERM=\'tset \- \?adm3a\'
  5. 如果未正确安装 ODM 数据库,并且您希望完全按波特率键,请输入:
    export TERM; TERM=\'tset \- \-m 'switch>1200:?vt100' \-m
    'switch<=1200:2621'
  6. 您在 Concept100上以 1200 波特或更少的方式拨号,有时是通过交换机端口拨号,有时是通过常规拨号。 使用不同的终端以超过 1200 的速度通过转换端口,通常是办公室里的终端即 vt100。 然而,有时您从大学通过 ARPANET 登录;这时您在仿真 dm2500 的 ALTO 上。 经常登录不同的硬连接端口,如控制台,这些端口都正确输入到 ODM 数据库中。 要设置擦除字符为 Ctrl-H、杀死字符为 Ctrl-U,请输入:
    export TERM
    TERM=\'tset \-e \-k(hat)U \-Q \- "-m 'switch<1200:concept100'
    "-m 'switch:?vt100' \-m dialup:concept100 "1-m arpanet: dm2500"'
    这也可阻止 tset 命令打印下列行:
    Erase set to Backspace, Kill set to Ctrl-U
  7. 要将擦除字符设置为控制字符,请输入:
    tset -e ^Y

文件

描述
/usr/share/lib/terminfo 包含终端能力数据库。