xterm 命令
用途
语法
xterm [--Xtoolkitoption... ] [-选项 ...]
描述
xterm 程序是 X Window System 的终端仿真器。 它向不能直接使用窗口系统的程序提供 DEC VT102 和 Tektronix 4014 兼容终端。 如果基础操作系统支持终端缩放功能,那么 xterm 程序使用这些工具在窗口缩放时通知窗口系统中运行的程序。
VT102 和 Tektronix 4014 终端都有自己的窗口,因此可以同时在一种窗口系统中 编辑文本而在另一种中查看图像。 为保持正确的纵横比(高/宽),Tektronix 图像被限制为适合窗口大小且符合 4014 纵横比的最大框。 该框位于窗口的左上区域。
虽然两个窗口可同时显示,但是其中一个会被认定 为接收键盘输入和终端输出的活动窗口。 该窗口是 包含文本光标的窗口。 活动窗口可以通过以下转义序列来选择:VT102 窗口中的 VT Options 菜单 和 4014 窗口中的 Tek Options 菜单。
仿真
VT102 仿真相当完备,但不支持 平滑滚动、VT52 方式、闪烁字符属性或是双倍宽和双倍大小字符集。 与 xterm 命令 配合使用的 termcap 文件条目 包括 xterm、vt102、vt100 和“ansi”,而且 xterm 命令自动按这个顺序在 termcap 文件中搜索这些条目,并设置 TERM 和 TERMCAP 环境变量。
很多专用的 xterm 功能可以在程序控制下通过一组与 标准 VT102 转义序列不同的转义序列进行修改。
Tektronix 4014 仿真也相当优良。 它支持 12 位的图像寻址,可以扩大到指定窗口大小。 它支持四种不同的字体大小 和五种不同的行类型。 不支持直写或散焦方式。
Tektronix 文本和图像命令由 xterm 命令进行内部记录,并可能通过发送 COPY 转义序列(或是 通过 Tektronix 菜单,这会在以下各节描述)写入一个文件。 该文件的名称将是 COPYyy-MM-dd.hh:mm:ss,其中,yy、MM、dd、hh、mm 和 ss 是 执行复制的年、月、日、小时、分钟和秒(该文件是在启动 xterm 命令 的目录,或登录 xterm 的主目录中创建的)。
其他功能
xterm 命令在指针进入窗口(选中)时自动突出显示文本光标,在指针离开窗口时(未选中)对它取消突出显示。 如果窗口是焦点窗口,无论指针定位在何处,文本光标都会突出显示。
在 VT102 方式中,可使用转义序列激活和停用备用屏幕缓冲区,备用屏幕缓冲区的大小与窗口的显示区域大小相同。 当激活时,当前屏幕被保存并替换为 备用屏幕。 对超出窗口顶部的滚动行的保存被禁用,直至恢复通常的屏幕。
xterm 命令的 termcap 文件条目允许 vi 命令编辑器切换到备用屏幕进行编辑并在退出时恢复屏幕。
在 VT102 方式或 Tektronix 方式中,都有更改窗口名称的转义序列。
选项
xterm 终端仿真器接受所有 标准 X Toolkit 命令行选项以及以下选项(如果选项以 a+ 开始而不是 a-,选项恢复为缺省值):
| 项 | 描述 |
|---|---|
| -help | 使 xterm 命令打印出描述其选项的消息。 |
| -132 | 通常,在 80 和 132 列方式间切换的 VT102 DECCOLM 转义序列被忽略。 该选项使 DECCOLM 转义序列可以成为被识别的,而且 xterm 窗口将相应地调整大小。 |
| -ah | 表明 xterm 命令应该总是突出显示文本光标。 缺省情况下,当无焦点或指针离开该窗口时,xterm 命令将显示一个中空的文本光标。 |
| + ah | 表明 xterm 命令应该根据焦点突出显示文本光标。 |
| -b 数字 | 以像素为单位指定内边框大小(字符外边框和窗口边框之间的距离)。 缺省值为 2。 |
| -cc 字符类范围:值[,...] | 设置用于根据文字进行选择的给定范围所表明的类。 |
| -cn | 表明换行符不应该在行方式选择中被剪切下来。 |
| + cn | 表明换行符应该在行方式选择中被剪切下来。 |
| -cr 颜色 | 指定文本光标使用的颜色。 缺省值为使用与文本前景色相同的颜色。 |
| -cu | 表明 xterm 命令应该回避 more 程序中的错误,该错误导致不能正确显示如下的行: 行宽度与窗口宽度完全相同并跟随一个由制表符开始的行 (前导 tab 不显示)。 该选项之所以如此命名是因为它起初就被认为是 curses 函数光标运动软件包中的一个程序错误。 |
| + cu | 表明 xterm 不应当回避前面提到的 more 程序的功能错误。 |
| -e 程序 [Arguments] | 指定在 xterm 窗口中运行的程序(及其命令行自变量)。 如果 -T 或 -n
选项都没有在命令行中给定,它也设置窗口标题和图标名作为运行程序的基本名称。 注: 这必须是命令行上的最后一个选项。
|
| -fb 字体 | 指定在显示粗体文本时要使用的字体。 该字体和普通字体高度和宽度相同。 如果只指定了一种普通字体或是粗体字体,它会作为普通字体使用并通过叠印该字体来生成粗体字体。 缺省值为叠印普通字体。 |
| -i | 打开 useInsertMode 资源。 |
| + i | 关闭 useInsertMode 资源。 |
| -j | 表明 xterm 命令应该进行跳跃式的滚动。 通常情况下,文本一次只滚动一行;该选项允许 xterm 命令一次移动多行以便不致于落后太远。 强烈推荐使用该选项,因为它使 xterm 命令在扫描大量的文本时要快得多。 VT100 中启用和禁用平滑滚动的转义序列,就和 VT Options 菜单一样,可以用来打开或关闭该功能。 |
| + j | 表明 xterm 命令不应该进行跳跃式的滚动。 |
| -ls | 表明在 xterm 窗口中启动的 shell 是登录 shell 程序(换句话说,ArgumentVector 参数的第一个字符是破折号,用来向 shell 表明它 会读取用户的 .login 或 .profile 文件)。 |
| + ls | 表明启动的 shell 不应是登录 shell 程序(换句话说,它是一个普通的子 shell 程序)。 |
| -mb | 表明 xterm 命令在用户输入到靠近行右端时应该响页边距铃提醒。 该选项可以用 VT Options 菜单打开或关闭。 |
| + MB | 表明不应响页边距铃提醒。 |
| -Mc 毫秒 | 指定多击选择之间的最长时间。 |
| -ms 颜色 | 指定指针光标使用的颜色。 缺省值为使用前景色。 |
| -nb 编号 | 指定页边缘铃在离行的右端结束处还有多少个字符数时会响铃(如果启动了页边缘铃)。 缺省值为 10。 |
| -rw | 表明应当允许逆向回绕。 这允许光标从一行的最左列回退到前一行的最右边列。 这对编辑长的 shell 命令行很有用,鼓励使用该选项。 该选项可以用 VT Options 菜单打开或关闭。 |
| + rw | 表明不允许逆向回绕。 |
| 项 | 描述 |
|---|---|
| -aw | 表明应当允许自动回绕。 这允许光标在一行最右边的位置并且文本为输出时自动绕到下一行首。 |
| + 觉 | 表明不允许自动回绕。 |
| -s | 表明 xterm 命令可以异步滚动,这表明屏幕在滚动时不必完全保持为最新状态。 这允许 xterm 命令 在网络延迟严重时运行更快,并在通过大型因特网或很多网关运行时十分有用。 |
| + | 表明 xterm 命令应该同步滚动。 |
| -sb | 表明应该保存一些滚动到窗口顶部以上的行,而且也应该显示滚动条以便可以查看那些行。 该选项可以用 VT Options 菜单打开或关闭。 |
| + sb | 表明不应显示滚动条。 |
| -sf | 表明应该为功能键生成 Sun Function Key 转义码。 |
| + sf | 表明应该为功能键生成标准的转义码。 |
| -si | 表明到窗口的输出不应自动将屏幕重新定位到滚动区域的底部。 该选项可以用 VT Options 菜单打开或关闭。 |
| + si | 表明到窗口的输出应使窗口滚动至底部。 |
| -sk | 表明在使用滚动条查看文本中的先前行时,如果按下一个键会导致窗口自动重新定位到滚动区域底部的通常位置。 |
| + sk | 表明在使用滚动条时按下一个键不会导致窗口重新定位。 |
| -sl 编号 | 指定要保存的、滚动到屏幕顶部以上的行数。 缺省值为 64。 |
| -t | 表明 xterm 命令应该以 Tektronix 方式启动,而不是 VT102 方式。 可使用 Options 菜单在这两个窗口之间进行切换。 |
| + t | 表明 xterm 命令应以 VT102 方式启动。 |
| -tm 字符串 | 指定以应与相关功能绑定的字符开头的一系列终端设置关键字,类似 于 stty 程序。 允许的关键字包括:intr、quit、erase、kill、eof、eol、swtch、start、stop、brk、susp、dsusp、rprnt、flush、weras 和 lnext。 控制字符可以指定为 ^Character(例 如 ^c 或 ^u),并且 ^? 可用来表示 Delete。 |
| -tn 名称 | 指定在 TERM 环境变量中设置的终端类型名称。 该终端类型 必须存在于 termcap 数据库中而且应当包含 li# 和 co# 条目。 |
| -ut | 表明 xterm 命令不应将 记录写入 /etc/utmp 系统日志文件。 |
| + ut | 表明 xterm 命令应该将记录写入 /etc/utmp 系统日志文件。 |
| -vb | 表明更倾向于使用可视铃,而不是可听的铃。 每当接收到 Ctrl+G 序列信号时,窗口会闪烁,而不是响起终端铃声。 |
| + vb | 表明不使用可视铃。 |
| -wf | 表明 xterm 命令在第一次启动子进程时等待窗口映射完毕,以确保 初始终端大小设置和环境变量是正确的。 捕获随后终端大小的更改是应用程序的职责。 |
| + wf | 表明 xterm 命令在启动子进程前不等待。 |
| -C | 表明窗口接收控制台输出。 并非所有系统都支持本选项。 要获取控制台输出,必须是控制台设备的所有者,而且 必须对它有读和写的许可权。 如果在控制台屏幕的 xdm 下运行 X-Windows,可能需要会话启动和重新设置程序来明确地更改控制台设备的所有权以便该选项能够起作用。 |
| -Sccn | 指定要在工作程序方式下使用的伪终端名称的最后两个字母,以及继承的文件描述符的编号。 该选项是 解析的 ``%c%c%d''。 这允许将 xterm 命令用作现有程序的输入和输出通道,且有时在专用的应用程序中使用。 |
以下命令行自变量是为兼容旧版本而提供的。 由于 X Toolki 提供完成同样任务的标准选项,在下个发行版中也许不支持这些自变量。
| 项 | 描述 |
|---|---|
| %geom | 指定 Tektronix 窗口的首选大小和位置。 这是对指定 *tekGeometry 资源的简写。 |
| #geom | 指定图标窗口的首选位置。 这是对指定 *iconGeometry 资源的简写。 |
| -T 字符串 | 指定 xterm 程序窗口的标题。 它等同于 -title。 |
| -n 字符串 | 指定 xterm 程序窗口的图标名。 这是对指定 *iconName 资源的简写。 注意:这与 Toolkit 选 项 -name 不同(参阅以下内容)。 缺省图标名是应用程序名。 |
| -r | 表明反转视频应当通过调换前景和背景颜色来进行模拟。 它等同于 -rv。 |
| -w 数字 | 指定环绕窗口的边框的宽度(以像素计算)。 它等同于 -borderwidth 或 -bw。 |
以下标准 X Toolkit 命令行自变量通常与 xterm 命令配合使用:
| 项 | 描述 |
|---|---|
| -bg 颜色 | 指定窗口背景使用的颜色。 缺省值为白色。 |
| -bd 颜色 | 指定窗口边框使用的颜色。 缺省值为黑色。 |
| -bw 编号 | 指定环绕窗口的边框的宽度(以像素计算)。 |
| -fg 颜色 | 指定用于显示文本的颜色。 缺省值为黑色。 |
| -fn 字体 | 指定用于显示普通文本的字体。 缺省值为 fixed。 |
| -name 名称 | 指定获取资源的应用程序名,而不是缺省的可执行文件名。 Name 参数不应包含 .(点)或是 *(星号)字符。 :NONE. |
| -title 字符串 | 指定窗口标题字符串,该标题会在用户选择时由窗口管理器显示出来。 缺省标题是 在 -e 选项后指定的命令行(如果有的话);否则,就是应用程序名。 |
| -rv | 表明反转视频应当通过调换前景和背景颜色来进行模拟。 |
| -几何图形 几何图形 | 指定 VT102 窗口的首选大小和位置; 请参阅 X 命令。 |
| -display 显示 | 指定要联系的 X 服务器;请参阅 X 命令。 |
| -xrm ResourceString | 指定要使用的资源字符串。 这对设置没有单独命令行选项的资源特别有用。 |
| -标志性 | 表明 xterm 命令应该要求窗口管理器将该命令作为一个图标启动,而不是作为普通窗口启动。 |
Resources
本程序能接受并解释所有核心 X Toolkit 资源名、类以及:
| 项 | 描述 |
|---|---|
| iconGeometry(IconGeometry 类) | 指定在应用程序图标化时的首选位置和大小。 没有必要让所有窗口管理器遵守本设置。 |
| termName(TermName 类) | 指定要在 TERM 环境变量中设置的终端类型名称。 |
| title (类 Title) | 指定在显示本应用程序时窗口管理器使用的字符串。 |
| ttyModes(TtyModes 类) | 指定一个字符串,该字符串包含终端设置的关键字和它们可能会绑定的字符。 允许的关键字包括:intr、quit、erase、kill、eof、eol、swtch、start、stop、brk、susp、dsusp、rprnt、flush、weras 和 lnext。 控制字符可以指定为 ^Character(例 如 ^c 或 ^u),并且 ^? 可用来表示 Delete。 这对重设缺省终端设置而不用在每次 xterm 窗口启动时都运行 stty 程序十分有用。 |
| useInsertMode(useInsertMode 类) | 通过添加相应的条目到 TERMCAP 环境变量强制使用插入方式。 如果 系统条件冒损坏,该选项十分有用。 缺省值为 false。 |
| utmpInhibit(UtmpInhibit 类) | 指定 xterm 是否应该尝试在 /etc/utmp 中记录用户终端。 |
| sunFunctionKeys(SunFunctionKeys 类) | 指定是否应当为功能键(而不是标准转义序列)生成 Sun Function Key 转义码。 |
| waitForMap(WaitForMap 类) | 指定 xterm 命令在启动子进程前是否应该等待初始化窗口映射完毕。 缺省值为 False。 |
以下资源是作为 vt100 小窗口(VT100 类)的一部分指定的:
| 项 | 描述 |
|---|---|
| allowSendEvents(AllowSendEvents 类) | 指定是否应当解释或废弃合成键和按键事件(使用 X 协议 SendEvent 请求生成这些事件)。 缺省值为 False,表示应该废弃这些键和事件。 注意:允许这些事件会造成很大的安全性漏洞。 |
| alwaysHighlight(AlwaysHighlight 类) | 指定 xterm 是否应该始终突出显示文本光标。 缺省情况下,无论是指针移动到窗口外还是窗口丧失输入焦点,都显示一个中空的文本光标。 |
| appcursorDefault(AppcursorDefault 类) | 如果值为 True,光标键最初为应用程序方式。 缺省值为 False。 |
| appkeypadDefault(AppkeypadDefault 类) | 如果值为 True,小键盘键最初为应用程序方式。 缺省值为 False。 |
| autoWrap(AutoWrap 类) | 指定是否应当启用自动回绕。 缺省值为 True。 |
| bellSuppressTime(BellSuppressTime 类) | 指定发送铃声命令后的毫秒数,在这期间其他的铃声都将会被禁止。 缺省值为 200。 如果设置为非零值,其他铃声将被禁止直到服务器报告 第一个铃声的处理已经完成为止;该功能对可视铃特别有用。 |
| boldFont(BoldFont 类) | 指定要使用而不是进行叠印的粗体字体的名称。 |
| c132(C132 类) | 指定是否应当使用 VT102 DECCOLM 转义序列。 缺省值为 False。 |
| charClass(CharClass 类) | 指定以下格式的字符类绑定的以逗号分隔的列表:[low-]high:value。 它们用来确定在剪切和粘贴时应该对哪些组字符同等对待。 请参阅 字符类。 |
| curses (类 Curses) | 指定是否应该回避 curses 功能中最后一列程序错误。 缺省值为 False。 |
| cutNewline(cutNewline 类) | 如果为 false,三次单击选择一行时不包括行尾的换行符。 如果为 true,那么同时选中换行符。 缺省值为 true。 |
| cutToBeginningofLines(CutToBeginningOfLine 类) | 如果为 false,三次单击选择一行时仅选中从当前单词向前的部分。 如果为 true,那么选择整行内容。 缺省值为 true。 |
| background (类 背景) | 指定窗口背景使用的颜色。 缺省值为白色。 |
| 前台 (类 前台) | 指定用于显示窗口中文本的颜色。 设置类名而非实例名是使通常以文本颜色显示的内容更改颜色 的一种简单途径。 缺省值为黑色。 |
| cursorColor (类 前台) | 指定文本光标使用的颜色。 缺省值为黑色。 |
| eightBitInput(EightBitInput 类) | 如果值为 True,在八位输入打开的情况下,键盘的元字符输入作为单个字符出现。 如果为 False,元字符转换为一个 2 字符的序列,字符本身之前插入 ESC。 缺省值为 True。 |
| eightBitOutput(EightBitOutput 类) | 指定从主机发送的 8 位字符是否应该按原样接受或是在打印时予以删节。 缺省值为 True。 |
| font (类 Font) | 指定常规字体的名称。 缺省值为 fixed。 |
| font1(Font1 类) | 指定第一个备用字体的名称。 |
| font2(Font2 类) | 指定第二个备用字体的名称。 |
| font3(Font3 类) | 指定第三个备用字体的名称。 |
| font4(Font4 类) | 指定第四个备用字体的名称。 |
| font5(Font5 类) | 指定第五个备用字体的名称。 |
| font6(Font6 类) | 指定第六个备用字体的名称。 |
| geometry(Geometry 类) | 指定 VT102 窗口的首选位置和大小。 |
| hpLowerleftBugCompat(hpLowerleftBugCompat 类) | 指定是否应当回避 xdb 中的程序错误,它忽略条件冒并会一直发送 ESC F 来移动到左下角。 true 导致 xterm 将 ESC F 解释为移动到屏幕左下角的请求。 缺省值为 false。 |
| internalBorder (类 BorderWidth) | 指定字符与窗口边框之间的像素值。 缺省值为 2。 |
| jumpScroll(JumpScroll 类) | 指定是否应当使用跳跃滚动。 缺省值为 True。 |
| 项 | 描述 |
|---|---|
| loginShell(LoginShell 类) | 指定在窗口中运行的 shell 是否应当作为登录 shell 启动。 缺省值为 False。 |
| marginBell(MarginBell 类) | 指定在用户输入靠近右页边距时是否应当响起铃声。 缺省值为 False。 |
| multiClickTime(MultiClickTime 类) | 指定多击选择事件之间的最长时间(以毫秒计算)。 缺省值为 250 毫秒。 |
| multiScroll(MultiScroll 类) | 指定是否应当进行异步滚动。 缺省值为 False。 |
| nMarginBell(类列) | 指定从右页边距开始的字符数,在该处页边距铃会响铃(如果该选项已启用)。 |
| pointerColor (类 前台) | 指定指针的前景色。 缺省值为 XtDefaultForeground。 |
| pointerColorBackground(类背景) | 指定指针的背景色。 缺省值为 XtDefaultBackground。 |
| pointerShape (类 Cursor) | 指定指针形状的名称。 缺省值为 xterm。 |
| resizeGravity(ResizeGravity 类) | 影响调整窗口大小以使其更高或更短时的行为。 NorthWest 指定屏幕上文本的顶行保持固定。 如果使窗口更短,那么将从底部删除行; 如果使窗口更高,那么将在底部添加空白行。 这与 MIT 版本 X11R4中的行为兼容。 SouthWest (缺省值) 指定屏幕上文本的底线保持固定。 如果窗口变高,其他的已保存的行会向下滚动到屏幕上;如果窗口变低,行会滚出屏幕顶部,顶部已保存的行会被删除。 |
| reverseVideo(ReverseVideo 类) | 指定是否应当模拟反转视频。 缺省值为 False。 |
| reverseWrap(ReverseWrap 类) | 指定是否应当启用逆向回绕。 缺省值为 False。 |
| saveLines(SaveLines 类) | 指定在滚动条打开时要保存的、超出屏幕顶端的行数。 缺省值为 64。 |
| scrollBar(ScrollBar 类) | 指定是否应当显示滚动条。 缺省值为 False。 |
| scrollTtyOutput(类ScrollCond | 指定到终端输出是否应当使滚动条自动滚动到滚动区域底部。 缺省值为 True。 |
| scrollKey (类 ScrollCond) | 指定按键操作是否应当使滚动条自动滚动到滚动区域底部。 缺省值为 False。 |
| scrollLines(ScrollLines 类) | 指定 scroll-back 和 scroll-forw 操作应该作为缺省值使用的行数。 缺省值为 1。 |
| signalInhibit(SignalInhibit 类) | 指定在 Main Options 菜单中发送信号到 xterm 的条目是否应该被禁止。 缺省值为 False。 |
| tekGeometry (类 几何) | 指定 Tektronix 窗口的首选大小和位置。 |
| tekInhibit(TekInhibit 类) | 指定输入 Tektronix 方式的转义序列是否应当被忽略。 缺省值为 False。 |
| tekSmall(TekSmall 类) | 指定如果没有给定明确的几何图形,Tektronix 方式下的窗口是否应该以最小大小启动。 在小 屏幕显示器上运行 xterm 命令时这十分有用。 缺省值为 False。 |
| tekStartup(TekStartup 类) | 指定 xterm 是否应该以 Tektronix 方式启动。 缺省值为 False。 |
| titeInhibit(TiteInhibit 类) | 指定 xterm 是否应当从 TERMCAP 字符串除去 ti 和 te 条件冒文件条目(在很多面向屏幕的程序启动时,用来在备用屏幕之间切换)。 如果设置此选项,xterm 命令也会忽略切换到备用屏幕的转义序列。 |
| translations(Translations 类) | 指定菜单、选项、已编程字符串等等的键和按钮绑定。 有关更多信息,请参阅操作"。 |
| visualBell(VisualBell 类) | 指定当接收到 Ctrl+C 按键顺序信号时是否应当用可视铃(闪烁)来替代音效铃。 缺省值为 False。 |
以下资源是作为 tek4014 小窗口(Tek4014 类)的一部分来指定的:
| 项 | 描述 |
|---|---|
| width (类 Width) | 指定 Tektronix 窗口的宽度(以像素值计算)。 |
| 高度 (类 高度) | 指定 Tektronix 窗口的高度(以像素值计算)。 |
| fontLarge (类 Font) | 指定在 Tektronix 窗口系统中使用的大字体。 |
| font2 (类 Font) | 指定在 Tektronix 窗口系统中使用的 2 号字体。 |
| font3 (类 Font) | 指定在 Tektronix 窗口系统中使用的 3 号字体。 |
| fontSmall (类 Font) | 指定在 Tektronix 窗口系统中使用的小字体。 |
| initialFont(InitialFont 类) | 指定四种 Tektronix 字体中最初使用哪种字体。 值和 set-tek-text 操作的值相同。 缺省值为 large。 |
| ginTerminator(GinTerminator 类) | 指定在 GIN 报告或状态报告后应当跟随哪些字符。 有可能是,“none”,它发送非终止字符;CRonly,它发送 CR;和 CR&EOT,它同时发送 CR 和 EOT。 缺省值为 none。 |
可能为各种不同菜单指定的资源在 Athena SimpleMenu 小窗口的文档中都有描述。 以下是每个菜单中各条目的类和名称的列表。
mainMenu 包含以下条目:
| 项 | 描述 |
|---|---|
| securekbd (类 SmeBSB) | 调用 secure() 操作。 |
| allow发送 (类 SmeBSB) | 调用 allow-send-events(toggle) 操作。 |
| re提取 (类 SmeBSB) | 调用 redraw() 操作。 |
| line1 (类 SmeLine) | 这是分隔符。 |
| suspend (类 SmeBSB) | 在支持作业控制的系统中调用 send-signal(tstp) 操作。 |
| continue (类 SmeBSB) | 在支持作业控制的系统中调用 send-signal(cont) 操作。 |
| 中断 (类 SmeBSB) | 调用 send-signal(int) 操作。 |
| hangup (类 SmeBSB) | 调用 send-signal(hup) 操作。 |
| terminate (类 SmeBSB) | 调用 send-signal(term) 操作。 |
| kill (类 SmeBSB) | 调用 send-signal(kill) 操作。 |
| line2 (类 SmeLine) | 这是分隔符。 |
| quit (类 SmeBSB) | 调用 quit() 操作。 |
vtMenu 包含以下条目:
| 项 | 描述 |
|---|---|
| scrollbar (类 SmeBSB) | 调用 set-scrollbar(toggle) 操作。 |
| jump滚动 (类 SmeBSB) | 调用 set-jumpscroll(toggle) 操作。 |
| reversevideo (类 SmeBSB) | 调用 set-reverse-video(toggle) 操作。 |
| auTowrap (类 SmeBSB) | 调用 set-autowrap(toggle) 操作。 |
| reversewrap (类 SmeBSB) | 调用 set-reversewrap(toggle) 操作。 |
| autolinefeed (类 SmeBSB) | 调用 set-autolinefeed(toggle) 操作。 |
| appcursor (类 SmeBSB) | 调用 set-appcursor(toggle) 操作。 |
| app键盘 (类 SmeBSB) | 调用 set-appkeypad(toggle) 操作。 |
| scrollkey (类 SmeBSB) | 调用 set-scroll-on-key(toggle) 操作。 |
| scrollttyoutput (类 SmeBSB) | 调用 set-scroll-on-tty-output(toggle) 操作。 |
| allow132 (类 SmeBSB) | 调用 set-allow132(toggle) 操作。 |
| cursesemul (类 SmeBSB) | 调用 set-cursesemul(toggle) 操作。 |
| visualbell (类 SmeBSB) | 调用 set-visualbell(toggle) 操作。 |
| 边缘化 (类 SmeBSB) | 调用 set-marginbell(toggle) 操作。 |
| altscreen (类 SmeBSB) | 该条目当前被禁用。 |
| line1 (类 SmeLine) | 这是分隔符。 |
| softreset (类 SmeBSB) | 调用 soft-reset() 操作。 |
| hardreset (类 SmeBSB) | 调用 hard-reset() 操作。 |
| clearsavedlines (类 SmeBSB) | 调用 clear-saved-lines() 操作。 |
| line2 (类 SmeLine) | 这是分隔符。 |
| tekshow (类 SmeBSB) | 调用 set-visibility(tek,toggle) 操作。 |
| tekmode (类 SmeBSB) | 调用 set-terminal-type(tek) 操作。 |
| vthide (类 SmeBSB) | 调用 set-visibility(vt,off) 操作。 |
fontMenu 包含以下条目:
| 项 | 描述 |
|---|---|
| fontdefault (类 SmeBSB) | 调用 set-vt-font(d) 操作。 |
| font1 (类 SmeBSB) | 调用 set-vt-font(1) 操作。 |
| font2 (类 SmeBSB) | 调用 set-vt-font(2) 操作。 |
| font3 (类 SmeBSB) | 调用 set-vt-font(3) 操作。 |
| font4 (类 SmeBSB) | 调用 set-vt-font(4) 操作。 |
| font5 (类 SmeBSB) | 调用 set-vt-font(5) 操作。 |
| font6 (类 SmeBSB) | 调用 set-vt-font(6) 操作。 |
| fontescape (类 SmeBSB) | 调用 set-vt-font(e) 操作。 |
| fontsel (类 SmeBSB) | 调用 set-vt-font(s) 操作。 |
tekMenu 包含以下条目:
| 项 | 描述 |
|---|---|
| tektextlarge (类 SmeBSB) | 调用 set-tek-text(l) 操作。 |
| tektext2 (类 SmeBSB) | 调用 set-tek-text(2) 操作。 |
| tektext3 (类 SmeBSB) | 调用 set-tek-text(3) 操作。 |
| tektextsmall (类 SmeBSB) | 调用 set-tek-text(s) 操作。 |
| line1 (类 SmeLine) | 这是分隔符。 |
| tekpage (类 SmeBSB) | 调用 tek-page() 操作。 |
| tekreset (类 SmeBSB) | 调用 tek-reset() 操作。 |
| tekcopy (类 SmeBSB) | 调用 tek-copy() 操作。 |
| line2 (类 SmeLine) | 这是分隔符。 |
| vtshow (类 SmeBSB) | 调用 set-visibility(vt,toggle) 操作。 |
| vtmode (类 SmeBSB) | 调用 set-terminal-type(vt) 操作。 |
| tekhide (类 SmeBSB) | 调用 set-visibility(tek,toggle) 操作。 |
以下资源在指定给 Athena Scrollbar 小窗口时十分有用:
| 项 | 描述 |
|---|---|
| thickness(Thickness 类) | 指定滚动条的宽度(以像素值计算)。 |
| background (类 背景) | 指定滚动条背景使用的颜色。 |
| 前台 (类 前台) | 指定滚动条前景使用的颜色。 滚动条的滚动块是一个简单的棋盘图案,其前景色和背景色可以使用交替像素。 |
指针用法
创建 VT102 窗口后,使用 xterm 命令可以选择文本并将其复制到相同或不同的窗口中。
当指针按钮不与任何修改键配合使用时,以及当它们与 Shift 键配合使用时,会调用选择功能。 对键和按钮的功能分配可以通过资源数据库来更改。
指针按钮 1(通常为左按钮)用于将文本保存到剪切缓冲区。 将光标 移动到文本开头,然后按住按钮并将光标拖动到区域结束处并释放按钮。 选中的文本突出显示 并被保存在全局剪切缓冲区中,在松开按钮时进行 PRIMARY 选择(主选择)。
双击按文字进行选择,连击三次按行进行选择,连击四次回到字符状态。 多次单击是由松开按钮到按下按钮的时间长短决定的,因此可以在选择中更改选择单位。 如果键或按钮绑定指定要进行的 X 选择,xterm 命令将会使选中的文本保持为突出显示,只要它是选择执行者。
指针按钮 2(通常为中间按钮)从 PRIMARY 选择(如果有,否则从剪切缓冲区)中“输入”(粘贴)文本,将文本作为键盘输入插入。
指针按钮 3(通常为右按钮)扩展当前选择。 如果按下时靠近选择区的右边比左边近,它扩展或收缩选择区的右边界。 如果收缩选择范围越过了选择区的左边界,xterm 命令认定确实指的是左边界并恢复原选择,然后扩展或收缩选择区的左边界。
反之亦然:如果按下时靠近选定范围的左边界比右边界近,它扩展/收缩选定范围的左边界。 如果收缩选择范围超出了选择区的右边界,xterm 命令假定确实指的是右边界并恢复原选择,然后扩展/收缩选择区的右边界。 扩展用上次选择或扩展执行的选择单元方式来启动;可以多击按钮来循环使用选择方式。
例如,在剪切和粘贴一块块文本而不包含后续换行符时,可以从不同窗口的多个位置获取文本,然后组成 shell 的一个命令,或从程序获取输出并将其插入最喜欢的编辑器。 由于割平面缓冲区是在不同应用程序之间全局共享的,因此请将其视为您知道其内容的 文件
。 终端仿真器和其他文本程序会将它看成是一个文本文件;换句话说,文本由换行符定界。
滚动区域显示当前显示在窗口中(突出显示)的文本的位置和数量,与实际保存的文本数量有关。 当更多文本被保存(直到最大值)时,突出显示区域的大小会减少。
在滚动区域用指针单击按钮 1 将邻近行移动到显示窗口的顶端。
单击按钮 3 将显示窗口的顶行向下移动到指针位置。
单击按钮 2 将显示移动到与滚动条指针位置相对应的已保存文本中。
和 VT102 窗口不同,Tektronix 窗口中不允许文本复制。 它确实允许 使用 Tektronix GIN 方式,而且在该方式下光标会从箭头变为十字形。 按任意键将发送该键和十字光标的当前坐标。 按按钮 1、2 或 3 会分别返回字母 l、m、r。
如果在指针按钮按下时按 Shift 键,那么发送相应的大写字母。 为了区分指针按钮和键,设置了字符的高位 (但除非终端方式为 RAW ,否则通常会除去此位; 请参阅 tty 命令以获取详细信息)。
菜单
xterm 命令有四个菜单,名称分别 为 mainMenu、vtMenu、fontMenu 和 tekMenu。 每一个菜单在按下正确的按键和按钮组合时展开。 大部分菜单都通过水平线分隔而划分为两个部分。 菜单顶部 包含可以改变的各种方式。 在当前活动的方式的旁边显示复选标记。 选择其中一个方式会 切换其状态。 菜单底部列出命令条目;选择其中之一将执行显示的功能。
xterm 菜单在窗口中的控制键和指针按钮 1 按下时打开。 mainMenu 包含适用 于 VT102 和 Tektronix 窗口的项。 在不安全的环境中输入密码或是别的敏感数据时请使用 Secure Keyboard 方式。
菜单命令部分中值得注意的条目 是:Continue、Suspend、 Interrupt、Hangup、Terminate 和 Kill,它们分别发送 SIGCONT、SIGTSTP、SIGINT、 SIGHUP、SIGTERM 和 SIGKILL 信号到在 xterm 下运行的进程的进程组中(通常就是 shell)。 如果用户偶然按下 Ctrl+Z 暂挂了进程,Continue 功能会非常有用。
vtMenu 在 VT102 仿真中设置不同方式,并在 VT102 窗口中 按下控制键和指针按钮 2 时被打开。 在该菜单的命令部分,软复位条目会重新设置滚动区域。 当某些 程序使滚动区域保持错误设置时(通常是在使用 VMS 或 TOPS-20 时有问题),软复位十分方便。
在 xterm 命令处理完命令行选项后,完全复位条目会立即 清除屏幕,将制表符复位为每 8 列,并将终端方式(比如换行和平滑滚动)重新设置为它们的初始状态。
fontMenu 设置在 VT102 窗口中使用的字体。 除了使用资源设置的缺省字体和多个备用字体外,菜单还提供 "设置字体" 转义序列最后指定的字体 (请参阅 " 控制序列") 和当前选择作为字体名称 (如果拥有 PRIMARY 选择)。
tekMenu 在 Tektronix 仿真中设置不同方式,在 Tektronix 窗口中 按下控制键和指针按钮 2 时可将其打开。 当前字体大小在菜单的 Modes 部分检入。 命令部分的 PAGE 条目会清除 Tektronix 窗口。
安全性
X Windows 环境在它们的安全性级别方面有所不同。 在 xdm 下运行的 MIT 服务器可以使用 magic cookie 授权模式,该模式可以对很多人提供合理的安全等级。 如果您的服务器仅使用基于主机的机制来控制对服务器的访问 (请参阅 xhost 命令) ,并且如果您启用了对主机的访问,并且还允许其他用户在同一主机上运行客户机,那么有人可以运行一个应用程序,该应用程序将使用 X 协议的基本服务来侦听您的活动, 可能会捕获您在键盘上输入的所有内容的文字记录。
这在要输入密码或其他敏感数据时要特别注意。 该问题的最佳解决方案是用一种更好的授权机制而不是基于主机的控制,但在 xterm 命令中有一种保护键盘输入的简单机制。
xterm 菜单包含 Secure Keyboard 选项,启用时,能够确保所有的键盘输入仅定向到 xterm 命令(使用 GrabKeyboard 协议请求)。 当应用程序提示输入密码 (或其他敏感数据)时,可以用菜单启用 Secure Keyboard,输入数据,然后再次通过使用菜单禁用 Secure Keyboard。
一次只能有一个 X 客户机可以保护键盘,因此当尝试 启用 Secure Keyboard 时,它可能会失败。 在这种情况下,会响铃提示。 如果 Secure Keyboard 成功启动,前景和背景颜色会交换(就像在“方式”菜单中选择了反转视频条目一样);当退出安全方式时,颜色将再次交换。 如果 颜色没有交换,这就十分有可能正在受到欺骗。
如果正在运行的应用程序在询问密码前显示提示符,最安全的方法就是:在提示符显示之前进入安全方式,而且确保 提示符显示正确(以新的颜色),以将受欺骗的可能性降到最低。 也可以再次打开菜单并确保该条目旁边有复选标记显示。
如果在 Secure Keyboard 方式中 xterm 窗口已图标化(或是已取消映射),或者如果启动一个 再生窗口管理器(它在窗口周围摆放标题栏或其他装饰品),那么 Secure Keyboard 方式会自动禁用。 (这是 X 协议的一个不容易攻破的功能。) 当发生上述情况时,前景和背景颜色将会换回原来的颜色而且会响铃警告。
字符类
快速连击鼠标中间按钮两次会导致所有同类字符(比如字母、空白、标点)都被选中。 因为不同的人对那些应该被选中的内容有不同的偏好 (比如,文件名是否应该全被选中还是只是单独的子名),缺省映射可以通过使用 charClass(CharClass)资源来覆盖。
该资源是一系列以逗号分隔的 range:value 对。 range 是 在 0 到 127 之间单个数字或 low-high(表示从低到 高),对应于要设置字符的 ASCII 代码。 value 是任意的,虽然缺省表使用在集合中出现的第一个字符的字符数。
缺省表是:
static int charClass[128] = {
/* NUL SOH STX ETX EOT ENQ ACK BEL */
32, 1, 1, 1, 1, 1, 1, 1,
/* BS HT NL VT NP CR SO SI */
1, 32, 1, 1, 1, 1, 1, 1,
/* DLE DC1 DC2 DC3 DC4 NAK SYN ETB */
1, 1, 1, 1, 1, 1, 1, 1,
/* CAN EM SUB ESC FS GS RS US */
1, 1, 1, 1, 1, 1, 1, 1,
/* SP ! " # $ % & ' */
32, 33, 34, 35, 36, 37, 38, 39,
/* ( ) * + , - . / */
40, 41, 42, 43, 44, 45, 46, 47,
/* 0 1 2 3 4 5 6 7 */
48, 48, 48, 48, 48, 48, 48, 48,
/* 8 9 : ; < = > ? */
48, 48, 58, 59, 60, 61, 62, 63,
/* @ A B C D E F G */
64, 48, 48, 48, 48, 48, 48, 48,
/* H I J K L M N O */
48, 48, 48, 48, 48, 48, 48, 48,
/* P Q R S T U V W */
48, 48, 48, 48, 48, 48, 48, 48,
/* X Y Z [ \ ] ^ _ */
48, 48, 48, 91, 92, 93, 94, 48,
/* ` a b c d e f g */
96, 48, 48, 48, 48, 48, 48, 48,
/* h i j k l m n o */
48, 48, 48, 48, 48, 48, 48, 48,
/* p q r s t u v w */
48, 48, 48, 48, 48, 48, 48, 48,
/* x y z { | } ~ DEL */
48, 48, 48, 123, 124, 125, 126, 1};例如,字符串33:48,37:48,45-47:48,64:48indicates that the exclamation mark, percent sign, dash, period, slash, and & characters should be treated the same way as characters and numbers. 这对剪切和粘贴电子邮件地址和文件名很有用。
操作
可以通过更改 vt100 或 tek4014 小 窗口的转换将键(或按键顺序)重新绑定到任意输入字符串。 更改事件的转换而不是键和按钮事件并非是预期的 操作,这会导致不可预测的行为。 以下操作是为在 vt100 或 tek4014 转换资源中使用而提供的:
| 项 | 描述 |
|---|---|
| 响铃 ([Percent]) | 将基本音量提高/降低指定的百分比来提示键盘铃声。 |
| ignore () | 忽略该事件但检查特殊指针位置转义序列。 |
| insert () | 插入与按下的键相关联的字符或字符串。 |
| insert-seven-bit () | 等同于 insert()。 |
| insert-八位 () | 插入一个与按下的键相关联的 8 位(元)版本的字符或字符串。 确切的操作依靠于 eightBitInput 资源的值。 |
| insert-selection (SourceName [, ...]) | 插入在选择区或剪切缓冲区找到的由 SourceName 参数指示的 字符串。 按给定的顺序检查源(区分大小写)直到找到一个目标。 通常使用的选择区包括 PRIMARY、SECONDARY 和 CLIPBOARD。 剪切缓冲区通常命名为从 CUT_BUFFER0 到 CUT_BUFFER7 的序列。 |
| 键映射 (名称) | 动态定义一个新的转换表,其资源名是 Name 且后缀是 Keymap(区分 大小写)。 名称 None 将恢复原始的转换表。 |
| 弹出菜单 (MenuName) | 显示指定的弹出菜单。 有效的名称(区分大小写)包括 mainMenu、vtMenu、fontMenu 和 tekMenu。 |
| 安全 () | 切换名为 "" 的部分中描述的 安全键盘 方式 安全性" ,从 mainMenu中的 securekbd 条目调用。 |
| select-start () | 在当前指针位置开始文本选择。 见题为 " 指针使用情况" 以获取有关进行选择的信息。 |
| select-extend () | 跟踪指针并扩展该选择。 仅将其绑定到 Motion 事件。 |
| select-end (DestName [, ...]) | 将当前选择的文本放入 DestName 指定的所有选择区或剪切缓冲区。 |
| select-cursor-start () | 类似于 select-start,除了它是从当前文本光标位置开始选择。 |
| select-cursor-end( DestName [, ...]) | 类似于 select-end,除了它应与 select-cursor-start 配合使用。 |
| set-vt-font(d/1/2/3/4/5/6/e/s[,NormalFont[, BoldFont]]) | 设置当前 VT102 窗口使用的字体。 第一个自变量为单个字符,它指定要使用的字体: d 或 D 指示缺省字体(开始执行 xterm 命令时最初使用的字体); 1 到 6 指示由 font1 到 font6 资源所指定的字体, e 或 E 指示已经通过转义码设置的正常字体和粗体字体(或者分别指定为第二个和第三个操作自变量); s 或 S 指示由第二个操作参数指定的字体选择(由诸如 xfontsel 程序进行选择)。 |
| start-extend () | 类似于 select-start,除了选择区扩展到当前指针位置。 |
| start-cursor-extend () | 类似于 select-extend,除了选择区扩展到当前文本光标位置。 |
| 字符串 (字符串) | 插入指定的文本字符串,就好像它是被输入的一样。 如果字符串包含 空白或非字母数字字符,那么必须使用引号。 如果字符串自变量以字符“0x”开头,那么它会解释为一个十六进制字符常量。 |
| 回滚 (计数 [,单元]) | 回滚文本窗口,以便先前滚动出屏幕顶部的文本可以显示出来。 Count 自 变量表示要滚动的 Units(可能 是 page、halfpage、pixel 或 line)的数量。 |
| 滚动-派生 (计数 [,单元]) | 滚动类似于 scroll-back,除了它是向另一方向滚动。 |
| allow-send-events (On/Off/To切换) | 设置或切换 allowSendEvents 资源 而且也可以通过 mainMenu 中的 allowsends 条目调用。 |
| 重绘 () | 重绘窗口,也可以通过 mainMenu 中的 redraw 条目调用。 |
| 发送信号 (SigName) | 发送名为 SigName 的信号到 xterm 子进程(由 -e 命令行选项指定的 shell 或程序),并可以通过 mainMenu 中
的 suspend、continue、interrupt、hangup、terminate 和 kill 等条目调用。 允许的信号名为(不区分大小写):
|
| quit () | 发送 SIGHUP 到子程序并退出。 它也可以通过 mainMenu 中的 quit 条目调用。 |
| 项 | 描述 |
|---|---|
| set-scrollbar (打开/关闭/切换) | 切换 scrollbar 资源,也可以通过 vtMenu 中的 scrollbar 条目调用。 |
| set-jump滚动 (打开/关闭/切换) | 切换 jumpscroll 资源,也可以通过 vtMenu 的 jumpscroll 条目调用。 |
| set-reverse-video (打开/关闭/切换) | 切换 reverseVideo 资源,也可以通过 vtMenu 中的 reversevideo 条目调用。 |
| set-auTowrap (打开/关闭/切换) | 切换长输入行的自动换行,并可通过 vtMenu 中的 autowrap 条目调用。 |
| set-reversewrap (开启/关闭/切换) | 切换 reverseWrap 资源,也可以通过 vtMenu 的 reversewrap 条目调用。 |
| set-autolinefeed (打开/关闭/切换) | 切换换行的自动插入方式,并可以通过 vtMenu 中的 autolinefeed 条目调用。 |
| set-appcursor (打开/关闭/切换) | 切换 Application Cursor Key 方式的处理,并可以通过 vtMenu 中 的 appcursor 条目调用。 |
| set-app小键盘 (打开/关闭/切换) | 切换 Application Keypad 方式的处理,并可以通过 vtMenu 中的 appkeypad 条目调用。 |
| set-滚动键 (打开/关闭/切换) | 切换 scrollKey 资源,也可以从 vtMenu 中的 scrollkey 条目调用。 |
| set-滚动-on-tty-output (On/Off/To切换) | 切换 scrollTtyOutput 资源,也可以从 vtMenu 中的 scrollttyoutput 条目调用。 |
| set-allow132 (打开/关闭/切换) | 切换 c132 资源,也可以从 vtMenu 中的 allow132 条目调用。 |
| set-cursesemul (打开/关闭/切换) | 切换 curses 资源,也可以从 vtMenu 中的 cursesemul 条目调用。 |
| set-visual-bell (打开/关闭/切换) | 切换 visualBell 资源,也可以通过 vtMenu 中的 visualbell 条目调用。 |
| set-边际铃 (打开/关闭/切换) | 切换 marginBell 资源,而且也可以通过 vtMenu 中的 marginbel 条目调用。 |
| set-altscreen (打开/关闭/切换) | 在备用屏幕和当前屏幕之间切换。 |
| 软重置 () | 重新设置滚动区域,而且也可以从 vtMenu 中的 softreset 条目调用。 |
| hard-reset () | 重新设置滚动区域、标记、窗口大小和光标键并清除屏幕。 它也可以从 vtMenu 中的 hardreset 条目调用。 |
| 清除保存的行 () | 执行 hard-reset(参看前面的条目),而且也清除超出屏幕顶部的已保存行的历史记录。 它也可以从 vtMenu 中的 clearsavedlines 条目调用。 |
| set-terminal-type (类型) | 按照 Type 字符串,直接输出到 vt 或 tek 窗口。 也可以从 vtMenu 中 的 tekmode 条目和 tekMenu 中的 vtmode 条目调用。 |
| set-visibility (vt/tek, On/Off/To切换) | 控制 vt 或 tek 窗口是否可见。 它也可以从 vtMenu 中的 tekshow 和 vthide 条目和 tekMenu 中的 vtshow 和 tekhide 条目调用。 |
| set-tek-text (large/2/3/small) | 根据自变量,将 Tektronix 窗口中使用的字体设置为 tektextlarge、tektext2、tektext3 和 tektextsmall 资源的值。 它也可通过 tekMenu 中与资源同名的条目调用。 |
| tek-page () | 清除 Tektronix 窗口,而且也可以通过 tekMenu 中的 tekpage 条目调用。 |
| tek-reset () | 复位 Tektronix 窗口,而且也可以通过 tekMenu 中的 tekreset 条目调用。 |
| tek-copy () | 将用于生成当前窗口内容的转义码复制到当前目录中一个名称以 COPY 开头的文件。 它也可以从 tekMenu 中的 tekcopy 条目调用。 |
| visual-bell () | 快速刷新窗口。 |
Tektronix 窗口也具有以下操作:
| 项 | 描述 |
|---|---|
| gin-press (l/L/m/M/r/R) | 发送指示的图像输入代码。 |
在 VT102 窗口中缺省绑定是:
Shift <KeyPress> Prior: scroll-back(1,halfpage) \n\
Shift <KeyPress> Next: scroll-forw(1,halfpage) \n\
Shift <KeyPress> Select: select-cursor-start \
select-cursor-end(PRIMARY,
CUT_BUFFER0) \n\
Shift <KeyPress> Insert: insert-selection(PRIMARY,
CUT_BUFFER0) \n\
~Meta<KeyPress>: insert-seven-bit \n\
Meta<KeyPress>: insert-eight-bit \n\
!Ctrl <Btn1Down>: pop-up menu(mainMenu) \n\
!Lock Ctrl <Btn1Down>: pop-up menu(mainMenu) \n\
~Meta <Btn1Down>: select-start \n\
~Meta <Btn1Motion>: select-extend \n\
!Ctrl <Btn2Down>: pop-up menu(vtMenu) \n\
!Lock Ctrl <Btn2Down>: pop-up menu(vtMenu) \n\
~Ctrl ~Meta <Btn2Down>: ignore \n\
~Ctrl ~Meta <Btn2Up>: insert-selection(PRIMARY,
CUT_BUFFER0) \n\
!Ctrl <Btn3Down>: pop-up menu(fontMenu) \n\
!Lock Ctrl <Btn3Down>: pop-up menu(fontMenu) \n\
~Ctrl ~Meta <Btn3Down>: start-extend \n\
~Meta <Btn3Motion>: select-extend \n\
<BtnUp>: select-end(PRIMARY, CUT_BUFFER0) \n\
<BtnDown>: bell(0)在 Tektronix 窗口中缺省绑定是:
~Meta<KeyPress>: insert-seven-bit \n\
Meta<KeyPress>: insert-eight-bit \n\
!Ctrl <Btn1Down>: pop-up menu(mainMenu) \n\
!Lock Ctrl <Btn1Down>: pop-up menu(mainMenu) \n\
!Ctrl <Btn2Down>: pop-up menu(tekMenu) \n\
!Lock Ctrl <Btn2Down>: pop-up menu(tekMenu) \n\
Shift ~Meta<Btn1Down>: gin-press(L) \n\
~Meta<Btn1Down>: gin-press(l) \n\
Shift ~Meta<Btn2Down>: gin-press(M) \n\
~Meta<Btn2Down>: gin-press(m) \n\
Shift ~Meta<Btn3Down>: gin-press(R) \n\
~Meta<Btn3Down>: gin-press(r)以下是如何运用键映射操作来添加特殊键来输入 通常输入的工作:
*VT100.Translations: #override <Key>F13: keymap(dbx)
*VT100.dbxKeymap.translations:
\
<Key>F14: keymap(None) \n\
<Key>F17: string("next") string(0x0d) \n\
<Key>F18: string("step") string(0x0d) \n\
<Key>F19: string("continue") string(0x0d) \n\
<Key>F20: string("print ")
insert-selection(PRIMARY,CUT_BUFFER0)环境
xterm 命令为创建的大小窗口设置适当的 TERM 和 TERMCAP 环境变量。 它也使用和 设置 DISPLAY 环境变量来指定使用哪个位图显示终端。 WINDOWID 环境变量设置为 xterm 窗口的 X-Windows 标识号。
错误
有一些系统上不能执行大量的粘贴。 这不是 xterm 命令的程序错误;这是那些系统的伪终端驱动程序 的程序错误。 xterm 命令以 pty 能接受数据的速度将大 容量粘贴传送给 pty,但有些 pty 驱动程序并没有返回能判断写操作是否已经成功 的足够的信息。
在 xterm 命令启动后很多选项不能重新设置。
只支持固定宽度、字符单元字体。
控制序列
本节列出 xterm 命令可用的控制序列。
定义
以下信息显示如何解释本节中的按键顺序。
| 项 | 描述 |
|---|---|
| c | 文字符号 c。 |
| c | 单个(需要的)字符。 |
| P | 单个(通常是可选的)数字参数,由一个或多个数字组成。 |
| P m | 由任意多个单个数字参数组成的多数字参数,由 ;(分号)字符分隔。 |
| P t | 由可打印的字符组成的文本参数。 |
VT100 方式
这些控制序列中大部分是标准 VT102 控制序列,但这里也有一些来自稍后 DEC VT 终端的序列。 不支持的主要的 VT102 功能特征是平滑滚动、双倍大小字符、闪烁字符和 VT52 方式。
有一些附加的控制序列提供 xterm- 从属函数,例如滚动条或窗口大小。 其中功能由 DEC 或 ISO 6429 指定,分配给它的代码在圆括号里给出。 指定字符集的转义码由 ISO 2022 指定;请参阅有关文档获取字符集的论述。
| 控制序列 | 描述 |
|---|---|
| BEL | 响铃 (Ctrl+G) |
| BS | 回退 (Ctrl+H) |
| 制表符 | 水平制表符 (HT) (Ctrl+l) |
| LF | 换行或新起一行 (NL) (Ctrl+J) |
| VT | 垂直制表符 (Ctrl+K),与 LF 相同 |
| FF | 换页或新起一页 (NP) (Ctrl+L),与 LF 相同 |
| CR | 回车符 (Ctrl+M) |
| SO | 移出 (Ctrl + N)-> 切换到 ALternate 字符集: 调用 G1 字符集。 |
| SI | 移入 (Ctrl + O)-> 切换到标准字符集: 调用 G0 字符集 (缺省值)。 |
| ESC # 8 | DEC 屏幕测试 (DCECALN) |
| ESC ( C. | 指定 G0 字符集 (ISO 2022)
|
| ESC ) C | 指定 G1 字符集 (ISO 2022)
|
| ESC * C | 指定 G2 字符集 (ISO 2022)
|
| ESC + C | 指定 G3 字符集 (ISO 2022)
|
| ESC 7 | 保存光标 (DECSC) |
| ESC 8 | 恢复光标 (DECRC) |
| ESC = | 应用程序小键盘 (DECPAM) |
| ESC> | 正常小键盘 (DECNM) |
| ESC D | 索引 (IND) |
| ESC E | 下一行 (NEL) |
| ESC H | 制表符设置 (HTS) |
| ESC M | 逆向索引 (RI) |
| ESC N | G2 字符集的单精度 2 位选择 (SS2):只影响下一个字符。 |
| ESC P | G3 字符集的单精度 2 位选择 (SS2):只影响下一个字符。 |
| ESC O Pt ESC \ | 设备控制字符串 (DCS)。 xterm 没有实现 DCS 功能;Pt 被忽略。 Pt 不需要是可打印字符。 |
| ESC Z | 返回终端标识符 (DECID)。 ESC [ c (DA) 的废弃的格式 |
| ESC [ Ps @ | 插入多个字符中的 P s(空白)字符(缺省值=1)(ICH) |
| ESC [ Ps A | 光标向上 P s 倍数(缺省值=1)(CUU) |
| ESC [ Ps B | 光标向下 P s 倍数(缺省值=1)(CUU) |
| ESC [ Ps C | 光标向前 P s 倍数(缺省值=1)(CUU) |
| 项 | 描述 |
|---|---|
| ESC [ Ps D | 光标向后 P s 倍数(缺省值=1)(CUU) |
| ESC [ Ps ; P H | 光标位置 [行;列](缺省值=1)(CUP) |
| ESC [ Ps J | 清除显示内容 (ED)
|
| ESC [ Ps K | 擦除行 (ED)
|
| ESC [ Ps L | 插入 P s 行(缺省值=1)(IL) |
| ESC [ Ps M | 删除 P s 行(缺省值=1)(DL) |
| ESC [ Ps P | 删除 P s 字符(缺省值=1)(DCH) |
| ESC [ Ps ; Ps ; Ps ; Ps ; Ps T | 启动丘陵鼠跟踪。 参数为 [Func;Startx;Starty;FirstRow;LastRow]。 请参阅 鼠标跟踪 (Mouse Tracking)。 |
| ESC [ Ps c | SendDevice 属性 (DA) 删除 P
s 字符(缺省值=1)(DCH)
|
| ESC [ Ps ; P f | 水平和垂直位置 [行;列](缺省值为 [1;1])(HVP) |
| ESC [ Ps g | 制表符清除 (TBC)
|
| ESC [ Pm h | 设置方式 (SM)
|
| ESC [ Pm l | 复位方式 (RM)
|
| ESC [ Pm m | 字符属性 (SGR)
|
| ESC [ Ps n | 设备状态报告 (DSR)
|
| ESC [ Ps ; Ps r | 设置滚动区域 [顶部;底部](缺省值=窗口整个大小)(DECSTBM) |
| ESC [ Ps x | 请求终端参数 (DECREQTPARM) |
| ESC [? Pm h | DE 专用方式 (DECSET)
|
| ESC [? Pm l | DEC 专用方式复位 (DECRST)
|
| ESC [? Pm r | 恢复 DEC 专用方式值。 该先前保存的 Ps 值被恢复。 Ps 值与 DECSET 相同。 |
| ESC [? Pm s | 保存 DEC 专用方式值。 Ps 值与 DECSET 相同。 |
| ESC]? Ps ; Pt BEL | 设置文本参数
|
| ESC Pt ESC \ | 专用消息 (PM)。 xterm 未实现 PM 功能;Pt 不需要是可打印字符。 |
| ESC _ Pt ESC \ | 应用程序命令 (APC)。 专用消息 (PM)。 xterm 未实现 APC 功能; Pt 被忽略。 Pt 不需要是可打印字符。 |
| ESC c | 完全复位 (RIS) |
| ESC n | 选择 G2 字符集 (LS2) |
| ESC o | 选择 G3 字符集 (LS3) |
| ESC l | 将 G3 字符集作为 GR (LS3R) 调用。 对 xterm 没有 可见的效果。 |
| ESC} | 将 G2 字符集作为 GR (LS2R) 调用。 对 xterm 没有 可见的效果。 |
| ESC | 将 G1 字符集作为 GR (LS1R) 调用。 对 xterm 没有 可见的效果。 |
XTERM 描述限制
AIX®Version 4上DEC.TI文件中的 xterm 终端描述通过使用 SGR 属性提供了下划线模式。 当前未在 AIX V 4上的 XTERM 终端描述中定义 SMUL 和 RMUL 属性。 使用名为 SGR 的更为通用的功能。
tput sgr x y其中 x 是 1 或 0,分别用于打开或关闭突出显示方式,y 是 1 或 0,分别用于打开或关闭下划线方式。 请参阅 "terminfo 文件格式" 一文,以获取有关 SGR 功能的更多详细信息。
tput sgr 0 1 turn off standout; turn on underline
tput sgr 0 0 turn off standout; turn off underline
tput sgr 1 1 turn on standout; turn on underline
tput sgr 1 0 turn on standout; turn off underline鼠标跟踪
VT 小窗口可以设置为在按钮按下时 发送鼠标位置和其他信息。 该方式典型情况下用于编辑器和其他希望使用鼠标的全屏方式应用程序。
有三种互斥方式,每种都通过 DECSET(或 DECRST)转义序列中不同的参数来启用(或禁用)。 xterm 命令生成的所有鼠标跟踪转义序列参数编码 成单个字符的数字参数,如:value+040。 该屏幕坐标系基于 1。
例如, ! 是 1。 屏幕坐标系统是基于 1 的。
X10 兼容性方式在按钮按下时发送一个转义序列,对位置和按下的鼠标按钮进行编码。 该方式是通过指定参数 DECSET 为 9 启用的。 在按钮按下 时,xterm 命令发送以下“6 个字符”。 Cb 是 button-1。 Cx 和 Cy 是按钮按下时鼠标的 x 和 y 坐标。
ESC [ M C bCxCy
正常轨迹方式发送在按钮按下和松开的时候都会发送一个转义序列。 修饰符信息也被发送。 通过指定参数 DECSET 为 1000 可以启用该方式。 在按下或释放按钮时,xterm 命令将发送以下“键序列”:
ESC [ M C bCxCy
C b 的低两位编码按钮信息:0=MB1 按下,1=MB2 按下,2=MB3 按下,3=释放。 高位编码在按钮按下时哪些修改键关闭并将它们加在一起。 4=Shift, 8=Meta, 16=Control. Cx 和 Cy 是鼠标事件的 x 和 y 坐标。 左上角是(1,1)。
鼠标高亮度跟踪向程序通知按钮按下,从程序中得到了一定范围的行,并在该范围内突出显示鼠标覆盖的区域直到按钮释放,然后向程序发送释放时的坐标。 该方式是通过指定参数 DECSET 为 1001 启用的。
ESC [ Ps ; Ps ; Ps ; Ps ; T
参数为 Func、Startx、Starty、FirstRow 和 LastRow。 Func 参数是非零值,用来初始化高亮度跟踪,0(零)则表示放弃。 Startx 和 Starty 参数给出突出显示区域的开始 x 和 y 位置。 结束位置跟踪鼠标轨迹,但不会 在行 FirstRow 之上而且 始终 LastRow 行之上。 (屏幕顶端是行 1。) 当按钮释放时, xterm 命令以两种方法之一报告结束位置:如果开始和结束 坐标都是有效的文本位置,xterm 命令按以下方式报告“结束位置”:
ESC [ t C xCy
如果任一坐标超过行尾, xterm 命令报告 结束位置
,如下所示:
ESC [T CXC伊CXC伊CXC伊
参数为 Startx、Starty、Endx、Endy、Mousex 和 Mousey。 Startx、Starty、Endx 和 Endy 参数 给出该区域的开始和结束字符位置。 Mousex 和 Mousey 参数 给出鼠标在按钮弹起时的位置,它不超过一个字符。
Tektronix 4014 方式
大多数序列是标准 Tektronix 4014 控制序列。 未提供的主要功能是直写和散焦方式。 本文档没有描述在各种不同 Tektronix 绘图方式中用的命令,但描述了开关 方式的命令。