Xterm 并未完全擦除场线

Ken*_*130 7 ssh cygwin xterm aix

我们正在运行带有 Cygwin XServer 的 Windows 客户端,它具有在 AIX Unix 上运行的 bash 脚本应用程序。我们有一个登录脚本,使用 expect ssh 进入服务器,然后使用 xterm 创建客户端。

这工作正常,除了在任何表单屏幕上,在字段更新和______行被删除.后,最后只剩下一个。

我尝试了不同的字体和大小,但无论我做什么,.该行被擦除后都会留下那个。

有任何想法吗?

jjc*_*son 2

期望您可以使用原始 vt100 命令清除屏幕:

puts -nonewline \033\[2J 
flush stdout
Run Code Online (Sandbox Code Playgroud)

这就是我在 stackoverflow 上的问题的解决方案。也许它可以帮助你。

在生成的 ssh 会话上的 Expect 脚本中设置交互“挂钩”的示例可能如下所示:

spawn ssh -Y user@host
#password sequence...
set CTRLA \001
#don't time out
set timeout -1 
interact {
    $CTRLA {
        #clear screen
        puts \033\[2J
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,只有当您按下 Ctrl+A 按键时,您才会发送清除命令。您还可以进行交互,然后在看到屏幕上的某个字段或字符时采取行动。

-o -nobuffer -re {(\[1;14H} {
    #clear screen
    puts \033\[2J
}
Run Code Online (Sandbox Code Playgroud)