Jump to content

Xterm: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
CmplstofB (talk | contribs)
added a logo of XTerm (src and ref is on WC’s page).
Bluelinking 1 books for verifiability.) #IABot (v2.1alpha3
Line 17: Line 17:
|operating_system = [[X Window System]]
|operating_system = [[X Window System]]
}}
}}
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 device|display]], each of which provides independent [[input/output]] for the [[Process (computing)|process]] running in it (normally the process is a [[Unix shell]]).<ref>{{cite book|isbn=978-0596555191|title=Mac OS X for Unix Geeks (Leopard): Demistifying the Geekier Side of Mac OS X|last1=Rothman|first1=Ernest E|last2=Jepson|first2=Brian|last3=Rosen|first3=Rich|date=2008-09-18}}</ref><ref>{{cite book|isbn=978-0789718051|title=The Complete Idiot's Guide to UNIX|last1=Wagner|first1=Bill|year=1998}}</ref>
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 device|display]], each of which provides independent [[input/output]] for the [[Process (computing)|process]] running in it (normally the process is a [[Unix shell]]).<ref>{{cite book|isbn=978-0596555191|title=Mac OS X for Unix Geeks (Leopard): Demistifying the Geekier Side of Mac OS X|last1=Rothman|first1=Ernest E|last2=Jepson|first2=Brian|last3=Rosen|first3=Rich|date=2008-09-18}}</ref><ref>{{cite book|isbn=978-0789718051|title=The Complete Idiot's Guide to UNIX|last1=Wagner|first1=Bill|year=1998|url-access=registration|url=https://archive.org/details/completeidiots00wagn}}</ref>


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."<ref>{{cite web
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."<ref>{{cite web

Revision as of 12:29, 8 September 2019

xterm
Original author(s)Mark Vandevoorde
Developer(s)Thomas Dickey
Initial release1984; 40 years ago (1984)
Stable release
Patch #348 / July 22, 2019; 5 years ago (2019-07-22)[1]
Repository
Operating systemX Window System
TypeTerminal emulator
LicenseMIT/X Consortium License
Websiteinvisible-island.net/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 (normally the process is a Unix shell).[2][3]

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."[4]

After many years as part of the X reference implementation, around 1996 the main line of development then shifted to XFree86 (which itself forked from X11R6.3), and it is now maintained by Thomas Dickey.

Many xterm variants are also available.[5] Most terminal emulators for X started as variations on xterm.

Features

Terminal emulation

Early versions emulated the VT102 and Tektronix 4014.[6] Later versions added control sequences for DEC and other terminals such as:

  • VT220: Added in patch 24.[7]
  • VT320: Added in patch 24.[7]
  • VT420: DECSTR (soft terminal reset) was added in patch 34.[8]
  • VT520: Although not officially emulated, parts of VT520 features were implemented.[9] Controls DECSMBV and DECSWBV for setting the margin- and warning-bell volume was added in patch 254.[10]

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 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.

Example showing xterm's toolbar.

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
  • Digital Equipment Corporation VT family:
  • Tektronix family:

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.[11]
Chart of the 256 colors available in an xterm with color support. Xterm color numbers and RGB values are shown for each.
  • 16-colour terminal protocol: Added in patch 39.[12]
  • 256 colors terminal protocol: Added in patch 111.[13]
  • 88-colour terminal protocol: Added in patch 115.[14]
  • Custom colour palette: Ability to specifying the RGB values for palette entries was added in patch 111.[13]

See also

References

  1. ^ Dickey, Thomas E. "XTERM – Change Log". Thomas E. Dickey. Archived from the original on 2017-12-29. Retrieved 2018-01-04. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  2. ^ Rothman, Ernest E; Jepson, Brian; Rosen, Rich (2008-09-18). Mac OS X for Unix Geeks (Leopard): Demistifying the Geekier Side of Mac OS X. ISBN 978-0596555191.
  3. ^ Wagner, Bill (1998). The Complete Idiot's Guide to UNIX. ISBN 978-0789718051.
  4. ^ Thomas E. Dickey. "XTerm – Frequently Asked Questions (FAQ), Who wrote XTerm?". Archived from the original on 2018-06-24. Retrieved 2018-06-04. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  5. ^ Thomas E. Dickey. "XTerm – Frequently Asked Questions (FAQ), What versions are available?". Archived from the original on 2018-06-24. Retrieved 2018-06-04. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  6. ^ Thomas E. Dickey. "What is XTerm?". Archived from the original on 2018-06-24. Retrieved 2018-06-04. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  7. ^ a b "Patch #24 - 1996/8/11 - XFree86 3.1.2Ee". Archived from the original on 2001-12-22. Retrieved 2008-02-25. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  8. ^ "Patch #34 - 1997/1/5 - XFree86 3.2o". Archived from the original on 2001-12-22. Retrieved 2008-02-25. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  9. ^ "Why not emulate VT520?". Archived from the original on 2012-03-11. Retrieved 2007-01-06. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  10. ^ "Patch #254 - 2010/1/6". Archived from the original on 2001-12-22. Retrieved 2008-02-25. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  11. ^ "Patch #120 - 1999/10/28 - XFree86 3.9.16c".
  12. ^ "Patch #39 - 1997/5/24 - XFree86 3.2Xl".
  13. ^ a b "Patch #111 - 1999/7/10 - XFree86 3.9Pw".
  14. ^ "Patch #115 - 1999/9/18 - XFree86 3.9.16a".

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.