# Zeichenorientierte Benutzerschnittstelle

Als Zeichenorientierte Benutzerschnittstelle werden Schnittstellen bezeichnet, die im Textmodus ausgeführt werden, aber den Bildschirm dennoch „flächig“ verwenden und nicht zeilenweise.
Der Begriff dient zur Abgrenzung einerseits von der zeilenweise arbeitenden Befehlszeilenschnittstelle (englisch command-line interface, CLI), andererseits von der grafischen Benutzerschnittstelle (englisch graphical user interface, GUI). Das Wort ist ein Retronym, welches nach dem Aufkommen der grafischen Benutzeroberflächen geprägt wurde. Im Englischen findet sich die Abkürzung TUI für englisch text-based user interface, die aber auch englisch tangible user interface bezeichnen kann.

## Implementierung

Der Programmierer hat dabei nur die (typischerweise 256 verschiedenen) Zeichen eines einzigen Zeichensatzes zur Verfügung. Viele neuere TUIs haben seit Ende der 1980er Jahre versucht, Elemente der GUIs zu imitieren, indem mit Hilfe von Rahmen- und anderen Sonderzeichen Rahmen für Fenster oder andere Elemente wie Menüs, Checkboxen, Buttons etc. nachgebildet werden. Die meisten dieser neueren TUIs können mit der Maus bedient werden, allerdings sind fast immer alle Funktionen auch über die Tastatur erreichbar.
Eingabemasken bei Großrechnern haben häufig auch zeichenorientierte Benutzerschnittstellen. Das Protokoll tn3270 sendet – im Gegensatz zum zeichenorientierten Telnet – komplette Eingabemasken an ein Terminal oder eine Terminalemulation, die dort ausgefüllt und über eine Eingabetaste an den Großrechner zurückgeschickt werden.
Um 1990 entwickelte Borland Turbo Vision als DOS-basiertes TUI-Framework, 1991 lieferte Microsoft Visual Basic für DOS aus. Unter Unix-artigen Betriebssystemen werden zeichenorientierte Benutzerschnittstellen oft mit curses respektive ncurses erstellt. Das Programm dialog stellt viele Fähigkeiten von ncurses bereit, die aber ohne Programmierkenntnisse genutzt werden können.
Rebecca Ruji Chapnik in einem Vergleich textbasierter Audioplayer:
    It looks and works much like a graphical user interface, except it’s all ASCII—or perhaps ANSI, depending on your terminal. [...] this article, however, focuses on TUI rather than CLI applications. For many text-mode programs, Ncurses is the window (no pun intended) to usability.

## Beispiele

* Audioplayer: cmus, mocp
* Chat: BitchX, irssi, ircII, WeeChat
* Dateimanager: FAR Manager, Midnight Commander, Norton Commander, ranger
* Editoren: emacs, nano, vi/vim, MS-DOS-Editor
* E-Mail: mutt, pine/alpine
* HTML-Browser: lynx, links mit Nachfolgern, w3m
* Kalender: calcurse, wyrd
* Packagemanager: aptitude, YaST
* Textverarbeitungen: Vim, WordStar
* Entwicklungsumgebung: Turbo Pascal
* Spiele: Nethack, Snake, Tetris
* Systemprogramme: fdisk-Variationen, Konfigurationsoption menuconfig für den Linux-Kernel (die per make menuconfig aufgerufen wird), partimage, top/htop
* Sonstige: newsbeuter
Des Weiteren nutzen die meisten Bootloader und BIOS-Setup-Programme zeichenorientierte Benutzerschnittstellen. Auch bei vielen Installationsroutinen von Betriebssystemen handelt es sich um TUIs.
* BIOS-Setup eines Award-BIOS auf einem IBM-PC-kompatiblen Computer
* Beispiel für eine DOS-Anwendung mit zeichenorientierter Benutzerschnittstelle
* Borland Turbo-Pascal ist eine bekannte IDE mit zeichenorientierter Benutzerschnittstelle
* Der Formendesigner in Visual Basic für MS-DOS zum Designen von Dialogboxen
* aptitude ist ein TUI-Frontend für das Advanced Packaging Tool unter Debian
* Festlegung der Startreihenfolge im UEFI-„BIOS-Setup“ auf einem ThinkPad T470