XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
NAME
xterm - terminal emulator for X
SYNOPSIS
xterm [-toolkitoption ...] [-option ...]
This is a supported client.
DESCRIPTION
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.
If the underlying operating system supports terminal
resizing capabilities (for example, the SIGWINCH signal in
systems derived from Berkeley's 4.3bsd), xterm will use the
facilities to notify programs running in the window whenever
it is resized.
The VT102 and Tektronix 4014 terminals each have their own
window so that you can edit text in one window and look at
graphics in the other window at the same time.
To maintain the correct aspect ratio (height/width),
Tektronix graphics will be restricted to the largest box
with a Tektronix 4014's aspect ratio that will fit in the
window. This box is located in the upper left area of the
window.
Although both windows may be displayed at the same time, one
of them is considered the ``active'' window for receiving
keyboard input and terminal output. This is the window that
contains the text cursor. The cursor is highlighted (solid
block) whenever the pointer is in either window.
The active window can be chosen through escape sequences,
the ``Modes'' menu in the VT102 window, and the
``Tektronix'' menu in the 4014 window.
OPTIONS
The xterm terminal emulator accepts all standard X Toolkit
command line options along with the additional options
listed here (if the option begins with a `+' instead of a
`-', the option is restored to its default value; this is
useful to override resources):
-help This causes xterm to print out a verbose message
describing its options.
-132 Normally, the VT102 DECCOLM escape sequence that
switches between 80 and 132 column mode is ignored.
Printed 3/22/89 1
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
This option causes the DECCOLM escape sequence to be
recognized, and the xterm window will resize
appropriately.
-ado This option causes xterm to request the window
manager to deiconify its VT102 window when there is
output to the window.
+ado This option indicates that xterm should not auto-
de-iconify.
-ah This option indicates that xterm should always
highlight the text cursor (make it solid). By
default, xterm will display a hollow text cursor
whenever the focus is lost or the pointer leaves the
window.
+ah This option indicates that xterm should do text
cursor highlighting.
-aro This option causes xterm to request the window
manager to raise its VT102 window when there is
output to the window and the window is not iconified
and not fully visible.
+aro This option indicates that xterm should not auto-
raise.
-b number
This option specifies the size of the inner border
(the distance between the outer edge of the
characters and the window border) in pixels. The
default is 2.
-cc characterclassrange:value[,...]
This sets classes indicated by the given ranges for
use in selecting by words. See the section
specifying character classes.
-cr color
This option specifies the color to use for text
cursor. The default is to use the same foreground
color that is used for text.
-cu This option indicates that xterm should work around
a bug in the curses(3t) cursor motion package that
causes the more(1) program to display lines that are
exactly the width of the window and are followed by
a line beginning with a tab. (The leading tabs are
not displayed.)
+cu This option indicates that xterm should not work
Printed 3/22/89 2
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
around the curses(3t) problem just mentioned.
(Display as is.)
-e program [arguments ...]
This option specifies the program (and its command
line arguments) to be run in the xterm window. It
also sets the window title and icon name to be the
basename of the program being executed if neither -T
nor -n are given on the command line. Note that
this must be the last option on the command line.
See also the -exit option below.
-exitcommand
This option specifies a textual command that will
cause the program running in the xterm window",
to
e
wh
xic
thsa
wf
oe
rk
ls
y.foT
rhe
mod
se
tfa
sh
ue
ll
tli
s,
s e
t.
he
g.ss
th
r,
inc
gs"
h,
exi
or
t ksh.
This string will be sent to the standard input of
the program when xterm receives either a
WM_DELETE_WINDOW or a WM_SAVE_YOURSELF message,
asking xterm to shut down safely. If the command is
a null string (-exit ""), xterm will not ask for
either of these client messages, and will instead
have its server connection closed without warning.
+exit This option indicates that".
xterm should use the
default exit string, "exit
-fb font
This option specifies a font to be used when
displaying bold text. This font must be the same
height and width as the normal font. If only one of
the normal or bold fonts is specified, it will be
used as the normal font and the bold font will be
produced by overstriking this font. The default
bold font is ``vtbold.''
-j This option indicates that xterm should do jump
scrolling. Normally, text is scrolled one line at a
time; this option allows xterm to move multiple
lines at a time so that it doesn't fall as far
behind. Its use is strongly recommended since it
makes xterm much faster when scanning through large
amounts of text. The VT100 escape sequences for
enabling and disabling smooth scroll as well as the
``Modes'' menu can be used to turn this feature on
or off.
+j This option indicates that xterm should not do jump
scrolling.
-l This option indicates that xterm should send all
Printed 3/22/89 3
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
terminal output to a log file as well as to the
screen. This option can be enabled or disabled
using the ``xterm X11'' menu.
+l This option indicates that xterm should not do
logging.
-lf filename
This option specifies the name of the file to which
the output log (described earlier) is written. If
file begins with a pipe symbol (|), the rest of the
string is assumed to be a command to be used as the
endpoint of a pipe. The default filename is
``XtermLog.XXXXX'' (where XXXXX is the process id of
xterm) and is created in the directory from which
xterm was started (or the user's home directory in
the case of a login window).
-ls This option indicates the shell that is started in
the xterm window is a login shell (i.e. the first
character of argv[0] will be a dash, indicating to
the shell that it should read the user's .login or
.profile).
+ls This option indicates the shell that is started
should not be a login shell (i.e. it will be a
normal ``subshell'').
-mb This option indicates that xterm should ring a
margin bell when the user types near the right side
of a line. This option can be turned on and off
from the ``Modes'' menu.
+mb This option indicates that margin bell should not be
rung.
-ms color
This option specifies the color to be used for the
pointer cursor. The default is to use the
foreground color.
-nb number
This option specifies when the margin bell will
ring, using the distance specified: the number of
characters in from the right-hand margin. The
default is 10.
-rw This option indicates that reverse-wraparound should
be allowed. This allows the cursor to back up from
the leftmost column of one line to the rightmost
column of the previous line. This is very useful
for editing long shell command lines and is
Printed 3/22/89 4
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
encouraged. This option can be turned on and off
from the ``Modes'' menu.
+rw This option indicates that reverse-wraparound should
not be allowed.
-s This option indicates that xterm may scroll
asynchronously, meaning that the screen does not
have to be kept completely up to date while
scrolling. This allows xterm to run faster when
network latencies are very high. It is typically
useful when running across a very large internet or
many gateways.
+s This option indicates that xterm should scroll
synchronously.
-sb This option indicates that some number of lines that
are scrolled off the top of the window should be
saved and that a scrollbar should be displayed so
that those lines can be viewed. This option may be
turned on and off from the ``Modes'' menu.
+sb This option indicates that a scrollbar should not be
displayed.
-sf This option indicates that Sun Function Key escape
codes should be generated for function keys.
+sf This option indicates that the standard escape codes
should be generated for function keys.
-si This option indicates that output to a window should
not automatically reposition the screen to the
bottom of the scrolling region. This option can be
turned on and off from the ``Modes'' menu.
+si This option indicates that output to a window should
cause it to scroll to the bottom.
-sk This option indicates that pressing a key while
using the scrollbar to review previous lines of text
should cause the window to be repositioned
automatically in the normal position at the bottom
of the scroll region.
+sk This option indicates that pressing a key while
using the scrollbar should not cause the window to
be repositioned.
-sl number
This option specifies the number of lines to save
Printed 3/22/89 5
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
that have been scrolled off the top of the screen.
The default is 64.
-t This option indicates that xterm should start in
Tektronix mode, rather than in VT102 mode.
Switching between the two windows is done using the
``Modes'' menus.
+t This option indicates that xterm should start in
VT102 mode.
-tm string
This option specifies a series of terminal setting
keywords followed by the characters that should be
bound to those functions, similar to the stty
program. This is ignored when -L is given since
getty resets the terminal. Allowable keywords
include: intr, quit, erase, kill, eof, eol, swtch,
start, stop, brk, susp, dsusp, rprnt, flush, weras,
and lnext. Control characters may be specified as
^char (e.g. ^c or ^u) and ^? may be used to indicate
delete.
-tn name
This option specifies the name of the terminal type
to be set in the TERM environment variable. This
terminal type must exist in the termcap(5) data base
and should have li# and co# entries.
-ut This option indicates that xterm shouldn't write a
record into the the system log file /etc/utmp.
+ut This option indicates that xterm should write a
record into the system log file /etc/utmp.
-vb This option indicates that a visual bell is
preferred over an audible one. Instead of ringing
the terminal bell whenever a Control-G is received,
the window will flash.
+vb This option indicates that a visual bell should not
be used.
-C This option indicates that the window should receive
console output. This is not supported on all
systems.
-Sccn This option specifies the last two letters of the
name of a pseudoterminal to use in slave mode. This
allows xterm to be used as an input and output
channel for an existing program and is sometimes
used in specialized applications.
Printed 3/22/89 6
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
The following command line arguments are provided for
compatibility with older versions. They may not be
supported in the next release as the X Toolkit provides
standard options that accomplish the same task.
%geom This option specifies the preferred size and
position of the Tektronix window. It is shorthand
for specifying the "*tekGeometry" resource.
#geom This option specifies the preferred position of the
icon window. It is shorthand for specifying the
"*iconGeometry" resource.
-T string
This option specifies the title for xterm windows.
It is equivalent to -title.
-n string
This option specifies the icon name for xterm
windows. It is shorthand for specifying the
"*iconName" resource. Note that this is not the
same as the toolkit option -name (see below). The
default icon name is the application name.
-r This option indicates that reverse video should be
simulated by swapping the foreground and background
colors. It is equivalent to -reversevideo or -rv.
-w number
This option specifies the width in pixels of the
border surrounding the window. It is equivalent to
-borderwidth or -bw.
-L This option indicates that xterm was started by
init. In this mode, xterm does not try to allocate
a new pseudoterminal as init has already done so.
In addition, the system program getty is run instead
of the user's shell.
This option has been superceded by the new xdm(1x11)
program; furthermore, this option should never be used by
users when starting terminal windows.
The following standard X Toolkit command line arguments are
commonly used with xterm:
-bg color
This option specifies the color to use for the
background of the window. The default is ``white.''
-bd color
This option specifies the color to use for the
Printed 3/22/89 7
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
border of the window. The default is ``black.''
-bw number
This option specifies the width in pixels of the
border surrounding the window.
-display display
This option specifies the X server to contact; see
X(1x11).
-fg color
This option specifies the color to use for
displaying text. The default is ``black''.
-fn font
This option specifies the font to be used for
displaying normal text. The default is
``vtsingle.''
-geometry geometry
This option specifies the preferred size and
position of the VT102 window; see X(1x11).
-iconic This option indicates that xterm should ask the
window manager to start it as an icon rather than as
the normal window.
-name name
This option specifies the application name under
which resources are to be obtained, rather than the
default executable file name. Name should not
contain ``.'' or ``*'' characters.
-title string
This option specifies the window title string, which
may be displayed by window managers if the user so
chooses. The default title is the command line
specified after the -e option, if any, otherwise the
application name.
-rv This option indicates that reverse video should be
simulated by swapping the foreground and background
colors.
-xrm resourcestring
This option specifies a resource string to be used.
This is especially useful for setting resources that
do not have separate command line options.
X DEFAULTS
The program understands all core X Toolkit resource names
and classes as well as those listed here:
Printed 3/22/89 8
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
iconGeometry (class IconGeometry)
Specifies the preferred size and position of the
application when iconified. It is not necessarily
obeyed by all window managers.
sunFunctionKeys (class SunFunctionKeys)
Specifies whether or not Sun Function Key escape
codes should be generated for function keys instead
of standard escape sequences.
termName (class TermName)
Specifies the terminal type name to be set in the
TERM environment variable.
title (class Title)
Specifies a string that may be used by the window
manager when displaying this application.
ttyModes (class TtyModes)
Specifies a string containing terminal setting
keywords and the characters to which they may be
bound. This option is ignored when -L is given
since getty resets the terminal. Allowable keywords
include: intr, quit, erase, kill, eof, eol, swtch,
start, stop, brk, susp, dsusp, rprnt, flush, weras,
and lnext. Control characters may be specified as
^char (e.g. ^c or ^u) and ^? may be used to indicate
delete.
This is very useful for overriding the default terminal
settings without having to do an stty every time an xterm is
started.
utmpInhibit (class UtmpInhibit)
Specifies whether xterm should try to record the
user's terminal in /etc/utmp.
The following resources are specified as part of the
``vt100'' widget (class ``VT100''):
allowSendEvents (class AllowSendEvents)
Specifies whether or not synthetic key and button
events (generated using the X protocol SendEvent
request) should be interpreted or discarded. The
default is ``false'' meaning they are discarded.
Note that allowing such events creates a large
security hole.
alwaysHighlight (class AlwaysHighlight)
Specifies whether or not xterm should always display
Printed 3/22/89 9
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
a highlighted text cursor. By default, a hollow
text cursor is displayed whenever the pointer moves
out of the window or the window loses the input
focus.
autoDeIconifyOnOutput (class Auto)
Specifies whether to deiconify the VT102 window when
the window gets output. The default is ``false''.
autoRaiseOnOutput (class Auto)
Specifies whether to raise the VT102 window when the
window gets output and the window is not iconified
and not fully visible. The default is ``false''.
background (class Background)
Specifies the color to use for the background of the
window. The default is ``white.''
boldFont (class Font)
Specifies the name of the bold font. The default is
``vtbold.''
c132 (class C132)
Specifies whether or not the VT102 DECCOLM escape
sequence should be honored. The default is
``false.''
charClass (class CharClass)
Specifies comma-separated lists of character class
bindings of the form [low-]high:value. These are
used in determining which sets of characters should
be treated the same when doing cut and paste. See
the section on specifying character classes.
curses (class Curses)
Specifies whether or not the last column bug in
curses(3x) should be worked around. The default is
``false.''
cursorColor (class Foreground)
Specifies the color to use for the text cursor. The
default is ``black.''
exitCommand (class ExitCommand)
Specifies a textual command that will cause the
program running in the xterm wi"
n.
doS
wee
tote
he
xi-
tes
xa
if
tely.
T
oh
pe
tid
oe
nfa
fo
ul
rtmi
or
setd
heta
si
tl
ri
s.
ng "exit
font (class Font)
Specifies the name of the normal font. The default
is ``vtsingle.''
Printed 3/22/89 10
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
foreground (class Foreground)
Specifies the color to use for displaying text in
the window. Setting the class name instead of the
instance name is an easy way to have everything that
would normally appear in the "text" color change
color. The default is ``black.''
geometry (class Geometry)
Specifies the preferred size and position of the
VT102 window.
internalBorder (class BorderWidth)
Specifies the number of pixels between the
characters and the window border. The default is 2.
jumpScroll (class JumpScroll)
Specifies whether or not jump scroll should be used.
The default is ``false''.
logFile (class Logfile)
Specifies the name of the file to which a terminal
session is logged. The default is
``XtermLog.XXXXX'' (where XXXXX is the process id of
xterm).
logging (class Logging)
Specifies whether or not a terminal session should
be logged. The default is ``false.''
logInhibit (class LogInhibit)
Specifies whether or not terminal session logging
should be inhibited. The default is ``false.''
loginShell (class LoginShell)
Specifies whether or not the shell to be run in the
window should be started as a login shell. The
default is ``false.''
marginBell (class MarginBell)
Specifies whether or not the bell should be run when
the user types near the right margin. The default
is ``false.''
multiScroll (class MultiScroll)
Specifies whether or not asynchronous scrolling is
allowed. The default is ``false.''
nMarginBell (class Column)
Specifies the number of characters from the right
margin at which the margin bell should be run, when
enabled.
Printed 3/22/89 11
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
pointerColor (class Foreground)
Specifies the color of the pointer. The default is
``black.''
pointerShape (class Cursor)
Specifies the name of the shape of the pointer. The
default is ``xterm.''
reverseVideo (class ReverseVideo)
Specifies whether or not reverse video should be
simulated. The default is ``false.''
reverseWrap (class ReverseWrap)
Specifies whether or not reverse-wraparound should
be enabled. The default is ``false.''
saveLines (class SaveLines)
Specifies the number of lines to save beyond the top
of the screen when a scrollbar is turned on. The
default is 64.
scrollBar (class ScrollBar)
Specifies whether or not the scrollbar should be
displayed. The default is ``false.''
scrollInput (class ScrollCond)
Specifies whether or not output to the terminal
should automatically cause the scrollbar to go to
the bottom of the scrolling region. The default is
``true.''
scrollKey (class ScrollCond)
Specifies whether pressing a key should
automatically cause the scrollbar to go to the
bottom of the scrolling region. The default is
``false.''
signalInhibit (class SignalInhibit)
Specifies whether the entries in the ``xterm X11''
menu for sending signals to xterm should be
disallowed. The default is ``false.''
tekGeometry (class Geometry)
Specifies the preferred size and position of the
Tektronix window.
tekInhibit (class TekInhibit)
Specifies whether Tektronix mode should be
disallowed. The default is ``false.''
tekStartup (class TekStartup)
Specifies whether xterm should start up in Tektronix
Printed 3/22/89 12
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
mode. The default is ``false.''
titeInhibit (class TiteInhibit)
Specifies whether xterm should remove remove ti or
te termcap entries (used to switch between alternate
screens on startup of many screen-oriented programs)
from the TERMCAP string.
translations (class Translations)
Specifies the key and button bindings for menus,
selections, ``programmed strings'', etc. See
KEY/BUTTON BINDINGS below.
visualBell (class VisualBell)
Specifies whether a visible bell (i.e. flashing)
should be used instead of an audible bell when
Control-G is received. The default is ``false.''
The following resources are specified as part of the
``tek4014'' widget (class ``Tek4014''):
height (class Height)
Specifies the height of the Tektronix window in
pixels.
width (class Width)
Specifies the width of the Tektronix window in
pixels.
The following resources are specified as part of the
``menu'' widget:
menuBorder (class MenuBorder)
Specifies the size in pixels of the border
surrounding menus. The default is 2.
menuFont (class Font)
Specifies the name of the font to use for displaying
menu items.
menuPad (class MenuPad)
Specifies the number of pixels between menu items
and the menu border. The default is 3.
The following resources are useful when specified for the
Athena "scrollbar" widget:
background (class Background)
Specifies the color to use for the background of the
Printed 3/22/89 13
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
scrollbar.
foreground (class Foreground)
Specifies the color to use for the foreground of the
scrollbar. The ``thumb'' of the scrollbar is a
simple checkerboard pattern alternating pixels for
foreground and background color.
thickness (class Thickness)
Specifies the width in pixels of the scrollbar.
EMULATIONS
The VT102 emulation is fairly complete, but does not support
the blinking character attribute nor the double-wide and
double-size character sets. Termcap(5) entries that work
with xterm include ``xterm'', ``vt102'', ``vt100'' and
``ansi'', and xterm automatically searches the termcap file
in this order for these entries and then sets the ``TERM''
and the ``TERMCAP'' environment variables.
Many of the special xterm features (like logging) may be
modified under program control through a set of escape
sequences different from the standard VT102 escape
sequences. (See the Xterm Control Sequences document.)
The Tektronix 4014 emulation supports four different font
sizes and five different line types. The Tektronix text and
graphics commands are recorded internally by xterm and may
be written to a file by sending the COPY escape sequence (or
through the Tektronix menu; see below). The name of the
file will be ``COPYyy-MM-dd.hh:mm:ss'', where yy, MM, dd,
hh, mm and ss are the year, month, day, hour, minute and
second when the COPY was performed (the file is created in
the directory xterm is started in, or the home directory for
a login xterm).
POINTER USAGE
Once the VT102 window is created, xterm allows you to select
text and copy it within the same or other windows.
The selection functions are invoked when the pointer buttons
are used with no modifiers, and when they are used with the
``shift'' key. The assignment of the functions described
below to keys and buttons may be changed through the
resource database; see KEY/BUTTON BINDINGS below.
Pointer button one (usually left) is used to save text into
the cut buffer. Move the cursor to beginning of the text,
and then hold the button down while moving the cursor to the
end of the region and releasing the button. The selected
text is highlighted and is saved in the global cut buffer
and made the PRIMARY selection when the button is released.
Printed 3/22/89 14
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
Double-clicking selects by words. Triple-clicking selects
by lines. Quadruple-clicking goes back to characters, etc.
Multiple-click is determined by the time from button up to
button down, so you can change the selection unit in the
middle of a selection. If the key/button bindings specify
that an X selection is to be made, xterm will leave the
selected text highlighted for as long as it is the selection
owner.
Pointer button two (usually middle) `types' (pastes) the
text from the PRIMARY selection, if any, otherwise from the
cut buffer, inserting it as keyboard input.
Pointer button three (usually right) extends the current
selection. (Without loss of generality, that is you can
swap ``right'' and ``left'' everywhere in the rest of this
paragraph...) If pressed while closer to the right edge of
the selection than the left, it extends/contracts the right
edge of the selection. If you contract the selection past
the left edge of the selection, xterm assumes you really
meant the left edge, restores the original selection, then
extends/contracts the left edge of the selection. Extension
starts in the selection unit mode that the last selection or
extension was performed in; you can multiple-click to cycle
through them.
By cutting and pasting pieces of text without trailing new
lines, you can take text from several places in different
windows and form a command to the shell, for example, or
take output from a program and insert it into your favorite
editor. Since the cut buffer is globally shared among
different applications, you should regard it as a `file'
whose contents you know. The terminal emulator and other
text programs should be treating it as if it were a text
file, i.e. the text is delimited by new lines.
The scroll region displays the position and amount of text
currently showing in the window (highlighted) relative to
the amount of text actually saved. As more text is saved
(up to the maximum), the size of the highlighted area
decreases.
Clicking button one with the pointer in the scroll region
moves the adjacent line to the top of the display window.
Clicking button three moves the top line of the display
window down to the pointer position.
Clicking button two moves the display to a position in the
saved text that corresponds to the pointer's position in the
scrollbar.
Printed 3/22/89 15
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
Unlike the VT102 window, the Tektronix window does not allow
the copying of text. It does allow Tektronix GIN (Graphics
Input) mode, and in this mode the cursor will change from an
arrow to a cross. Pressing any key will send that key and
the current coordinate of the cross cursor. Pressing button
one, two, or three will return the letters `l', `m', and
`r', respectively. If the `shift' key is pressed when a
pointer button is pressed, the corresponding uppercase
letter is sent.
To distinguish a pointer button from a key, the high bit of
the character is set (but this is bit is normally stripped
unless the terminal mode is RAW; see tty(4) for details).
MENUS
The xterm terminal emulator has three different menus, named
xterm, Modes, and Tektronix.
Each menu pops up under the correct combinations of key and
button presses. Most menus are divided into two section,
separated by a horizontal line. The top portion contains
various modes that can be altered. A check mark appears
next to a mode that is currently active. Selecting one of
these modes toggles its state.
The bottom portion of the menu are command entries;
selecting one of these performs the indicated function.
The xterm menu pops up when the ``control'' key and pointer
button one are pressed in a window. The modes section
contains items that apply to both the VT102 and Tektronix
windows. The Secure Keyboard mode should be used when
typing in passwords or other sensitive data; see SECURITY.
Notable entries in the command section of the menu are
Continue, Suspend, Interrupt, Hangup, Terminate and Kill
which send the SIGCONT, SIGTSTP, SIGINT, SIGHUP, SIGTERM and
SIGKILL signals, respectively, to the process group of the
process running under xterm (usually the shell). The
Continue function is especially useful if the user has
accidentally typed CTRL-Z, suspending a process.
The Modes menu sets various modes in the VT102 emulation,
and is popped up when the ``control'' key and pointer button
two are pressed in the VT102 window. In the command section
of this menu, the soft reset entry will reset scroll
regions. This can be convenient when some program has left
the scroll regions set incorrectly (often a problem when
using VMS or TOPS-20). The full reset entry will clear the
screen, reset tabs to every eight columns, and reset the
terminal modes (such as wrap and smooth scroll) to their
initial states just after xterm has finished processing the
command line options.
Printed 3/22/89 16
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
The Tektronix menu sets various modes in the Tektronix
emulation, and is popped up when the ``control'' key and
pointer button two are pressed in the Tektronix window. The
current font size is checked in the modes section of the
menu.
The PAGE entry in the command section clears the Tektronix
window.
SECURITY
X environments differ in their security consciousness. The
servers provided by MIT use a host-based mechanism to
control access to the server (see xhost(1x11)). If you
enable access for a host, and other users are also permitted
to run clients on that host, there is the possibility that
someone will run an application that will attempt to use the
basic services of the X protocol to snoop on your
activities, and potentially capture a transcript of
everything you type at the keyboard. This is of particular
concern when you want to type in a password or other
sensitive data.
The best solution to this problem is for the industry to
choose a standard authorization mechanism, with the
necessary operating system support, and to incorporate this
into the X protocol (which is already designed to handle
such a mechanism). In the mean time, since passwords are
most commonly typed to something running in an xterm window,
a simple mechanism exists for protecting keyboard input in
xterm.
The xterm menu (see MENUS ) contains a Secure Keyboard entry
which, when enabled, ensures that all keyboard input is
directed only to xterm (using the GrabKeyboard protocol
request). When an application prompts you for a password
(or other sensitive data), you can enable Secure Keyboard
using the menu, type in the data, and then disable Secure
Keyboard using the menu again.
Only one X client at a time can secure the keyboard, so when
you attempt to enable Secure Keyboard it may fail. In this
case, the bell will sound. If the Secure Keyboard succeeds,
the foreground and background colors will be exchanged (as
if you selected the Reverse Video entry in the Modes menu);
they will be exchanged again when you exit secure mode. If
the colors do not switch, then you should be very suspicious
that you are being spoofed. If the application you are
running displays a prompt before asking for the password, it
is safest to enter secure mode before the prompt gets
displayed, and to make sure that the prompt gets displayed
correctly (in the new colors), to minimize the probability
of spoofing. You can also bring up the menu again and make
Printed 3/22/89 17
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
sure that a check mark appears next to the entry.
Secure Keyboard mode will be disabled automatically if your
xterm window becomes iconified (or otherwise unmapped), or
if you start up a reparenting window manager (that places a
title bar or other decoration around the window) while in
Secure Keyboard mode. (This is a feature of the X protocol
not easily overcome.) When this happens, the foreground and
background colors will be switched back and the bell will
sound in warning.
CHARACTER CLASSES
Clicking the middle mouse button twice in rapid succession
will cause all characters of the same class (e.g. letters,
white space, punctuation) to be selected. Since different
people have different preferences for what should be
selected (for example, should filenames be selected as a
whole or only the separate subnames), the default mapping
can be overridden through the use of the charClass (class
CharClass) resource.
This resource is simply a list of range:value pairs where
the range is either a single number or low-high in the range
of 0 to 127, corresponding to the ASCII code for the
character or characters to be set. The value is arbitrary,
although the default table uses the character number of the
first character occurring in the set.
The default table is:
static int charClass[128] = {
/* NUL SOH STX ETX EOT ENQ ACK BEL */
32, 1, 1, 1, 1, 1, 1, 1,
/* BS HT NL VT NP CR SO SI */
1, 32, 1, 1, 1, 1, 1, 1,
/* DLE DC1 DC2 DC3 DC4 NAK SYN ETB */
1, 1, 1, 1, 1, 1, 1, 1,
/* CAN EM SUB ESC FS GS RS US */
1, 1, 1, 1, 1, 1, 1, 1,
/* SP ! " # $ % & ' */
32, 33, 34, 35, 36, 37, 38, 39,
/* ( ) * + , - . / */
40, 41, 42, 43, 44, 45, 46, 47,
/* 0 1 2 3 4 5 6 7 */
48, 48, 48, 48, 48, 48, 48, 48,
/* 8 9 : ; < = > ? */
48, 48, 58, 59, 60, 61, 62, 63,
/* @ A B C D E F G */
64, 48, 48, 48, 48, 48, 48, 48,
/* H I J K L M N O */
48, 48, 48, 48, 48, 48, 48, 48,
/* P Q R S T U V W */
Printed 3/22/89 18
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
48, 48, 48, 48, 48, 48, 48, 48,
/* X Y Z [ \ ] ^ _ */
48, 48, 48, 91, 92, 93, 94, 48,
/* ` a b c d e f g */
96, 48, 48, 48, 48, 48, 48, 48,
/* h i j k l m n o */
48, 48, 48, 48, 48, 48, 48, 48,
/* p q r s t u v w */
48, 48, 48, 48, 48, 48, 48, 48,
/* x y z { | } ~ DEL */
48, 48, 48, 123, 124, 125, 126, 1};
For example, the string ``33:48,37:48,45-47:48,64:48''
indicates that the exclamation mark, percent sign, dash,
period, slash, and ampersand characters should be treated
the same way as characters and numbers. This is very useful
for cutting and pasting electronic mailing addresses and
UNIX* operating system filenames.
KEY TRANSLATIONS
It is possible to rebind keys (or sequences of keys) to
arbitrary strings for input, by changing the translations
for the vt100 or tek4014 widgets. Changing the translations
for events other than key and button events is not expected,
and will cause unpredictable behavior.
The actions available for key translations are:
secure() Toggles the Secure Keyboard mode; see
SECURITY.
insert() Processes the key in the normal way; i.e.
inserts the ASCII character code
corresponding to the keysym found in the
keyboard mapping table into the input stream.
string(string) Rebinds the key or key sequence to the string
value; that is, inserts the string argument
into the input stream. Quotation is
necessary if the string contains whitespace
or non-alphanumeric characters. If the
string argument begins with the characters
``0x'', it is interpreted as a hex character
constant and the corresponding character is
sent in the normal way.
keymap(name) The keymap action takes a single string
argument naming a resource to be used to
dynamically define a new translation table;
the name of the resource is obtained by
appending the string ``Keymap'' to name.
The keymap name None restores the original
translation table (the very first one; a
Printed 3/22/89 19
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
stack is not maintained). Upper/lower case
is significant.
insert-selection(name[,name]...)
Retrieves the value of the first (left-most)
named selection that exists or cut buffer
that is non-empty and inserts the value into
the input stream. Name is the name of any
selection, for example, PRIMARY or SECONDARY,
or the name of a cut buffer: CUT_BUFFER0,
..., CUT_BUFFER7. Upper/lower case is
significant.
For example, a debugging session might benefit from the
following bindings:
*VT100.Translations: #override <Key>F13: keymap(dbx)
*VT100.dbxKeymap.translations: \
<Key>F14: keymap(None) \n\
<Key>F17: string("next") string(0x0d) \n\
<Key>F18: string("step") string(0x0d) \n\
<Key>F19: string("continue") string(0x0d) \n\
<Key>F20: string("print ") insert-selection(PRIMARY, CUT_BUFFER0)
KEY/BUTTON BINDINGS
Within the VT100 widget the key and button bindings for
selecting text, pasting text, and activating the menus are
controlled by the translation bindings. In addition to the
actions listed above under KEY TRANSLATIONS, the following
actions are available:
mode-menu() Posts one of the two mode menus, depending on
which button is pressed.
select-start() Unselects any previously selected text and
begins selecting new text.
select-extend()
Continues selecting text from the previous
starting position.
start-extend() Begins extending the selection from the
farthest (left or right) edge.
select-end(name[,name]...)
Ends the text selection. Name is the name of
a selection, or the name of a cut buffer into
which the text is to be copied. Xterm will
assert ownership of all the selections named
and will copy the text into each of the cut
buffers. Upper/lower case is significant.
Printed 3/22/89 20
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
ignore() Quietly discards the key or button event.
bell([volume]) Rings the bell at the specified volume
increment above/below the base volume.
The default bindings are:
<KeyPress>:insert() \n\
Ctrl ~Meta <Btn1Down>:mode-menu() \n\
~Meta <Btn1Down>:select-start() \n\
~Meta <Btn1Motion>:select-extend() \n\
Ctrl ~Meta <Btn2Down>:mode-menu() \n\
~Ctrl ~Meta <Btn2Down>:ignore() \n\
~Meta <Btn2Up>:insert-selection(PRIMARY, CUT_BUFFER0) \n\
~Ctrl ~Meta <Btn3Down>:start-extend() \n\
~Meta <Btn3Motion>:select-extend() \n\
~Meta <BtnUp>:select-end(PRIMARY, CUT_BUFFER0) \n\
<BtnDown>:bell(0)
STARTING XTERM FROM INIT
Warning, this feature is now obsolete and may not be
supported in future releases. Sites using this method
should switch to xdm(1x11) instead.
Tektronix provides the xsystem(8x11) program as the
preferred method of starting X11.
On operating systems such as 4.3bsd and Ultrix, the server
and initial login window are normally started automatically
by init(8).
By convention, the pseudoterminal with the highest minor
device number (e.g. /dev/ttyqf and /dev/ptyqf) is renamed
for the lowest display number (e.g. /dev/ttyv0 and
/dev/ptyv0). Machines that have more than one display can
repeat this process using ttyqe for ttyv1, and so on.
Once the pseudoterminals are in place, a line similar to the
following may be added to /etc/ttys (replacing Xqvss with
the appropriate server and putting it all on one line):
ttyv0 "/usr/bin/X11/xterm -L -geom 80x24+1+1 -display :0"
xterm on secure window="/usr/bin/X11/Xqvss :0"
Sites that used to run X10 should note that the colon in the
server display number is required.
Although the release will install both the X server and
xterm in /usr/bin/X11 by default, many sites choose to make
a copy of both of these programs on the root partition
(usually in /etc) so that they may still be used even if the
partition containing /usr/bin/X11 isn't mounted.
Printed 3/22/89 21
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
Some versions of init have relatively small program name
buffer sizes and treat all sharp signs as comment
delimiters. Sites that wish to list large numbers of
options on the xterm line will need to write a small shell
script to exec the long xterm line. The best solution, of
course, is to use xdm.
OTHER FEATURES
The xterm emulator automatically highlights the text cursor
when the window is selected and unhighlights it when the
window is unselected.
"Selection" means that keyboard typing goes to the window.
How selection occurs is a function of the window manager;
most window managers either make the focus go wherever the
pointer is or allow users to select a focus window with a
mouse button.
In VT102 mode, there are escape sequences to activate and
deactivate an alternate screen buffer, which is the same
size as the display area of the window. When activated, the
current screen is saved and replace with the alternate
screen. Saving of lines scrolled off the top of the window
is disabled until the normal screen is restored. The
termcap(5) entry for xterm allows the visual editor vi(1) to
switch to the alternate screen for editing, and restore the
screen on exit.
In either VT102 or Tektronix mode, there are escape
sequences to change the name of the windows and to specify a
new log file name.
ENVIRONMENT
The xterm emulator sets the environment variables ``TERM''
and ``TERMCAP'' properly for the size window you have
created. It also uses and sets the environment variable
``DISPLAY'' to specify which bit map display terminal to
use. The environment variable ``WINDOWID'' is set to the X
window id number of the xterm window.
SEE ALSO
pty(4), resize(1x11), tty(4), X(1x11), and the document
Xterm Control Sequences.
CAVEATS
The -L option is no longer needed as the new xdm display
manager system handles logging it in a much cleaner way.
This option may be removed in future releases.
The xterm emulator will hang if you try to paste too much
text at one time. It is both producer and consumer for the
pty and can deadlock.
Printed 3/22/89 22
XTERM(1X11) COMMAND REFERENCE XTERM(1X11)
Variable-width fonts are not handled reasonably.
The focus is considered lost if some other client (e.g., the
window manager) grabs the pointer.
Many of the options are not resettable after xterm starts.
The Tek widget does not support key/button re-binding.
AUTHORS
Loretta Guarino Reid (DEC-UEG-WSL), Joel McCormack (DEC-
UEG-WSL), Terry Weissman (DEC-UEG-WSL), Edward Moy
(Berkeley), Ralph R. Swick (MIT-Athena), Mark Vandevoorde
(MIT-Athena), Bob McNamara (DEC-MAD), Jim Gettys (MIT-
Athena), Bob Scheifler (MIT X Consortium), Doug Mink (SAO),
Steve Pitschke (Stellar), Ron Newman (MIT-Athena), Jim
Fulton (MIT X Consortium), Dave Serisky (HP).
*UNIX is a registered trademark of AT&T.
Printed 3/22/89 23
%%index%%
na:336,83;
sy:419,246;
de:665,1620;
op:2285,802;3495,3067;6970,3291;10669,2972;14049,2709;17166,2814;20388,4417;25213,2728;28349,4250;33007,4050;37465,4441;42314,4707;47429,3669;51506,3917;55831,2619;58858,3933;63199,4071;67678,3098;71184,3447;75039,3890;79337,4020;83765,2347;
ca:86371,1396;88175,908;
se:86112,259;
%%index%%000000000350