HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, e ...
, xterm is the standard
terminal emulator A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote termin ...
for the
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
. It allows users to run programs which require a
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
. If no particular program is specified, xterm runs the user's
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses ** Thin-shell structure Science Biology * Seashell, a hard o ...
. An X
display Display may refer to: Technology * Display device, output device for presenting information, including: ** Cathode ray tube, video display that provides a quality picture, but can be very heavy and deep ** Electronic visual display, output devi ...
can show one or more user's xterm windows
output Output may refer to: * The information produced by a computer, see Input/output * An output state of a system, see state (computer science) * Output (economics), the amount of goods and services produced ** Gross output in economics, the value of ...
at the same time. Each xterm window is a separate
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management *Business process, activities that produce a specific se ...
, but all share the same
keyboard Keyboard may refer to: Text input * Keyboard, part of a typewriter * Computer keyboard ** Keyboard layout, the software control of computer keyboards and their mapping ** Keyboard technology, computer keyboard hardware and firmware Music * Musi ...
, taking turns as each xterm process acquires ''focus''. Normally focus switches between X applications as the user moves the pointer (e.g., a mouse cursor) about the screen, but xterm provides options to ''grab focus'' (the ''Secure Keyboard'' feature) as well as accept input events sent without using the keyboard (the ''Allow SendEvents'' feature). Those options have limitations, as discussed in the xterm manual. xterm originated prior to the X Window System. It was originally written as a stand-alone terminal emulator for the
VAXStation 100 The VAXstation is a discontinued family of workstation computers developed and manufactured by Digital Equipment Corporation using processors implementing the VAX instruction set architecture. VAXstation systems were typically shipped with eith ...
(VS100) by Mark Vandevoorde, a student of
Jim Gettys Jim Gettys (born 15 October 1953) is an American computer programmer. He was involved in multiple computer related projects. Activity Gettys worked at DEC's Cambridge Research Laboratory. Until January 2009, he was the Vice President of Sof ...
, in the summer of 1984, when work on X started. It rapidly became clear that it would be more useful as part of X than as a standalone program, so it was retargeted to X. As Gettys tells the story, "part of why xterm's internals are so horrifying is that it was originally intended that a single process be able to drive multiple VS100 displays." After many years as part of the X
reference implementation In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation o ...
, around 1996 the main line of development then shifted to
XFree86 XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and was available for many other operating systems and platforms. It is free and open source software under the X ...
(which itself forked from X11R6.3), and it is now maintained by
Thomas Dickey Lynx is a customizable text-based web browser for use on cursor-addressable character cell computer terminal, terminals. , it is the oldest web browser still being maintained, having started in 1992. History Lynx was a product of the Distribute ...
. Many xterm variants are also available. Most terminal emulators for X started as variations on xterm.


Features


Terminal emulation

Early versions emulated the
VT102 The VT100 is a video terminal, introduced in August 1978 by Digital Equipment Corporation (DEC). It was one of the first terminals to support ANSI escape codes for cursor control and other tasks, and added a number of extended codes for special f ...
and
Tektronix 4014 The Tektronix 4010 series was a family of text-and-graphics computer terminals based on storage-tube technology created by Tektronix. Several members of the family were introduced during the 1970s, the best known being the 11-inch 4010 and 19-inc ...
. Later versions added control sequences for DEC and other terminals such as: * VT220: Added in patch 24. Later, in 1998, xterm added support for VT220 features, such as extending its support of
ISO-2022 ISO/IEC 2022 ''Information technology—Character code structure and extension techniques'', is an ISO/ IEC standard (equivalent to the ECMA standard ECMA-35, the ANSI standard ANSI X3.41 and the Japanese Industrial Standard JIS X 0202) in the ...
''shift functions'' to provide the
National Replacement Character Set The National Replacement Character Set (NRCS) was a feature supported by later models of Digital's (DEC) computer terminal systems, starting with the VT200 series in 1983. NRCS allowed individual characters from one character set to be replaced b ...
feature. *
VT320 The VT320 is an ANSI standard computer terminal introduced by Digital Equipment Corporation (DEC) in 1987. The VT320 is the text-only version, while the VT330 adds monochrome ReGIS, Sixel and Tektronix 4010 graphics, and the VT340 adds color. ...
: Added in patch 24. *
VT420 The VT420 is an ANSI standard computer terminal introduced in 1990 by Digital Equipment Corporation (DEC). The 420 is the only model in the 400 series, replacing the VT320. There are no color or graphics-capable 400 series terminals; the VT340 re ...
: DECSTR (soft terminal reset) was added in patch 34. In 2012, xterm's default emulation was changed to
VT420 The VT420 is an ANSI standard computer terminal introduced in 1990 by Digital Equipment Corporation (DEC). The 420 is the only model in the 400 series, replacing the VT320. There are no color or graphics-capable 400 series terminals; the VT340 re ...
to allow
tmux tmux is an open-source terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same time. ...
to assume the corresponding left/right margin support. *
VT520 The VT520 is an ANSI standard computer terminal introduced by Digital Equipment Corporation (DEC) in 1993 and 1994. The VT520 is a multi-session monochrome text-only terminal with a built-in 14" monitor. The VT510 was a single-session version, whi ...
: Although not officially emulated, parts of VT520 features were implemented. Controls DECSMBV and DECSWBV for setting the margin- and warning-bell volume were added in patch 254.


Customization

As with most X applications, xterm can be customized via global X resources files (e.g. /usr/lib/X11/app-defaults/XTerm), per-user resource files (e.g. ~/XTerm, ~/.Xresources), or
command-line argument A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
s. Most of the command-line options correspond to resource settings, as noted in the manual page. While the name of the program is ''xterm'', the X resource class is ''XTerm''. The uxterm script overrides this, using the ''UXTerm'' resource class. xterm normally does not have a menu bar. To access xterm's three menus, users hold the control key and press the left, middle, or right mouse button. Support for a "toolbar" can be compiled-in, which invokes the same menus.


Protocols

Supported terminal control functions include: *
ANSI X3.64 ANSI escape sequences are a standard for in-band signaling to control cursor location, color, font styling, and other options on video text terminals and terminal emulators. Certain sequences of bytes, most starting with an Escape character#ASC ...
*
Sixel Sixel, short for "six pixels", is a bitmap graphics format supported by terminals and printers from DEC. It consists of a pattern six pixels high and one wide, resulting in 64 possible patterns. Each possible pattern is assigned an ASCII chara ...
* Digital Equipment Corporation VT family: **
VT52 The VT50 was a CRT-based computer terminal introduced by Digital Equipment Corporation (DEC) in July 1974. It provided a display with 12 rows and 80 columns of upper-case text, and used an expanded set of control characters and forward-only scro ...
**
VT102 The VT100 is a video terminal, introduced in August 1978 by Digital Equipment Corporation (DEC). It was one of the first terminals to support ANSI escape codes for cursor control and other tasks, and added a number of extended codes for special f ...
** VT220 **
VT420 The VT420 is an ANSI standard computer terminal introduced in 1990 by Digital Equipment Corporation (DEC). The 420 is the only model in the 400 series, replacing the VT320. There are no color or graphics-capable 400 series terminals; the VT340 re ...
* Tektronix family: **
Tektronix 4014 The Tektronix 4010 series was a family of text-and-graphics computer terminals based on storage-tube technology created by Tektronix. Several members of the family were introduced during the 1970s, the best known being the 11-inch 4010 and 19-inc ...
In addition to protocols used in commercially available terminal machines, xterm added a few protocols that have been adopted by other terminal emulators, such as: * Mouse tracking: Support for buttons 4 and 5 was added in patch 120. * 16-colour terminal protocol: Added in patch 39. * 256 colors terminal protocol: Added in patch 111. * 88-colour terminal protocol: Added in patch 115. * Custom colour palette: Ability to specifying the RGB values for palette entries was added in patch 111.


Fonts

Initially Xterm supported only
Portable Compiled Format Portable Compiled Format (PCF) is a bitmap font format used by X Window System in its core font system, and has been used for decades. PCF fonts are usually installed, by default, on most Unix-based operating systems, and are used in terminals such ...
(PCF)
bitmap font A computer font is implemented as a digital data file containing a set of graphically related glyphs. A computer font is designed and created using a font editor. A computer font specifically designed for the computer screen, and not for print ...
until 2000 when
Xft Xft, the X FreeType interface library, is a free computer program library written by Keith Packard. It uses the MIT/X license that The Open Group applied after the post X11R6.4 license restoration. It is designed to allow the FreeType font ...
library was introduced to support modern stroke-based fonts like
TrueType TrueType is an outline font standard developed by Apple in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript. It has become the most common format for fonts on the classic Mac OS, macOS, and Microsoft Windows operating sy ...
.


See also

*
List of terminal emulators This is a list of notable terminal emulators. Most used terminal emulators on Linux and Unix-like systems are GNOME Terminal on GNOME and GTK-based environments, Konsole on KDE, and xfce4-terminal on Xfce as well as xterm. Character-oriented te ...
* luit, a character set converter invoked automatically by xterm when necessary *
Vttest Vttest is an application that is used to demonstrate features of VT100 and related terminals, or emulations thereof, such as xterm. The program was originally written in 1986 by Per Lindberg. It has been maintained and extended since 1996 by Th ...
, vt100/vt220/xterm test utility


References


External links

* {{XWinSys Free software programmed in C Free terminal emulators Software using the MIT license X Window programs