dsinfo 文件

用途

包含 动态屏幕 实用程序的终端描述。

描述

数据信息 文件是 动态屏幕 实用程序所使用的终端描述的数据库。 终端描述通常包含以下配置信息:

  • 为与 动态屏幕 实用程序配合使用而定义的键及其功能
  • 可供终端使用的屏幕内存页面数
  • 必须发送或接收以访问和使用动态屏幕功能部件的代码序列

dscreen 命令从 数据信息 文件中读取相应的配置信息以启动 动态屏幕 实用程序。

项格式

数据信息 文件中的行条目由多个以逗号分隔的定义字段组成。 第一行字段项是用于终端的备用屏幕名称。 屏幕名称字段由 | (竖线符号) 分隔。

其他行字段是用于向 动态屏幕 实用程序描述终端定义功能的字符串。 以下转义代码在这些字符串中被识别:

转义代码 含义
\E, \e 转义
\n, \l 换行
\r 回车
\t 制表符
\b 退格
\f 换页符
\s 空间
\全国 具有八进制值 全国 的字符
^X Ctrl-X 表示任何适当的 X

任何其他以 \ (反斜杠) 开头的字符都将生成字符本身。

必须将字符串输入为 类型= 参数,其中 类型字符串类型 是字符串值。

如果未将信息输入到字符串字段中,那么仍会使用逗号来指定该字段是否存在。

字符串类型和字符串值

提供了以下字符串类型:

字符串类型 含义
德斯克X 描述分配给键的操作。 此字符串类型包含 4 个字符。 第 4 个字符表示屏幕接收到按键后要执行的操作:
键类型 操作
茨克卜 阻止输入和输出。
德斯克 启动新屏幕。
德斯克 结束 动态屏幕 实用程序 (退出代码 0)。
茨克尔 列出键和操作。
茨克普 切换到上一个屏幕。
德斯克 退出 动态屏幕 实用程序 (退出代码 1)。
德斯克斯 选择特定屏幕。
当前,唯一有效的 德斯克 字符串类型结束符为 b , c , e , l , p , q 和 s。 此时使用的任何其他键定义都解释为空值,并导致终端定义没有内部 "动态屏幕" 操作。 稍后,可以在 动态屏幕 实用程序中为其他键指定值。
注: 德斯肯 字符串类型 (n 表示空值或无操作) 保证在未来版本中不用于任何函数分配。 当终端定义不需要任何内部动态屏幕操作时,建议使用 德斯肯 字符串类型而不是其他空字符。

每个 德斯克X 字符串类型的值字符串都有三个子字符串,以 | (管道符号) 分隔。 (包括一个|在其中一个子串中,使用 \|[反斜杠,管道符号]。)

第一个子串是在按下键时终端发送的字符序列。 第二个子串是键列表中显示的键的标签 (例如, Shift-F1 键序列)。 第三个子串是 动态屏幕 实用程序在执行请求的操作之前,在按下键时发送到终端的字符序列。

德斯普 描述终端中的物理屏幕。 对于终端中的每个物理屏幕,必须存在 德斯普 字符串类型。

每个物理屏幕的值字符串都有两个子串,用一个|(管道符号)。 (包括一个|在其中一个子串中,使用\|[反斜杠,管道符号]。)

第一个子串是要发送到终端以显示并输出到终端上的特定指定物理页的字符序列。 第二个子串通常设置为清除屏幕序列。 在以下两种情况下发送第二个字串:

  • 新建终端会话的创建
  • 正在运行的终端数超过物理屏幕数。
    如果您对终端的选择导致 动态屏幕 实用程序复用其中一个物理屏幕,那么会将清除屏幕序列发送到屏幕,以指示屏幕内容与连接到它的终端的输出不匹配。
    注: 建议不要使用超过物理屏幕数的终端来运行。 通过不定义更多屏幕选择键来避免此情况 (dsks=...) 而不是物理屏幕 (dsp=...).
DST 调整 动态屏幕 实用程序的输入超时。 该字符串的值必须是十进制数字。 超时值以十分之一秒为单位,并且最大值为 255。 缺省超时值为 1 ,或每秒的十分之一。

动态屏幕 实用程序识别到输入序列的前缀但尚未接收到该序列中的所有字符时,它将等待更多字符。 如果在接收更多字符之前发生超时,那么会将接收到的字符发送到屏幕,并且 动态屏幕 实用程序不会将这些字符视为输入键序列的一部分。 Consider increasing the value of the 德斯普 string if one or more of the keys to which the utility has to respond is actually a number of key combinations (for example, <Ctrl-Z> 1, <Ctrl-Z> 2, <Ctrl-Z> 3, and so on, for screen selection, or <Ctrl-Z> N, for new screen).

示例

  1. 以下 数据信息 条目描述具有三个屏幕的 WYSE 60 终端:
    wy60|wyse60|wyse model 60,
       dsks=^A`^M|Shift-F1|,
       dsks=^Aa^M|Shift-F2|,
       dsks=^Ab^M|Shift-F3|,
       dskc=\200|Ctrl-F1|,
       dske=\201|Ctrl-F2|\Ew0\E+,
       dskl=\202|Ctrl-F3|,
       dsp=\Ew0|\E+,
       dsp=\Ew1|\E+, 
       dsp=\Ew2|\E+, 

    <Shift-F1> 至 <Shift-F3> 组合键用于选择屏幕 1 至 3。 <Ctrl-F1> 创建一个新屏幕。 <Ctrl-F2> 发送 <Esc> w 0 <Esc> + 到屏幕。 因此,终端将切换到窗口 0 ,屏幕将被清除,并且 动态屏幕 实用程序将结束。 <Ctrl-F3> 列出了密钥及其功能。 分别发送 <Esc> w 0、<Esc> w 1 和 <Esc> w 2 按键序列,即可显示三个物理屏幕。 每次物理屏幕用于新屏幕时,都会向终端发送 <Esc> + 键序列以清除屏幕。

  2. 以下 数据信息 条目描述了具有三个屏幕的 WYSE 60 终端,其中一个屏幕位于通过该终端上的第二个串口进行通信的第二台计算机上。 动态屏幕 实用程序必须在两台计算机上运行,第一台计算机上的终端类型为 WY60-1 ,第二台计算机上的终端类型为 WY60-2 (要执行此操作,请在 dscreen 命令中指定 -t 标志)。
    wy60-1|wyse60-1|wyse model 60 - first
    serial port
       dsks=^A`^M|Shift-F1|,
       dsks=^Aa^M|Shift-F2|,
       dskb=^Ab^M|Shift-F3|\Ed#^Ab\r^T\Ee9,
       dskc=\200|Ctrl-F1|,
       dske=\201|Ctrl-F2|\Ed#\201^T\Ew0\E+,
       dskl=\202|Ctrl-F3|,
       dsp=\Ew0|\E+,dsp=\Ew1|\E+,
    wy60-2|wyse60-2|wyse model 60 - second
    serial port
       dskb=^A`^M|Shift-F1|\Ed#^A`\r^T\Ee8,
       dskb=^Aa^M|Shift-F2|\Ed#^Aa\r^T\Ee8,
       dsks=^Ab^M|Shift-F3|
       dskc=\200|Ctrl-F1|,
       dske=\201|Ctrl-F2|\Ed#\201^T\Ew0\E+,
       dskl=\202|Ctrl-F3|,
       dsp=\Ew2|\E+,
    终端类型 WY60-1 的前两个键条目与示例 1 中的条目完全相同。 第三个键条目,类型为dskb, 指定当 <Esc> d # <Ctrl-A> b <CR> <Ctrl-T> <Esc> e 9 键序列发送到终端时,输入和输出被阻止。 因此,将阻止输出,并且 动态屏幕 实用程序将继续扫描输入以查找键序列,但废弃

    所有其他输入。 <Esc> d # 序列会将终端置于透明打印模式,该模式会将 <Ctrl-T> 之前的所有按键回声输出到另一个串行端口。 The <Ctrtl-A> b <CR> key sequence is sent out to the other serial port, informing the 动态屏幕 utility on the second computer that it should activate the window associated with the <Shift-F3> key. <Ctrl-T>键序使终端退出透明打印模式,<Esc> e 9 键序通知终端切换到另一个串行端口进行数据通信。

    另一台计算机接手后,发送 <Esc> w 2 键序列切换到第三个物理屏幕,然后恢复正常通信。

    对于 <Shift-F1> 和 <Shift-F2> 组合键, WY60-2 条目遵循相同的一般模式,这些组合键切换到透明打印方式,将功能键字符串发送到另一台计算机,切换透明打印关闭,并切换到另一个串口。

    对于两台计算机,结束键 <Ctrl-F2> 的工作方式相同。 它通过透明打印机制将端按键顺序发送到另一台计算机,将终端切换到窗口 0 ,清除屏幕,退出。

文件

描述
/etc/dsinfo 包含 动态屏幕 实用程序的终端描述。