Terminal emulator
Encyclopedia
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture.
Though typically synonymous with a command line shell
or text terminal, the term terminal covers all remote terminals, including graphical interfaces. A terminal emulator inside a graphical user interface
is often called a terminal window.
A terminal window allows the user access to a text terminal and all its applications such as command line interfaces (CLI) and text user interface
applications. These may be running either on the same machine or on a different one via telnet
, ssh
, or dial-up. On Unix-like
operating systems it is common to have one or more terminal windows connected to the local machine.
Terminals usually support a set of escape sequences for controlling color, cursor
position, etc. Examples include the family of terminal control sequence standards known as ECMA-48, ANSI X3.64 or ISO/IEC 6429.
Early adopters of computer
technology, such as banks, insurance companies, and governments, still make frequent use of terminal emulators. They typically have decades old applications running on mainframe computer
s. The old "dumb" video terminals used to access the mainframe are long since obsolete; however, applications on the mainframe are still in use. Quite often, terminal emulators are the only way a user can access applications running on these older machines.
function, which they may erroneously name "half-duplex" (Half-duplex
is different altogether), or slightly more correctly (albeit strictly still slightly incorrectly) "echoplex" (which is formally an error detection mechanism rather than an input display option). For details of the local echo control mechanisms of terminal emulators, see the main article.
The complexities of line-at-a-time mode are exemplified by the line-at-a-time mode option in the TELNET
protocol. To implement it correctly for the user, the Network Virtual Terminal implementation, provided by the terminal emulator program, must be capable of recognizing and properly dealing with "interrupt" and "abort" events that arrive in the middle of locally editing a line.
-based terminals used with IBM
mainframe computer
s are an example of synchronous terminals. They operate in an essentially "screen-at-a-time" mode (also known as block mode
). Users can make numerous changes to a page, before submitting the updated screen to the remote machine as a single action. This paradigm can be surprising to those used to the more common asynchronous terminal behaviour, though in fact it is conceptually quite similar to the submission of HTTP form
s on the Web
.
Terminal emulators that simulate the original 3270 hardware terminal are available for most operating systems, for use both by those administering systems such as the z9
, as well as those using the corresponding applications such as CICS
.
Other examples of synchronous terminals include the IBM 5250
, and the ICL 7561. The Honeywell Bull VIP7800 and Hewlett-Packard
700/92 terminals also had a block mode.
, VT220
, VT320, IBM 3270/8/9/E
, IBM 5250
, IBM 3179G
, Data General
D211, Hewlett Packard HP700/92, Sperry/Unisys 2000-series UTS60
, Burroughs/Unisys A-series T27/TD830/ET1100, ADDS
ViewPoint, Sun
console, QNX
, AT386, SCO-ANSI, SNI 97801, Televideo
, and Wyse
50/60. Additionally, programs have been developed to emulate terminals which are themselves programs, such as xterm
and assorted console terminals (e.g., for Linux
). Finally, some emulations simply refer to a standard, such as ANSI
. These programs are available on many platforms ranging from DOS
and Unix
to GUI
operating systems such as Windows and Macs, to embedded operating systems found in cellphones and industrial hardware.
Though typically synonymous with a command line shell
Shell (computing)
A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web...
or text terminal, the term terminal covers all remote terminals, including graphical interfaces. A terminal emulator inside a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
is often called a terminal window.
A terminal window allows the user access to a text terminal and all its applications such as command line interfaces (CLI) and text user interface
Text user interface
TUI short for: Text User Interface or Textual User Interface , is a retronym that was coined sometime after the invention of graphical user interfaces, to distinguish them from text-based user interfaces...
applications. These may be running either on the same machine or on a different one via telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...
, ssh
Secure Shell
Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...
, or dial-up. On Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
operating systems it is common to have one or more terminal windows connected to the local machine.
Terminals usually support a set of escape sequences for controlling color, cursor
Cursor (computers)
In computing, a cursor is an indicator used to show the position on a computer monitor or other display device that will respond to input from a text input or pointing device. The flashing text cursor may be referred to as a caret in some cases...
position, etc. Examples include the family of terminal control sequence standards known as ECMA-48, ANSI X3.64 or ISO/IEC 6429.
Early adopters of computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
technology, such as banks, insurance companies, and governments, still make frequent use of terminal emulators. They typically have decades old applications running on mainframe computer
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...
s. The old "dumb" video terminals used to access the mainframe are long since obsolete; however, applications on the mainframe are still in use. Quite often, terminal emulators are the only way a user can access applications running on these older machines.
Local echo
Terminal emulators may implement a local echoEcho (computing)
In computing, echo is a command in DOS, OS/2, Microsoft Windows, Singularity, Unix and Unix-like operating systems that places a string on the computer terminal...
function, which they may erroneously name "half-duplex" (Half-duplex
Duplex (telecommunications)
A duplex communication system is a system composed of two connected parties or devices that can communicate with one another in both directions. The term multiplexing is used when describing communication between more than two parties or devices....
is different altogether), or slightly more correctly (albeit strictly still slightly incorrectly) "echoplex" (which is formally an error detection mechanism rather than an input display option). For details of the local echo control mechanisms of terminal emulators, see the main article.
Line-at-a-time mode/Local editing
Terminal emulators may implement local editing, also known as "line-at-a-time mode". This is also mistakenly referred to as "half-duplex". In this mode, the terminal emulator only sends complete lines of input to the host system. The user enters and edits a line, but it is held locally within the terminal emulator as it is being edited and not transmitted until the user signals (usually with the key on the keyboard or a "send" button of some sort on the user interface) the completion of the line. At that point the entire line is transmitted. Of course, line-at-a-time mode implies local echo, since otherwise the user will not be able to see the line as it is being edited and constructed. However, line-at-a-time mode is independent of echo mode and does not require local echo. When entering a password, for example, line-at-a-time entry with local editing is possible, but local echo should be turned off (otherwise the password would be displayed).The complexities of line-at-a-time mode are exemplified by the line-at-a-time mode option in the TELNET
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...
protocol. To implement it correctly for the user, the Network Virtual Terminal implementation, provided by the terminal emulator program, must be capable of recognizing and properly dealing with "interrupt" and "abort" events that arrive in the middle of locally editing a line.
Synchronous terminals
In asychronous terminals data can flow in any direction at any time. In synchronous terminals a protocol controls who may send data when. The IBM 3270IBM 3270
The IBM 3270 is a class of block oriented terminals made by IBM since 1972 normally used to communicate with IBM mainframes. As such, it was the successor to the IBM 2260 display terminal. Due to the text colour on the original models, these terminals are informally known as green screen terminals...
-based terminals used with IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
mainframe computer
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...
s are an example of synchronous terminals. They operate in an essentially "screen-at-a-time" mode (also known as block mode
Block-oriented terminal
A block-oriented terminal is a type of computer terminal that communicates with its host in blocks of data, usually chunks of text, as opposed to a character-oriented terminal that communicates with its host one character at a time...
). Users can make numerous changes to a page, before submitting the updated screen to the remote machine as a single action. This paradigm can be surprising to those used to the more common asynchronous terminal behaviour, though in fact it is conceptually quite similar to the submission of HTTP form
Form (web)
A webform on a web page allows a user to enter data that is sent to a server for processing. Webforms resemble paper or database forms because internet users fill out the forms using checkboxes, radio buttons, or text fields...
s on the Web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
.
Terminal emulators that simulate the original 3270 hardware terminal are available for most operating systems, for use both by those administering systems such as the z9
System z9
IBM System z9 is a line of IBM mainframe. It was announced on July 25, 2005 and the first models were available on September 16, 2005. The System z9 also marks the end of the previously used eServer zSeries naming convention, and it is the last z/Architecture 1 machine.- Background :System z9 is a...
, as well as those using the corresponding applications such as CICS
CICS
Customer Information Control System is a transaction server that runs primarily on IBM mainframe systems under z/OS and z/VSE.CICS is a transaction manager designed for rapid, high-volume online processing. This processing is mostly interactive , but background transactions are possible...
.
Other examples of synchronous terminals include the IBM 5250
IBM 5250
IBM 5250 was originally a family of terminal devices sold with the IBM System/34 minicomputer systems. One model was the IBM 5251-11. It also connected to the later System/36, System/38 and AS/400 systems.- Historical origins :...
, and the ICL 7561. The Honeywell Bull VIP7800 and Hewlett-Packard
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...
700/92 terminals also had a block mode.
Examples of terminals emulated
Many terminal emulators have been developed for terminals such as VT100VT100
The VT100 is a video terminal that was made by Digital Equipment Corporation . Its detailed attributes became the de facto standard for terminal emulators.-History:...
, VT220
VT220
The VT220 was a terminal produced by Digital Equipment Corporation from 1983 to 1987.-Hardware:The VT220 improved on the earlier VT100 series of terminals with a redesigned keyboard, much smaller physical packaging, and a much faster microprocessor...
, VT320, IBM 3270/8/9/E
IBM 3270
The IBM 3270 is a class of block oriented terminals made by IBM since 1972 normally used to communicate with IBM mainframes. As such, it was the successor to the IBM 2260 display terminal. Due to the text colour on the original models, these terminals are informally known as green screen terminals...
, IBM 5250
IBM 5250
IBM 5250 was originally a family of terminal devices sold with the IBM System/34 minicomputer systems. One model was the IBM 5251-11. It also connected to the later System/36, System/38 and AS/400 systems.- Historical origins :...
, IBM 3179G
IBM 3179G
The IBM 3179G is an IBM mainframe computer terminal providing 80×24 or 80×32 characters plus graphics.3179-G terminals combine text and graphics as separate layers on the screen. Although the text and graphics appear combined on the screen, the text layer actually sits over the graphics layer...
, Data General
Data General
Data General was one of the first minicomputer firms from the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation. Their first product, the Data General Nova, was a 16-bit minicomputer...
D211, Hewlett Packard HP700/92, Sperry/Unisys 2000-series UTS60
Uniscope
A Uniscope was a class of terminals made by Sperry Rand Corporation, Univac Division, and successors since 1964 that were normally used to communicate with Univac mainframes. As such, it was the successor to various models of Teletype. Due to the text color on the original models, these terminals...
, Burroughs/Unisys A-series T27/TD830/ET1100, ADDS
Applied Digital Data Systems
Applied Digital Data Systems, or ADDS, was a leading supplier of high-quality video display computer terminals, founded in 1969 by Leeam Lowin and William J. Catacosinos. Lowin simultaneously founded Solid State Data Sciences...
ViewPoint, Sun
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
console, QNX
QNX
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based...
, AT386, SCO-ANSI, SNI 97801, Televideo
Televideo
TeleVideo Corporation is a U.S. company that achieved its peak of success in the early 1980s producing computer terminals. TeleVideo was founded in 1979 by K. Philip Hwang, a Utah State University graduate born in North Korea who had run a business producing CRT monitors for arcade games since 1975...
, and Wyse
Wyse
Wyse Technology is an American company that is a leading manufacturer in Cloud Client Computing. Products include thin client hardware and software as well as desktop virtualization. Other products include cloud software-supporting desktop computers, laptops, and mobile devices...
50/60. Additionally, programs have been developed to emulate terminals which are themselves programs, such as xterm
Xterm
In computing, xterm is the standard terminal emulator for the X Window System. A user can have many different invocations of xterm running at once on the same display, each of which provides independent input/output for the process running in it .xterm originated prior to the X Window System...
and assorted console terminals (e.g., for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
). Finally, some emulations simply refer to a standard, such as ANSI
ANSI escape code
ANSI escape sequences are characters embedded in the text used to control formatting, color, and other output options on video text terminals. Almost all terminal emulators designed to show text output from a remote computer, and to show text output from local software, interpret at least some of...
. These programs are available on many platforms ranging from DOS
DOS
DOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...
and Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
to GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
operating systems such as Windows and Macs, to embedded operating systems found in cellphones and industrial hardware.
See also
- Binary Synchronous CommunicationsBinary Synchronous CommunicationsBinary Synchronous Communication is an IBM link protocol, announced in 1967 after the introduction of System/360. It replaced the synchronous-transmit-receive protocol used with second generation computers. The intent was that common link management rules could be used with three different...
- List of terminal emulators
- Online service providerOnline service providerAn online service provider can for example be an internet service provider, email provider, news provider , entertainment provider , search, e-shopping site , e-finance or e-banking site, e-health site, e-government site, Wikipedia, Usenet...
- Serial interface
External links
- Terminal Window Definition by The Linux Information Project (LINFO)
- The Simtel MS-DOS collection of Terminal Programs