Copyright © 1996-2013,2014 by Thomas E. Dickey

XTERM – Terminal emulator for the X Window System


The xterm program is a terminal emulator for the X Window System. It provides DEC VT102 and Tektronix 4014 compatible terminals for programs that can't use the window system directly.

This version implements ISO/ANSI colors using the "new" color model (i.e., background color erase). It also implements most of the control sequences for VT220, as well as selected features from other DEC terminals such as VT320, VT420 and VT520.


I decided to work on xterm in early 1995, to support ded and add (and incidentally ncurses) in the X environment. Several people had made modifications to xterm to support color, but none (except for the completely independent rxvt) implemented background color erase. That is rather like preferring MS-DOS to UNIX. Completely mystifying.

Being bogged down in ncurses, I didn't get involved in xterm until the very end of 1995, after working on atac.

I implemented a workable version of colorized xterm just at the point where XFree86 3.1.2B was announced, complete with a color xterm. As luck would have it, they'd incorporated the "old" color model. So I joined the XFree86 project to fix it.

As I learned more about xterm, I realized that it implemented part of VT220 (i.e., the locking shifts for extended character sets). Since a number of people on the Internet are looking for a good VT220 emulator, it seemed a natural follow-on project to make xterm a good VT220 emulator. By the release of XFree86 3.2, I had implemented most of the control sequences, except for a handful (DECSTR, the KAM and SRM modes, the ones pertaining to doublesize and soft characters, and of course, blink).

The XTerm FAQ gives more information, showing how to resolve problems with it, as well as contrasting xterm with other terminals.

XTerm – showing all menus on Unicode demo

XTerm Change Log

The CHANGE LOG shows when and why features were added or changed.

See Also

See this discussion of the icons used for xterm.

To support xterm, I also work on vttest.

luit allows xterm to support character encodings other than ISO-8859-1 and UTF-8.


There are numerous references on the net to xterm. Here are a few of the more interesting ones: