Whiptail或对话框不能通过ssh工作

问题描述:

我在虚拟机上安装了Ubuntu 12.04服务器,并在其上安装了OpenSSH服务器。我有简单的脚本与whiptailWhiptail或对话框不能通过ssh工作

#!/bin/sh 
whiptail --title "Example dialog" --infobox "TTTTTT" 8 78 

在服务器上此脚本工作,我看到信息框。但在SSH会话中,我没有输出。

[email protected]:~$ ./script 
[email protected]:~$ ./script 
[email protected]:~$ 

使用对话框的Bash脚本在服务器上不起作用。

我如何创建在SSH会话中工作的可视菜单脚本?

whiptail似乎是在某些终端上显示信息框的车(请参阅How to display infobox in whiptail?)。也许你可以尝试--msgbox而是以验证您脚本工作

whiptail --title "I am the title" --msgbox "Hi there" 8 45 

运行中的xterm whiptail --infobox可以做到这一点,这会导致不可见显示:

  • 假设的xterm终端描述包括备用 - 屏幕切换(大多数情况下,这是xterm和ncurses定义它的方式):smcup=\E[?1049h, rmcup=\E[?1049l,
  • 备用屏幕切换已启用。
  • 传统终端应用之初
  • 鞭尾是传统的送smcup ...
  • 它在备用屏幕显示--infobox
  • 没有什么更多的事情要做(没有按钮点击),所以鞭尾退出
  • 的出路,它发送rmcup,切换回正常画面
  • --infobox输出丢失

这与OP问题中报告的行为相符。 How to display infobox in whiptail?中提到的Red Hat报告正在描述相同的问题,以及Ubuntu中的问题。

该问题首先在2003的对话框中得到了解决(尽管从那以后偶尔有维护修复)。

其他问题中使用的解决方案是使用dialog(实际的程序,而不是OP的问题中提到的通用“对话框”)。