【问题标题】:Whiptail or dialog don't working by sshWhiptail 或对话框不能通过 ssh 工作
【发布时间】:2015-04-18 08:12:42
【问题描述】:

我在虚拟机上安装了 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 会话中工作的可视菜单脚本?

【问题讨论】:

    标签: bash ssh dialog whiptail


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      这符合 OP 问题中报告的行为。 How to display infobox in whiptail? 中提到的Red Hat 报告描述了相同的问题,Ubuntu 中的问题也是如此。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多