xterm | |
|---|---|
A sample xterm, running the Bash shell, showing a listing of /etc. | |
| Original author | Mark Vandevoorde |
| Developer | Thomas Dickey |
| Initial release | 1984; 42 years ago (1984) |
| Stable release | |
| Operating system | Unix,Unix-like,MVSOpenVMS,OS/2 |
| Type | Terminal emulator |
| License | MIT/X Consortium License |
| Website | invisible-island |
| Repository | |
xterm is the standardterminal emulator for theX Window System. It allows users to run programs which require acommand-line interface.
If no particular program is specified, xterm runs the user'sshell. An Xdisplay can show one or more user's xterm windowsoutput at the same time.[2][3] Each xterm window is a separateprocess, but all share the samekeyboard, taking turns as each xterm process acquiresfocus. Normally focus switches between X applications as the user moves the pointer (e.g., a mouse cursor) about the screen, but xterm provides options tograb focus (theSecure Keyboard feature) as well as accept input events sent without using the keyboard (theAllow SendEvents feature). Those options have limitations, as discussed in the xterm manual.[4]
XTerm originated prior to the X Window System. It was originally written as a stand-alone terminal emulator for theVAXStation 100 (VS100) by Mark Vandevoorde, a student ofJim 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."[5]
After many years as part of the Xreference implementation, around 1996 the main line of development then shifted toXFree86 (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.[6] Most terminal emulators for X started as variations on xterm.[dubious –discuss][7]
Early versions emulated theVT102 andTektronix 4014.[8]
Later versions added control sequences forDEC and other terminals such as:


As with mostX applications, xterm can be customized via globalX resources files (e.g. /usr/lib/X11/app-defaults/XTerm), per-user resource files (e.g. ~/XTerm, ~/.Xresources), orcommand-line arguments. Most of the command-line options correspond to resource settings, as noted in the manual page.
While the name of the program isxterm, the X resource class isXTerm. Theuxterm script overrides this, using theUXTerm 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.
Supported terminal control functions include:
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:
Initially Xterm supported onlyPortable Compiled Format (PCF)bitmap font until 2000 whenXft library was introduced to support modernstroke-based fonts likeTrueType.[18]