Table of Contents
Background of Xterm Emulation/Emulator
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 and each in fact simulating a physical standalone terminal.
Xterm originated prior to the X Window System. It was originally written as a stand-alone
terminal emulator program for the VAXStation 100 (VS100)
by Mark Vandevoorde.
As all terminal emulations,
xterm is a standard that allows the server to send text to the user's screen. By embedding special
controls in the text,
rather than just displaying text from left to right and top to bottom,
these codes also allow control over the placement and display charachacteristics (location, color, etc.)
of the text.
Xterm extends the possibilities of earlier terminal emulation definitions like DEC
VT100 or VT220
to allow the server to control special characteristics that go beyond the requirements of physical
terminals, like the placement of the xterm terminal window on the user's screen or setting the title
which is displayed in the xterm window. xterm terminals also allow the server to interact with
the user's mouse.
Xterm Technical Details
As all terminal types, xterm is a standard that allows the server to send text to the user's screen.
By embedding special controls in the text, these codes allow control over the placement and
display charachacteristics (location, color, etc.) of the text, rather than merely displaying
text from left to right and top to bottom like an old teletype (TTY).
E.g. in order to send the text "this is an error!" to the user's
screen with the word "error" highlighted, the host would send
This is an ^[1m error ^[0m! to the
xterm terminal. Rather than displaying all the text, the xterm terminal will interpret
^[1m and ^[0m
as commands that tell it to highlight the text that is received between them.
While the above code actually also works in some (but not all) other terminal types, like
VT100 or VT220
(xterm controls are actually a superset of these),
xterm vastly expands the codes and possibilites over those.
Notably, xterm is one of the few terminals, that acknowledges the fact that it lives in an
emulator and is not a physical terminal (see terminal emulator)
and thus includes codes that manipulate the emulator window itself.
Here is an exceprt from one of the code squences that allow that:
ESC [ n t
n = 13 → Report xterm window position as CSI 3 ; x; yt
n = 14 → Report xterm window in pixels as CSI 4 ; height ; width t
n = 18 → Report the size of the text area in characters as CSI 8 ; height ; width t
n = 19 → Report the size of the screen in characters as CSI 9 ; height ; width t
n = 20 → Report xterm window's icon label as OSC L label ST
n = 21 → Report xterm window's title as OSC l title ST
(ESC equals character hex 1B or ^[ )
Another improvement in the xterm terminal emulation is the strict definition of function keys and
the codes sent by the terminal, especially in combination with combinations of keyboard modifier
keys like shift, alt, ctrl.
A fulll list of terminal emulation sequences for xterm can be found on
xfree86.org.
Modern Xterm Emulator for Windows and macOS
Today most 'terminals' are simply a software running on a PC. But many standard
telnet clients
can't be used to emulate xterm terminals properly, because the xterm protocol is
rather powerful and full of subtle details which are hard to get right.
ZOC Terminal however is different and lets you
access servers via a telnet or SSL/SSH connection using the Xterm
emulation in a consistent and industrial strength quality implementation.
Additionally ZOC supports a wide scale of other emulations used in
the Unix world, like VT220, Linuxterm,
but also emulations that were used with other operating systems,
like Wyse, TN3270, Televideo
and others.
The ZOC telnet/SSH client
also includes a number of other useful features. It comes with a modern multi-tabbed
user interface and is highly configurable.
Beyond that it includes the usual terminal features such as keyboard
redefinition and scroll back buffer. It also has some very advanced
and unique features such as a powerful script language and automatic
triggering of actions based on received or typed text. This terminal
emulation software also supports vt102, vt220 and several types of
ansi as well as Wyse, TVI, and Sun's CDE. ZOC also features major
file transfer protocols like X-, Y- and Zmodem as well as Kermit and
others. All these are offered in solid implementations that leave
nothing to be desired.