Computer terminal
Encyclopedia
A computer terminal is an electronic or electromechanical hardware
device that is used for entering data into, and displaying data from, a computer
or a computing
system. Early terminals were inexpensive devices but very slow compared to punched card
s or paper tape for input, but as the technology improved and video displays were introduced, terminals pushed these older forms of interaction from the industry. A related development was timesharing systems, which evolved in parallel and made up for any inefficiencies of the user's typing ability with the ability to support multiple users on the same machine, each at their own terminal.
The function of a terminal is confined to display and input of data; a device with significant local programmable data processing capability may be called a "smart terminal" or fat client
. A terminal that depends on the host computer for its processing power is called a dumb terminal or thin client
. A personal computer can run software that emulates the function of a terminal, sometimes allowing concurrent use of local programs and access to a distant terminal host system.
s or teletypewriters (TeleTYpewriter, TTY), such as the Teletype
Model 33 ASR, originally used for telegraphy
or the Friden Flexowriter
. Later printing terminals such as the DECwriter
were developed. However printing terminals were limited by the speed at which paper could be printed, and for interactive use the paper record was unnecessary.
By the early 1970s, many in the computer industry realized that an affordable video data entry terminal could supplant the ubiquitous punched card
s and permit new uses for computers that would be more interactive. The problem was that the amount of memory needed to store the information on a page of text was comparable to the memory in low end minicomputer
s then in use. Displaying the information at video speeds was also a challenge and the necessary control logic took up a rack worth of pre-integrated circuit
electronics. One company announced plans to build a video terminal for $15,000 and attracted a large backlog of orders, but folded when their engineering plans, which included fabricating their own ICs, proved too ambitious. Another approach involved the use of the storage tube
, a specialized CRT developed by Tektronix
that retained information written on it without the need to refresh.
The Datapoint 3300
from Computer Terminal Corporation
was announced in 1967 and shipped in 1969, making it one of the earliest stand-alone display-based terminals. It solved the memory space issue mentioned above by using a digital shift-register design, and using only 72 columns
rather than the later more common choice of 80.
Early video computer displays were sometimes nicknamed "Glass TTYs" and used individual logic gates, with no CPU
. One of the motivations for development of the microprocessor
was to simplify and reduce the electronics required in a terminal. Most terminals were connected to mainframe computer
s and often had a green or amber screen. Typically terminals communicate with the computer via a serial port
, often using the RS-232
serial interface. IBM
systems communicated over a coaxial cable
using IBM's SNA
protocol. In fact, the instruction design for the Intel 8008
was originally conceived at Computer Terminal Corporation
as the processor for the Datapoint 2200
.
Later, so-called "intelligent" terminals were introduced, such as the IBM 3270
, and the VT52
and VT100
made by DEC
, all of which are still widely emulated in software. These were called "intelligent" because they had the capability of interpreting escape sequences to position the cursor
and control the display. Some other notable computer terminal types are the various Wyse
models (whose Wyse 60 was a best-seller—many are still in use), and the Tektronix 4014
.
During the late 1970s and early 1980s, there were dozens of manufacturers of terminals including DEC
, Wyse
, Televideo
, Hewlett Packard, IBM
, Lear-Siegler
and Heath
, many of which had incompatible command sequences.
While early IBM PC
s had single color green screens, these screens were not terminals. The screen of a PC did not contain any character generation hardware; all video signals and video formatting were generated by the video display card in the PC. With suitable terminal software PCs could, however, emulate a terminal, if connected to a mainframe computer. Eventually microprocessor-based personal computers greatly reduced the market demand for terminals. Today, most PC telnet
clients provide emulation of the most common terminal—the DEC VT100
.
. When such devices use a video
display such as a cathode-ray tube, they are called a "video display unit" or "visual display unit" (VDU) or "video display terminal" (VDT).
Originally text terminals were electronic computer terminals connected to computers by a serial port
, but later computers have built-in system console
s, and terminal emulator
programs that work in a graphical desktop environment
. Graphical displays have not eradicated the text terminal as it is convenient for computer programmers and appropriate for command-line interface
s and text user interface
s. Most programming languages support standard streams
for inputting and printing text, and it is simple to connect the streams to a text terminal.
is a text terminal used to operate a computer. Modern computers have a built-in keyboard and display for the console. Some Unix-like
operating systems such as Linux
, FreeBSD
and Mac OS X
have virtual consoles to provide several text terminals on a single computer.
A terminal emulator
is a computer program in a graphical windowing system
that lets the user operate a text terminal in a window. This lets applications for text terminals run under a modern graphical user interface
. Popular terminal emulators include xterm
and rxvt
.
There are also specialized terminal emulators such as those used with modems. PuTTY
is a terminal emulator and ssh
client.
, which prompts for commands from the user and executes each command after a press of Enter. This includes Unix shell
s and some interactive programming
environments. In a shell, most of the commands are small applications themselves.
Another important application type is that of the text editor
. A text editor occupies the full area of display, displays one or more text documents, and allows the user to edit the documents. The text editor has, for many uses, been replaced by the word processor
, which usually provides rich formatting features that the text editor lacks. The first word processors used text to communicate the structure of the document, but later word processors operate in a graphical environment and provide a WYSIWYG
simulation of the formatted output.
Programs such as Telix
and Minicom control a modem
and the local terminal to let the user interact with remote servers. On the Internet
, telnet
and ssh
work similarly.
operating systems, there are several character special files that correspond to available text terminals.
For other operations, there are special escape sequence
s, control character
s and
s that a program can use, most easily via a library such as ncurses
. For more complex operations, the programs can use terminal specific ioctl
system calls.
systems typically buffer
the input text until the Enter
key is pressed, so the application receives a ready string of text. In this mode, the application need not know much about the terminal.
For many interactive applications this is not sufficient. One of the common enhancements is command line editing (assisted with such libraries as readline); it also may give access to command history. This is very helpful for various interactive command line interpreters.
Even more advanced interactivity is provided with full-screen applications. Those applications completely control the screen layout; also they respond to key-pressing immediately. This mode is very useful for text editor
s, file manager
s and web browser
s. In addition, such programs control the color and brightness of text on the screen, and decorate it with underline, blinking and special characters (e.g. box drawing characters
).
To achieve all this, the application must deal not only with plain text strings, but also with control character
s and escape sequence
s, which allow to move cursor
to an arbitrary position, to clear portions of the screen, change colors and display special characters — and also respond to function key
s.
The great problem here is that there are so many different terminals and terminal emulator
s, each with its own set of escape sequence
s. In order to overcome this, special libraries
(such as curses
) have been created, together with terminal description databases, such as Termcap
and Terminfo
.
In recent years, the general switching of users to GUI has lessened the attention paid to terminal-handling libraries and to terminal emulation, and almost stalled the debugging efforts.
In the context of traditional computer terminals that communicate over a serial RS-232
connection, dumb terminals are those that can interpret a limited number of control codes (CR
, LF, etc.) but do not have the ability to process special escape sequence
s that perform functions such as clearing a line, clearing the screen, or controlling cursor
position. In this context dumb terminals are sometimes dubbed glass Teletypes, for they essentially have the same limited functionality as does a mechanical Teletype
. This type of dumb terminal is still supported on modern Unix-like
systems by setting the environment variable
TERM to dumb. Smart or intelligent terminals are those that also have the ability to process escape sequences, in particular the VT52
, VT100
or ANSI escape sequences
.
In the broader context that includes all forms of keyboard/screen computer communication devices, including personal computers, diskless workstation
s, network computer
s, thin client
s, and X terminal
s, the term dumb terminal is sometimes used to refer to any type of traditional computer terminal that communicates serially over a RS-232
connection that does not locally process data or execute user programs.
The term dumb terminal sometimes also refers to public computer terminals that are limited to monochrome text-only capabilities, or to terminals that transmit each character as it is typed rather than waiting until it is polled by a host computer.
terminals, and raster mode
.
A vector-mode display directly draws lines on the face of a cathode-ray tube
under control of the host computer system. The lines are continuously formed, but since the speed of electronics is limited, the number of concurrent lines that can be displayed at one time is limited. Vector-mode displays were historically important but are no longer used.
Practically all modern graphic displays are raster-mode, descended from the picture scanning techniques used for television
, in which the visual elements are a rectangular array of pixel
s. Since the raster image is only perceptible to the human eye as a whole for a very short time, the raster must be refreshed many times per second to give the appearance of a persistent display. The electronic demands of refreshing display memory meant that graphic terminals were developed much later than text terminals, and initially cost much more.
Most terminals today are graphical - that is, they can show images on the screen. The modern term for graphical terminal is "thin client
". A thin client typically uses a protocol like X11
for Unix
-terminals, or RDP
for Microsoft Windows. The bandwidth needed depends on the protocol used, the resolution, and the color depth
.
Modern graphic terminals allow display of images in color, and of text in varying sizes, colors, and font
s (type faces).
this suffered from being run as a closed standard: non-members were unable to obtain even minimal information and there was no realistic way a small company or independent developer could join the consortium. Possibly because of this the standard disappeared without trace.
, few genuine hardware terminals are used to interface with computers today. Using the monitor
and keyboard
, modern operating systems like Linux
and the BSD derivatives feature virtual consoles, which are mostly independent from the hardware used.
When using a graphical user interface
(or GUI) like the X Window System
, one's display is typically occupied by a collection of windows associated with various applications, rather than a single stream of text associated with a single process. In this case, one may use a terminal emulator
application within the windowing environment. This arrangement permits terminal-like interaction with the computer (for running a command line interpreter, for example) without the need for a physical terminal device; it can even allow the running of multiple terminal emulators on the same device.
Computer hardware
Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...
device that is used for entering data into, and displaying data from, a 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...
or a computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...
system. Early terminals were inexpensive devices but very slow compared to punched card
Punched card
A punched card, punch card, IBM card, or Hollerith card is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions...
s or paper tape for input, but as the technology improved and video displays were introduced, terminals pushed these older forms of interaction from the industry. A related development was timesharing systems, which evolved in parallel and made up for any inefficiencies of the user's typing ability with the ability to support multiple users on the same machine, each at their own terminal.
The function of a terminal is confined to display and input of data; a device with significant local programmable data processing capability may be called a "smart terminal" or fat client
Fat client
A fat client is a computer in client–server architecture or networks that typically provides rich functionality independent of the central server...
. A terminal that depends on the host computer for its processing power is called a dumb terminal or thin client
Thin client
A thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...
. A personal computer can run software that emulates the function of a terminal, sometimes allowing concurrent use of local programs and access to a distant terminal host system.
Historical
Early user terminals connected to computers were electromechanical teleprinterTeleprinter
A teleprinter is a electromechanical typewriter that can be used to communicate typed messages from point to point and point to multipoint over a variety of communication channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the...
s or teletypewriters (TeleTYpewriter, TTY), such as the Teletype
Teletype Corporation
The Teletype Corporation, a part of American Telephone and Telegraph Company's Western Electric manufacturing arm since 1930, came into being in 1928 when the Morkrum-Kleinschmidt Company changed its name to the name of its trademark equipment...
Model 33 ASR, originally used for telegraphy
Telegraphy
Telegraphy is the long-distance transmission of messages via some form of signalling technology. Telegraphy requires messages to be converted to a code which is known to both sender and receiver...
or the Friden Flexowriter
Friden Flexowriter
The Friden Flexowriter was a teleprinter, a heavy duty electric typewriter capable of being driven not only by a human typing, but also automatically by several methods including direct attachment to a computer and by use of paper tape....
. Later printing terminals such as the DECwriter
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
were developed. However printing terminals were limited by the speed at which paper could be printed, and for interactive use the paper record was unnecessary.
By the early 1970s, many in the computer industry realized that an affordable video data entry terminal could supplant the ubiquitous punched card
Punched card
A punched card, punch card, IBM card, or Hollerith card is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions...
s and permit new uses for computers that would be more interactive. The problem was that the amount of memory needed to store the information on a page of text was comparable to the memory in low end minicomputer
Minicomputer
A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems...
s then in use. Displaying the information at video speeds was also a challenge and the necessary control logic took up a rack worth of pre-integrated circuit
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...
electronics. One company announced plans to build a video terminal for $15,000 and attracted a large backlog of orders, but folded when their engineering plans, which included fabricating their own ICs, proved too ambitious. Another approach involved the use of the storage tube
Storage tube
Mostly obsolete, a storage tube is a special monochromatic CRT whose screen has a kind of 'memory' : when a portion of the screen is illuminated by the CRT's electron gun, it stays lit until a screen erase command is given...
, a specialized CRT developed by Tektronix
Tektronix
Tektronix, Inc. is an American company best known for its test and measurement equipment such as oscilloscopes, logic analyzers, and video and mobile test protocol equipment. In November 2007, Tektronix became a subsidiary of Danaher Corporation....
that retained information written on it without the need to refresh.
The Datapoint 3300
Datapoint 3300
The DataPoint 3300 was the first computer terminal manufactured by the Computer Terminal Corporation , announced in 1967 and shipping in 1969...
from Computer Terminal Corporation
Datapoint
Datapoint Corporation, originally known as Computer Terminal Corporation , was a computer company based in San Antonio, Texas, United States. Founded in 1967 by Phil Ray and Gus Roche, its first products were, as the company's initial name suggests, computer terminals...
was announced in 1967 and shipped in 1969, making it one of the earliest stand-alone display-based terminals. It solved the memory space issue mentioned above by using a digital shift-register design, and using only 72 columns
Characters per line
In typography and computing characters per line or terminal width refers to the maximal number of monospaced characters that may appear on a single line...
rather than the later more common choice of 80.
Early video computer displays were sometimes nicknamed "Glass TTYs" and used individual logic gates, with no CPU
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
. One of the motivations for development of the microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...
was to simplify and reduce the electronics required in a terminal. Most terminals were connected to 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 and often had a green or amber screen. Typically terminals communicate with the computer via a serial port
Serial port
In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time...
, often using the RS-232
RS-232
In telecommunications, RS-232 is the traditional name for a series of standards for serial binary single-ended data and control signals connecting between a DTE and a DCE . It is commonly used in computer serial ports...
serial interface. 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...
systems communicated over a coaxial cable
Coaxial cable
Coaxial cable, or coax, has an inner conductor surrounded by a flexible, tubular insulating layer, surrounded by a tubular conducting shield. The term coaxial comes from the inner conductor and the outer shield sharing the same geometric axis...
using IBM's SNA
Systems Network Architecture
Systems Network Architecture is IBM's proprietary networking architecture created in 1974. It is a complete protocol stack for interconnecting computers and their resources. SNA describes the protocol and is, in itself, not actually a program...
protocol. In fact, the instruction design for the Intel 8008
Intel 8008
The Intel 8008 was an early byte-oriented microprocessor designed and manufactured by Intel and introduced in April 1972. It was an 8-bit CPU with an external 14-bit address bus that could address 16KB of memory...
was originally conceived at Computer Terminal Corporation
Datapoint
Datapoint Corporation, originally known as Computer Terminal Corporation , was a computer company based in San Antonio, Texas, United States. Founded in 1967 by Phil Ray and Gus Roche, its first products were, as the company's initial name suggests, computer terminals...
as the processor for the Datapoint 2200
Datapoint 2200
The Datapoint 2200 was a mass-produced programmable terminal, designed by Phil Ray and Gus Roche, announced by Computer Terminal Corporation in June, 1970...
.
Later, so-called "intelligent" terminals were introduced, such as the IBM 3270
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...
, and the VT52
VT52
The VT52 was a CRT-based computer terminal produced by Digital Equipment Corporation introduced in September, 1975 . It provided a screen of 24 rows and 80 columns of text and supported all 95 ASCII characters as well as 32 graphics characters. It supported asynchronous communication at baud rates...
and VT100
VT100
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:...
made by DEC
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
, all of which are still widely emulated in software. These were called "intelligent" because they had the capability of interpreting escape sequences to position the 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...
and control the display. Some other notable computer terminal types are the various 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...
models (whose Wyse 60 was a best-seller—many are still in use), and the Tektronix 4014
Tektronix 4014
The Tektronix 4000 series was a family of text and graphics computer terminals based on the company's storage tube technology. No additional electronics were needed to maintain the display, so the 4000 series were less expensive than earlier graphics terminals and became widely used in the CAD...
.
During the late 1970s and early 1980s, there were dozens of manufacturers of terminals including DEC
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
, 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...
, 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...
, Hewlett Packard, 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...
, Lear-Siegler
ADM-3A
The ADM-3A was one of the first computer terminals manufactured by Lear Siegler, first produced in 1975. It had a 12 inch screen displaying 12 or 24 lines of 80 characters.- Details :Originally priced at $1195, a DIY kit later sold for $995...
and Heath
Heathkit
Heathkits were products of the Heath Company, Benton Harbor, Michigan. Their products included electronic test equipment, high fidelity home audio equipment, television receivers, amateur radio equipment, electronic ignition conversion modules for early model cars with point style ignitions, and...
, many of which had incompatible command sequences.
While early IBM PC
IBM PC
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...
s had single color green screens, these screens were not terminals. The screen of a PC did not contain any character generation hardware; all video signals and video formatting were generated by the video display card in the PC. With suitable terminal software PCs could, however, emulate a terminal, if connected to a mainframe computer. Eventually microprocessor-based personal computers greatly reduced the market demand for terminals. Today, most PC 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...
clients provide emulation of the most common terminal—the DEC VT100
VT100
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:...
.
Text terminals
A text terminal, or often just terminal (sometimes text console) is a serial computer interface for text entry and display. Information is presented as an array of pre-selected formed charactersText mode
Text mode is a kind of computer display mode in which the content of the screen is internally represented in terms of characters rather than individual pixels. Typically, the screen consists of a uniform rectangular grid of character cells, each of which contains one of the characters of a...
. When such devices use a video
Video
Video is the technology of electronically capturing, recording, processing, storing, transmitting, and reconstructing a sequence of still images representing scenes in motion.- History :...
display such as a cathode-ray tube, they are called a "video display unit" or "visual display unit" (VDU) or "video display terminal" (VDT).
Originally text terminals were electronic computer terminals connected to computers by a serial port
Serial port
In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time...
, but later computers have built-in system console
System console
The system console, root console or simply console is the text entry and display device for system administration messages, particularly those from the BIOS or boot loader, the kernel, from the init system and from the system logger...
s, and terminal emulator
Terminal emulator
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....
programs that work in a graphical desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...
. Graphical displays have not eradicated the text terminal as it is convenient for computer programmers and appropriate for command-line interface
Command-line interface
A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks...
s 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...
s. Most programming languages support standard streams
Standard streams
In Unix and Unix-like operating systems , as well as certain programming language interfaces, the standard streams are preconnected input and output channels between a computer program and its environment when it begins execution...
for inputting and printing text, and it is simple to connect the streams to a text terminal.
Types of text terminals
The System consoleSystem console
The system console, root console or simply console is the text entry and display device for system administration messages, particularly those from the BIOS or boot loader, the kernel, from the init system and from the system logger...
is a text terminal used to operate a computer. Modern computers have a built-in keyboard and display for the console. Some 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 such as 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...
, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
have virtual consoles to provide several text terminals on a single computer.
A terminal emulator
Terminal emulator
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....
is a computer program in a graphical windowing system
Windowing system
A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...
that lets the user operate a text terminal in a window. This lets applications for text terminals run under a modern 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...
. Popular terminal emulators include 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 rxvt
Rxvt
rxvt is a terminal emulator for the X Window System , originally written by Rob Nation and later extensively modified by Mark Olesen, who took over maintenance for several years...
.
There are also specialized terminal emulators such as those used with modems. PuTTY
PuTTY
PuTTY is a free and open source terminal emulator application which can act as a client for the SSH, Telnet, rlogin, and raw TCP computing protocols and as a serial console client...
is a terminal emulator and 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...
client.
Applications running on a text terminal
The fundamental type of application running on a text terminal is a command line interpreter or shellShell (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...
, which prompts for commands from the user and executes each command after a press of Enter. This includes Unix shell
Unix shell
A Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems...
s and some interactive programming
Interactive programming
Interactive programming is the procedure of writing parts of a program while it is already active. This focuses on the program text as the main interface for a running process, rather than an interactive application, where the program is designed in development cycles and used thereafter...
environments. In a shell, most of the commands are small applications themselves.
Another important application type is that of the text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
. A text editor occupies the full area of display, displays one or more text documents, and allows the user to edit the documents. The text editor has, for many uses, been replaced by the word processor
Word processor
A word processor is a computer application used for the production of any sort of printable material....
, which usually provides rich formatting features that the text editor lacks. The first word processors used text to communicate the structure of the document, but later word processors operate in a graphical environment and provide a WYSIWYG
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
simulation of the formatted output.
Programs such as Telix
Telix
Telix is a telecommunications program originally written for MS-DOS by Colin Sampaleanu and released in 1986. More recent versions were distributed by deltaComm Development, including a version for Microsoft Windows....
and Minicom control a modem
Modem
A modem is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded to reproduce the original digital data...
and the local terminal to let the user interact with remote servers. On the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
, 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...
and 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...
work similarly.
Programming interface
In the simplest form, a text terminal is like a file. Writing to the file displays the text and reading from the file produces what the user enters. In unix-likeUnix-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, there are several character special files that correspond to available text terminals.
For other operations, there are special escape sequence
Escape sequence
An escape sequence is a series of characters used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control. Some control sequences are special characters that always have the same meaning...
s, control character
Control character
In computing and telecommunication, a control character or non-printing character is a code point in a character set, that does not in itself represent a written symbol.It is in-band signaling in the context of character encoding....
s and
termios
functionSystem call
In computing, a system call is how a program requests a service from an operating system's kernel. This may include hardware related services , creating and executing new processes, and communicating with integral kernel services...
s that a program can use, most easily via a library such as ncurses
Ncurses
ncurses is a programming library that provides an API which allows the programmer to write text user interfaces in a terminal-independent manner. It is a toolkit for developing "GUI-like" application software that runs under a terminal emulator...
. For more complex operations, the programs can use terminal specific ioctl
Ioctl
In computing, ioctl, short for input/output control, is a system call for device-specific operations and other operations which cannot be expressed by regular system calls. It takes a parameter specifying a request code; the effect of a call depends completely on the request code. Request codes are...
system calls.
Technical discussion
For an application, the simplest way to use a terminal is to simply write and read text strings to and from it sequentially. The output text is scrolled, so that only the last several lines (typically 24) are visible. UnixUnix
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...
systems typically buffer
Buffer (computer science)
In computer science, a buffer is a region of a physical memory storage used to temporarily hold data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device or just before it is sent to an output device...
the input text until the Enter
Carriage return
Carriage return, often shortened to return, refers to a control character or mechanism used to start a new line of text.Originally, the term "carriage return" referred to a mechanism or lever on a typewriter...
key is pressed, so the application receives a ready string of text. In this mode, the application need not know much about the terminal.
For many interactive applications this is not sufficient. One of the common enhancements is command line editing (assisted with such libraries as readline); it also may give access to command history. This is very helpful for various interactive command line interpreters.
Even more advanced interactivity is provided with full-screen applications. Those applications completely control the screen layout; also they respond to key-pressing immediately. This mode is very useful for text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
s, file manager
File manager
A file manager or file browser is a computer program that provides a user interface to work with file systems. The most common operations performed on files or groups of files are: create, open, edit, view, print, play, rename, move, copy, delete, search/find, and modify file attributes, properties...
s and web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...
s. In addition, such programs control the color and brightness of text on the screen, and decorate it with underline, blinking and special characters (e.g. box drawing characters
Box drawing characters
Box drawing characters, also known as line drawing characters, or pseudographics, are widely used in text user interfaces to draw various frames and boxes...
).
To achieve all this, the application must deal not only with plain text strings, but also with control character
Control character
In computing and telecommunication, a control character or non-printing character is a code point in a character set, that does not in itself represent a written symbol.It is in-band signaling in the context of character encoding....
s and escape sequence
Escape sequence
An escape sequence is a series of characters used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control. Some control sequences are special characters that always have the same meaning...
s, which allow to move 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...
to an arbitrary position, to clear portions of the screen, change colors and display special characters — and also respond to function key
Function key
A function key is a key on a computer or terminal keyboard which can be programmed so as to cause an operating system command interpreter or application program to perform certain actions...
s.
The great problem here is that there are so many different terminals and terminal emulator
Terminal emulator
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....
s, each with its own set of escape sequence
Escape sequence
An escape sequence is a series of characters used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control. Some control sequences are special characters that always have the same meaning...
s. In order to overcome this, special libraries
Library (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....
(such as curses
Curses (programming library)
curses is a terminal control library for Unix-like systems, enabling the construction of text user interface applications.The name is a pun on the term “cursor optimization”. It is a library of functions that manage an application's display on character-cell terminals .- Overview :The curses API...
) have been created, together with terminal description databases, such as Termcap
Termcap
Termcap is a software library and database used on Unix-like computers. It enables programs to use display computer terminals in a device-independent manner, which greatly simplifies the process of writing portable text mode applications...
and Terminfo
Terminfo
Terminfo is a library and database that enables programs to use display terminals in a device-independent manner. This library has its origins in the UNIX System III operating system....
.
In recent years, the general switching of users to GUI has lessened the attention paid to terminal-handling libraries and to terminal emulation, and almost stalled the debugging efforts.
Dumb terminal
The specific meaning of the term dumb terminal can vary depending on the context in which it is used.In the context of traditional computer terminals that communicate over a serial RS-232
RS-232
In telecommunications, RS-232 is the traditional name for a series of standards for serial binary single-ended data and control signals connecting between a DTE and a DCE . It is commonly used in computer serial ports...
connection, dumb terminals are those that can interpret a limited number of control codes (CR
Carriage return
Carriage return, often shortened to return, refers to a control character or mechanism used to start a new line of text.Originally, the term "carriage return" referred to a mechanism or lever on a typewriter...
, LF, etc.) but do not have the ability to process special escape sequence
Escape sequence
An escape sequence is a series of characters used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control. Some control sequences are special characters that always have the same meaning...
s that perform functions such as clearing a line, clearing the screen, or controlling 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. In this context dumb terminals are sometimes dubbed glass Teletypes, for they essentially have the same limited functionality as does a mechanical Teletype
Teleprinter
A teleprinter is a electromechanical typewriter that can be used to communicate typed messages from point to point and point to multipoint over a variety of communication channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the...
. This type of dumb terminal is still supported on modern 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....
systems by setting the environment variable
Environment variable
Environment variables are a set of dynamic named values that can affect the way running processes will behave on a computer.They can be said in some sense to create the operating environment in which a process runs...
TERM to dumb. Smart or intelligent terminals are those that also have the ability to process escape sequences, in particular the VT52
VT52
The VT52 was a CRT-based computer terminal produced by Digital Equipment Corporation introduced in September, 1975 . It provided a screen of 24 rows and 80 columns of text and supported all 95 ASCII characters as well as 32 graphics characters. It supported asynchronous communication at baud rates...
, VT100
VT100
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:...
or ANSI escape sequences
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...
.
In the broader context that includes all forms of keyboard/screen computer communication devices, including personal computers, diskless workstation
Diskless workstation
A diskless node is a workstation or personal computer without disk drives, which employs network booting to load its operating system from a server...
s, network computer
Network computer
Network Computer is a trademark of Oracle Corporation that was used, from approximately 1996 to 2000, to market a range of diskless desktop computer devices. The devices were designed and manufactured by an alliance, which included Sun Microsystems, IBM, and others...
s, thin client
Thin client
A thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...
s, and X terminal
X terminal
In computing, an X terminal is a display/input terminal for X Window System client applications. X terminals enjoyed a period of popularity in the early 1990s when they offered a lower total cost of ownership alternative to a full Unix workstation....
s, the term dumb terminal is sometimes used to refer to any type of traditional computer terminal that communicates serially over a RS-232
RS-232
In telecommunications, RS-232 is the traditional name for a series of standards for serial binary single-ended data and control signals connecting between a DTE and a DCE . It is commonly used in computer serial ports...
connection that does not locally process data or execute user programs.
The term dumb terminal sometimes also refers to public computer terminals that are limited to monochrome text-only capabilities, or to terminals that transmit each character as it is typed rather than waiting until it is polled by a host computer.
Graphical terminals
A graphical terminal can display images as well as text. Graphical terminals are divided into vector-modeVector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...
terminals, and raster mode
Raster graphics
In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...
.
A vector-mode display directly draws lines on the face of a cathode-ray tube
Cathode ray tube
The cathode ray tube is a vacuum tube containing an electron gun and a fluorescent screen used to view images. It has a means to accelerate and deflect the electron beam onto the fluorescent screen to create the images. The image may represent electrical waveforms , pictures , radar targets and...
under control of the host computer system. The lines are continuously formed, but since the speed of electronics is limited, the number of concurrent lines that can be displayed at one time is limited. Vector-mode displays were historically important but are no longer used.
Practically all modern graphic displays are raster-mode, descended from the picture scanning techniques used for television
Television
Television is a telecommunication medium for transmitting and receiving moving images that can be monochrome or colored, with accompanying sound...
, in which the visual elements are a rectangular array of pixel
Pixel
In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....
s. Since the raster image is only perceptible to the human eye as a whole for a very short time, the raster must be refreshed many times per second to give the appearance of a persistent display. The electronic demands of refreshing display memory meant that graphic terminals were developed much later than text terminals, and initially cost much more.
Most terminals today are graphical - that is, they can show images on the screen. The modern term for graphical terminal is "thin client
Thin client
A thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...
". A thin client typically uses a protocol like X11
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
for 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...
-terminals, or RDP
Remote Desktop Protocol
Remote Desktop Protocol is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to another computer. The protocol is an extension of the ITU-T T.128 application sharing protocol. Clients exist for most versions of Microsoft Windows , Linux, Unix, Mac OS...
for Microsoft Windows. The bandwidth needed depends on the protocol used, the resolution, and the color depth
Color depth
In computer graphics, color depth or bit depth is the number of bits used to represent the color of a single pixel in a bitmapped image or video frame buffer. This concept is also known as bits per pixel , particularly when specified along with the number of bits used...
.
Modern graphic terminals allow display of images in color, and of text in varying sizes, colors, and font
Font
In typography, a font is traditionally defined as a quantity of sorts composing a complete character set of a single size and style of a particular typeface...
s (type faces).
AlphaWindows
In the early 1990s an industry consortium attempted to define a standard that would allow a single CRT screen to implement multiple windows, each of which was to behave as a distinct terminal. Unfortunately like I2OI2O
Intelligent Input/Output is a defunct computer input/output specification. I2O emerged from Intel in the mid 1990s with the publication of the I2O specification in 1996 by the Intelligent I/O Special Interest Group....
this suffered from being run as a closed standard: non-members were unable to obtain even minimal information and there was no realistic way a small company or independent developer could join the consortium. Possibly because of this the standard disappeared without trace.
Contemporary
Since the advent and subsequent popularization of the personal computerPersonal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...
, few genuine hardware terminals are used to interface with computers today. Using the monitor
Computer display
A monitor or display is an electronic visual display for computers. The monitor comprises the display device, circuitry, and an enclosure...
and keyboard
Computer keyboard
In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...
, modern operating systems like 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...
and the BSD derivatives feature virtual consoles, which are mostly independent from the hardware used.
When using 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...
(or GUI) like the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
, one's display is typically occupied by a collection of windows associated with various applications, rather than a single stream of text associated with a single process. In this case, one may use a terminal emulator
Terminal emulator
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....
application within the windowing environment. This arrangement permits terminal-like interaction with the computer (for running a command line interpreter, for example) without the need for a physical terminal device; it can even allow the running of multiple terminal emulators on the same device.
See also
- Terminal serverTerminal serverA terminal server enables organizations to connect devices with an RS-232, RS-422 or RS-485 serial interface to a local area network . Products marketed as terminal servers can be very simple devices that do not offer any security functionality, such as data encryption and user authentication...
- IBM 3270IBM 3270The 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...
and IBM 5250IBM 5250IBM 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 :...
A type of classic corporate terminal displaying predefined forms using the 3270 or 5250 protocol to communicate with the host. These protocols were (and still are) the standard UI technology for IBM mainframes (3270) and midrange computers (5250) such as the S/36 and the AS/400. - HP 2640HP 2640The HP 2640A and other HP 264X models were block-mode "smart" and intelligent ASCII standard serial terminals produced by Hewlett Packard using the Intel 8008 and 8080 microprocessors.-History:...
microprocessor based terminal which combined serial ASCII with block mode forms and labeled function keys - Tektronix 4014Tektronix 4014The Tektronix 4000 series was a family of text and graphics computer terminals based on the company's storage tube technology. No additional electronics were needed to maintain the display, so the 4000 series were less expensive than earlier graphics terminals and became widely used in the CAD...
storage tube for vector graphics - Virtual console for a concept that permits multiple terminals on one hardware
- Computer console for a text output device for system administration messages
- Remote Job EntryRemote Job EntryRemote job entry is the term used to describe the process of sending jobs to Mainframe computers from remote workstations, and by extension the process of receiving output from mainframe jobs at a remote workstation....
(RJE) a terminal used for the remote job submission, control, and printing - HASP A common IBM RJE terminal
- IBM 2780 A common RJE terminal
- IBM 3780 A common RJE terminal
- TV TypewriterTV TypewriterThe TV Typewriter was a video terminal that could display 2 pages of 16 lines of 32 upper case characters on a standard television set. The Don Lancaster design appeared on the cover of Radio-Electronics magazine in September 1973. The magazine included a 6 page description of the design but...
A very simple home-brew terminal that was used with early home computers - Blit (computer terminal)Blit (computer terminal)In computing, the Blit was a programmable bitmap graphics terminal designed by Rob Pike and Bart Locanthi Jr. of Bell Labs in 1982.When initially switched on, the Blit looked like an ordinary textual terminal, although taller than usual: Similar to the VT100 it had an addressable cursor and...
- Green screen display
- MinitelMinitelThe Minitel is a Videotex online service accessible through the telephone lines, and is considered one of the world's most successful pre-World Wide Web online services. It was launched in France in 1982 by the PTT...
- Thin clientThin clientA thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...
- Apple 1, a very early home computer with a built-in dumb terminal
- HP X-TerminalsHP X-TerminalsHP X-Terminals are a line of X terminals from Hewlett Packard introduced in the early- to mid-1990s, including the 700/X and 700/RX, Envizex and Entria, and the Envizex II and Entria II. They were often sold alongside PA-RISC-based HP 9000 Unix systems...
, produced in the 1990s, used as graphical front-ends (X servers) for Unix systems (early thin-clients, downloaded their operating systems mostly by TFTP/BOOTP) - Not a typewriterNot a typewriterIn computer science "Not a typewriter" or ENOTTY is an error code defined in the errno.h found on many Unix systems. This code is used to indicate that an attempt has been made to use a non-TTY device as a TTY device.- Details :...