我有一个 shell 脚本,可以在 RedHat 中安装一个程序。我需要添加一个 GUI 来输入一些参数,使其看起来像一个安装向导。我尝试了 Xdialog、Zenity 和 Yad,但它们都只支持每个窗口单个数据输入;我需要在一个窗口中显示所有步骤。我可以用什么来做到这一点?
答案1
Bash 在设计时并没有真正考虑到这种持久性。尽管如此,您需要使用成熟的 GTK。您可以使用实际的编程语言(C、C++、Python 等)编写 GUI,并在设计时考虑 bash 接口,例如某些 D-Bus 或其他 IPC 机制,以便与正在运行的应用程序进行通信。
或者你可以代码GTK 直接在 Bash 中使用一些绑定,例如http://www.gtk-server.org
编辑:只是一个意见,但第二种选择对我来说有点矫枉过正。
答案2
不是 GUI 解决方案,但它可能对您非常有用。尝试诸如whiptail
或 之类的事情dialog
。它甚至可以显示当前安装的进度,并且所有操作都将在一个控制台窗口中进行。
一些图片。
答案3
答案4
shell脚本不提供完整的UI的原因是UI的响应会很慢,因为shell脚本是由脚本文件而不是二进制文件组成的。解决方案是使用 python(或任何其他语言)创建前端 UI,然后调用其中的脚本。