如何在Linux中编写文本模式gui? [关闭]

When I write scripts/programs, often I would like to pop up a simple text 'gui' to prompt for input:

debian install screen

How would I do this? For example from Shell, Ruby, Golang or C. I don't even know what this is called and Google isn't reponding to "text thingy from scripts".

(The example is from the Debian installer).

Actually, that is not dialog, but the newt library (there are a few differences in appearance). It is used by anaconda on Red Hat systems. The whiptail program uses the library, however it has no real relationship to anaconda.

Anaconda is mostly in Python; it uses the newt shared library (written in C) from a Python binding.

For learning it... documentation is largely non-existent. You have the source code.

Further reading:

In the past this was known as "Dialog," though as Thomas points out (as the maintainer of Dialog!!) this is no longer the case. This is most likely the Newt library. While you could certainly write something lower level using ncurses, Newt is available in Linux pretty much universally. Dialog can also be installed under Linux. You can read some basic documentation for it here.

Choosing to use this over a curses based approach allows you to focus on what it is you're actually looking to do rather than doing all of the work to build a UI. If, however, you are really looking to build UI elements, ncurses would be the way to go.