1

我在虚拟机上安装了 Ubuntu 12.04 服务器并在其上安装了 OpenSSH 服务器。我有带有whiptail的简单脚本

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

在服务器上,这个脚本正在运行,我看到了信息框。但是在 SSH 会话中我没有输出。

user@ubuntu:~$ ./script
user@ubuntu:~$ ./script
user@ubuntu:~$ 

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

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

4

2 回答 2

1

whiptail 在某些终端上显示信息框似乎有问题(请参阅如何在whiptail 中显示信息框?)。也许您可以尝试使用 --msgbox 来验证您的脚本是否有效

whiptail --title "I am the title" --msgbox "Hi there" 8 45
于 2014-01-11T17:08:46.603 回答
0

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

  • 假设 xterm 的终端描述包括交替屏幕切换(大多数都这样做,因为这是 xterm 和 ncurses 定义它的方式):smcup=\E[?1049h, rmcup=\E[?1049l,
  • 启用交替屏幕切换。
  • 常规终端应用程序smcup在开头发送
  • 鞭尾是传统的...
  • --infobox在备用屏幕中显示
  • 没有更多的事情可做(没有可点击的按钮),所以whiptail 退出
  • 在出去的路上,它发送rmcup,切换回正常屏幕
  • 的输出--infobox丢失了

这与 OP 问题中报告的行为相匹配。如何在whiptail 中显示信息?正在描述相同的问题,以及Ubuntu中的问题。

该问题于2003年首次在对话中得到解决(尽管此后偶尔进行了维护修复)。

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

于 2015-04-17T23:39:14.890 回答