我有使用对话框命令的安装脚本。它们用于准备嵌入式服务器。我想在对话框脚本运行时在边缘显示图片。问题是,该对话框的设计有效地“刷新”了屏幕上的内容,从而删除了帧缓冲区上绘制的内容。
我认为可能有一种方法可以在运行这样的脚本时显示图片,因为例如某些发行版在启动时显示一些燕尾服企鹅,同时在它们下面显示启动日志。所以类似的东西会很好:顶部有一张图片,下面有一个可用的对话框。
但我不希望新的嵌入式服务器与现有的不同,并且我不想更改现有的服务器,因此内核重新编译或安装新软件是不可能的。
答案1
这听起来像是切换到/从备用屏幕。您可以使用以下命令抑制它--keep-tite
选项:
当构建时
ncurses
,对话通常检查它是否正在运行xterm
,并且在这种情况下尝试抑制初始化字符串,这将使其切换到备用屏幕。在多次运行对话框的脚本中,在正常屏幕和备用屏幕之间切换会在视觉上分散注意力。使用此选项允许对话使用这些初始化字符串。
或者,您可以使用LINES
询问 ncurses 的环境变量不是在屏幕的下方几行写入文本(通过告诉屏幕的行数少于实际存在的行数)。这将阻止它写入文本在这些方面,尽管清除操作对图像的影响是您必须尝试的东西,看看它是否有用(因为帧缓冲区功能大多没有记录)。环境COLUMNS
似乎也很有用,但在实践中效果不佳,因为 ncurses 使用文本换行,如果值不正确,则看起来不太好。