HOME

TheInfoList



OR:

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 term ...
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 originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
. It allows users to run programs which require a
command-line interface A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
. 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 Science Biology * Seashell, a hard outer layer of a marine ani ...
. An X display 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 valu ...
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 s ...
, but all share the same keyboard, 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 (VS100) by Mark Vandevoorde, a student of Jim Gettys, 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 ...
, 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 software, free and Open-source softw ...
(which itself forked from X11R6.3), and it is now maintained by Thomas Dickey. Many xterm variants are also available, such as hanterm, a variant tailored to Korean speakers, and kterm, which is designed for Japanese speakers. Most terminal emulators for X started as variations on xterm.


Features


Terminal emulation

Early versions emulated the VT102 and Tektronix 4014. 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 International Organization for Standardization, ISO/International Electrotechnical Commission, IEC standard in the field of character encoding. It ...
''shift functions'' to provide the National Replacement Character Set feature. * VT320: Added in patch 24. * VT420: DECSTR (soft terminal reset) was added in patch 34. In 2012, xterm's default emulation was changed to VT420 to allow tmux to assume the corresponding left/right margin support. * VT520: 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 In the X Window System, the X resources are parameters of computer programs such as the name of the font used in the Button (computing), buttons, the background color of Menu (computing), menus, etc. They are used in conjunction with or as an alte ...
files (e.g. /usr/lib/X11/app-defaults/XTerm), per-user resource files (e.g. ~/XTerm, ~/.Xresources), or command-line arguments. 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 * Sixel * Digital Equipment Corporation VT family: **
VT52 The VT50 is a CRT-based computer terminal that was 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 forwar ...
** VT102 ** VT220 ** VT420 * Tektronix family: ** Tektronix 4014 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-color terminal protocol: Added in patch 39. * 256 colors terminal protocol: Added in patch 111. * 88-color terminal protocol: Added in patch 115. * Custom color palette: Ability to specifying the RGB values for palette entries was added in patch 111.


Fonts

Initially Xterm supported only Portable Compiled Format (PCF) bitmap font until 2000 when Xft library was introduced to support modern stroke-based fonts like
TrueType TrueType is an Computer font#Outline fonts, outline font standardization, standard developed by Apple Inc., Apple in the late 1980s as a competitor to Adobe Inc., Adobe's PostScript fonts#Type 1, Type 1 fonts used in PostScript. It has become the ...
.


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. List See also * We ...
*
luit luit is a utility software, utility program used to translate the character set of a computer program so that its output can be displayed correctly on a terminal emulator that uses a different character set. Whereas iconv converts the character ...
, a character set converter invoked automatically by xterm when necessary * Vttest, 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