Terminalemulation
Eine Terminalemulation ist ein Computerprogramm, das die Funktion eines Terminals nachbildet. Terminalemulationen können auf dem Personal Computer in einem Fenster oder wie bei einem Terminal die ganze Bildschirmfläche verwendend angezeigt werden.
Die Benutzerschnittstelle ist meistens textorientiert. Durch Escape-Sequenzen kann die Zeichenkodierung umgeschaltet und damit auch grafische Symbole dargestellt werden.
Die Plattform, auf der die Emulation stattfindet, muss also mindestens die Möglichkeit zur Aus- und Eingabe von Zeichen (z. B. ASCII) bieten. Die am häufigsten verwendete Plattform ist eine grafische Benutzeroberfläche. Eine Terminalemulation wird gebraucht, um textorientierte Programme innerhalb einer grafischen Bedienoberfläche verwenden zu können.
Textanwendung ↔ Terminalemulation ↔ grafische Oberfläche shell ↔ xterm ↔ X11
Inhaltsverzeichnis
Architektur
Eine Terminalemulation ermöglicht die Interaktion mit einem textorientierten Programm innerhalb einer grafischen Benutzeroberfläche. Sie macht das Arbeiten mit Programmen möglich, die die Grafikschnittstelle nicht direkt zur Ausgabe benutzen (z. B. weil sie programmiert wurden, als es für die benutzte Hardware noch keine Grafikschnittstelle gab, oder weil es einfacher ist, Ausgaben über die Textschnittstelle abzuwickeln). Dem textorientierten Programm stellt es sich als Text-Terminal dar (daher der Name), und der Grafikschnittstelle als grafikfähiges Programm.
Funktionsweise
Eine Terminalemulation übernimmt dieselbe Aufgabe, die die Hardware eines Terminals und die diesem auf dem Großrechner zugeordnete Software bewerkstelligen. Allerdings ist die Emulation ein normaler Prozess des Betriebssystems, der durch die CPU des PCs ausgeführt wird, statt eines Programms, gespeichert im ROM des Hosts und ausgeführt durch dessen CPU. Dabei wird die Ausgabe eines textorientierten Programms von der Terminalemulation analysiert und in Operationen einer Grafikschnittstelle (z. B. X11) umgesetzt.
Tastatureingaben in das Terminal-Fenster werden dabei an den Prozess geschickt, der innerhalb der Emulation ausgeführt wird. Dabei handelt es sich meistens um einen Kommandozeileninterpreter. Dem Kommandozeileninterpreter wird durch ein Pseudoterminal vorgegaukelt, mit einem Terminal verbunden zu sein, die Master-Seite des Pseudoterminals ist aber mit dem Prozess der Terminalemulation verbunden, statt zum Beispiel mit einer seriellen Schnittstelle.
Beispiele
Programme, die eine lokale Anbindung an den Großrechner voraussetzen:
- xterm, rxvt, aterm, Eterm, wterm, Gnome Terminal, Konsole in der Unix-Welt
- „Extra“ in der Windows-Umgebung zur Emulation von IBM-Terminals
- VTerm und andere in der VAX-Welt
- TeemTalk (erhältlich für Linux, Windows, CE, XPe)
Programme, die für den Fernzugriff gedacht sind:
- HyperTerminal (in älteren Windows-Betriebssystemen enthalten)
- PuTTY (für Windows und Unixartige Systeme)
- Telnet-Clients