Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Text-based user interface
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Under Unix-like systems == [[File:XFdrake.png|thumb|300px|Snapshot of 'XFdrake', a TUI used in [[Mandriva Linux]] to configure the graphical system]] [[File:Btop screenshot.png|thumb|300px|btop - task manager utility for Linux and other unix-like OS]] In [[Unix-like]] operating systems, TUIs are often constructed using the terminal control [[library (computer science)|library]] ''[[curses (programming library)|curses]]'', or ''[[ncurses]]'' (a mostly compatible library), or the alternative ''[[S-Lang]]'' library. The advent of the ''curses'' library with [[Berkeley Software Distribution|Berkeley Unix]] created a portable and stable API for which to write TUIs. The ability to talk to various [[text terminal]] types using the same [[API|interfaces]] led to more widespread use of "visual" Unix programs, which occupied the entire terminal screen instead of using a simple line interface. This can be seen in [[text editor]]s such as [[Vi (text editor)|vi]], [[Email client|mail clients]] such as [[pine (email client)|pine]] or [[mutt (email client)|mutt]], system management tools such as [[System Management Interface Tool|SMIT]], [[SAM (HP-UX)|SAM]], [[FreeBSD]]'s [[Sysinstall]] and [[web browser]]s such as [[lynx (web browser)|lynx]]. Some applications, such as [[w3m]], and older versions of pine and [[Vi (text editor)|vi]] use the less-able [[termcap]] library, performing many of the functions associated with [[curses (programming library)|curses]] within the application. Custom TUI applications based on ''widgets'' can be easily developed using the [[Dialog (software)|dialog]] program (based on [[ncurses]]), or the [[Newt (programming library)|Whiptail]] program (based on [[S-Lang]]). In addition, the rise in popularity of [[Linux]] brought many former DOS users to a Unix-like platform, which has fostered a DOS influence in many TUIs. The program [[minicom]], for example, is modeled after the popular DOS program [[Telix]]. Some other TUI programs, such as the [[Twin (windowing system)|Twin]] desktop, were [[ported]] over. Most Unix-like operating systems (Linux, FreeBSD, etc.) support [[virtual console]]s, typically accessed through a Ctrl-Alt-F key combination. For example, under Linux up to 64 consoles may be accessed (12 via function keys), each displaying in full-screen text mode. The [[free software]] program [[GNU Screen]] provides for managing multiple sessions inside a single TUI, and so can be thought of as being like a [[window manager]] for text-mode and command-line interfaces. [[Tmux]] can also do this. The proprietary [[macOS]] [[text editor]] [[BBEdit]] includes a ''shell worksheet'' function that works as a full-screen shell window. The [[free software|free]] [[Emacs]] text editor can run a shell inside of one of its buffers to provide similar functionality. There are several shell implementations in Emacs, but only <code>ansi-term</code> is suitable for running TUI programs. The other common shell modes, <code>shell</code> and <code>eshell</code> only emulate command lines and TUI programs will complain "Terminal is not fully functional" or display a garbled interface. The [[free software|free]] [[Vim (text editor)|Vim]] and [[Neovim]] text editors have terminal windows (simulating [[xterm]]). The feature is intended for running jobs, parallel builds, or tests, but can also be used (with window splits and tab pages) as a lightweight terminal multiplexer.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)