XSERVER(1) MachTen Programmer’s Manual XSERVER(1)
Xserver - X Window System display server
X [option ...]
X is the generic name for the X Window System display
server. On MachTen and XTen systems it is a link to the
binary image XMachTen.
STARTING THE SERVER
The X server is started via different methods on MachTen
and XTen. See XMachTen(n) for more details on X server
startup and shutdown.
The MachTen X servers accept the following command line
the X server runs as the given displaynumber,
which by default is 0. If multiple X servers are
to run simultaneously on a host, each must have a
unique display number. See the DISPLAY NAMES sec-
tion of the X(3) manual page to learn how to spec-
ify which display number clients should try to
-ac disables host-based access
Enables access by any host, and permits any host
to modify the access control list. Use with
extreme caution. This option exists primarily for
running test suites remotely.
Sets the audit trail level. The default level is
1, meaning only connection rejections are
reported. Level 2 additionally reports all suc-
cessful connections and disconnects. Level 0
turns off the audit trail. Audit lines are sent
as standard error output.
Specifies a file which contains a collection of
authorization records used to authenticate access.
See also the xdm and Xsecurity manual pages.
bc disables certain kinds of
error checking, for bug
compatibility with previous releases (e.g., to
work around bugs in R2 and R3 xterms and toolk-
-bs disables backing store support on all screens.
specifies that the Macintosh Command (Apple) key
will be used as an X Alt key. The default opera-
tion of the Macintosh Command key is the X Meta
sets name of RGB color database. The default is
<XRoot>/lib/X11/rgb, where <XRoot> refers to the
root of the X11 install tree.
reads more options from the given file. Options
in the file may be separated by newlines if
desired. If a ’#’ character appears on a line,
all characters between it and the next newline are
ignored, providing a simple commenting facility.
The -config option itself may appear in the file.
sets the resolution of the screen, in dots per
inch. To be used when the server cannot determine
the screen size from the hardware.
specifies the types of fonts for which the server
should attempt to use deferred glyph loading.
whichfonts can be all (all fonts),
sets default cursor font.
sets the default font.
sets the search path for fonts. This path is a
comma separated list of directories which the X
server searches for font databases.
-fs starts the server in full
screen mode. In this
mode, the Macintosh menu bar is hidden by the X
desktop. Pull down menus from the Mac menu bar
remain accessible by pressing the mouse button
while dragging the cursor along the top edge of
the X desktop.
-help prints a usage message.
-I causes all remaining command
line arguments to be
changes the middle mouse button keystroke mapping
from the default <left arrow> key. The key is
entered as a decimal value representing the Macin-
tosh virtual key code corresponding to the desired
key. Allowable values are between 0 and 127.
changes the right mouse button keystroke mapping
from the default <right arrow> key.
-menu starts the server in
dedicated full screen mode.
In this mode, the Macintosh menu bar is hidden and
access to Mac pull down menus is completely dis-
abled. Access to the Macintosh desktop is allowed
only via the xtmenu(9) program. Use this option
with extreme caution, as it effectively locks out
the Macintosh desktop GUI enviroment when the X
desktop is visible!
-mo specifies that the Macintosh
Option key will be
used in combination with the mouse button
keystroke to simulate the middle or right mouse
button. When used without the -mbm or -mbr start
up options, the default middle and right mouse
button keystrokes become <Option-left arrow> and
<Option-right arrow>, respectively. This option
also causes the <up arrow> and <down arrow> keys
to function normally.
-pn permits the server to
continue running if it fails
to establish all of its well-known sockets (con-
nection points for clients), but establishes at
-swc runs the server with a
software cursor, allowing
oversized X client specified cursors with a slight
tradeoff in tactile response. Specifying this
option will force the server to operate in full
screen mode (refer to the "-menu" option).
-su disables save under support on all screens.
causes the server to terminate at server reset,
instead of continuing to run.
sets default connection timeout in seconds.
-tst disables all testing
extensions (e.g., XTEST,
ttyxx ignored, for servers
started the ancient way (from
-wm forces the default
backing-store of all windows to
be WhenMapped. This is a backdoor way of getting
backing-store to apply to all windows. Although
all mapped windows will have backing store, the
backing store attribute value reported by the
server for a window will be the last value estab-
lished by a client. If it has never been set by a
client, the server will report the default value,
NotUseful. This behavior is required by the X
protocol, which allows the server to exceed the
client’s backing store expectations but does not
provide a way to tell the client that it is doing
loads the specified extension at init. This is a
no-op for most implementations.
SERVER DEPENDENT OPTIONS
Some X servers accept the following options:
sets the data space limit of the server to the
specified number of kilobytes. A value of zero
makes the data size as large as possible. The
default value of -1 leaves the data space limit
sets the number-of-open-files limit of the server
to the specified number. A value is zero makes
the limit as large as possible. The default value
of -1 leaves the limit unchanged.
sets the stack space limit of the server to the
specified number of kilobytes. A value of zero
makes the stack size as large as possible. The
default value of -1 leaves the stack space limit
X servers that support XDMCP have the following options.
See the X Display Manager Control Protocol specification
for more information.
Enable XDMCP and send Query packets to the speci-
Enable XDMCP and broadcast BroadcastQuery packets
to the network. The first responding display man-
ager will be chosen for the session.
Enable XDMCP and send IndirectQuery packets to the
Use an alternate port number for XDMCP packets.
Must be specified before any -query, -broadcast or
XDMCP has an additional display qualifier used in
resource lookup for display-specific options.
This option sets that value, by default it is
"MIT-Unspecified" (not a very useful value).
When testing XDM-AUTHENTICATION-1, a private key
is shared between the server and the manager.
This option sets the value of that private data
(not that it is very private, being on the command
Yet another XDMCP specific value, this one allows
the display manager to identify each display so
that it can locate the shared key.
X servers that support the XKEYBOARD extension accept the
base directory for keyboard layout files
keyboard description to load on startup
enable(+) or disable(-) AccessX key sequences
Many servers also have
device-specific command line
options. See the manual pages for the individual servers
for more details.
The X server supports client connections via a platform-
dependent subset of the following transport types: TCPIP,
Unix Domain sockets, DECnet, and several varieties of SVR4
local connections. See the DISPLAY NAMES section of the
X(3) manual page to learn how to specify which transport
type clients should try to use.
The X server implements a platform-dependent subset of the
following authorization protocols: MIT-MAGIC-COOKIE-1,
XDM-AUTHORIZATION-1, SUN-DES-1, and MIT-KERBEROS-5. See
the Xsecurity(3) manual page for information on the opera-
tion of these protocols.
Authorization data required by
the above protocols is
passed to the server in a private file named with the
-auth command line option. Each time the server is about
to accept the first connection after a reset (or when the
server is starting), it reads this file. If this file
contains any authorization records, the local host is not
automatically allowed access to the server, and only
clients which send one of the authorization records con-
tained in the file in the connection setup information
will be allowed access. See the Xau manual page for a
description of the binary format of this file. See
xauth(1) for maintenance of this file, and distribution of
its contents to remote hosts.
The X server also uses a
host-based access control list
for deciding whether or not to accept connections from
clients on a particular machine. If no other authoriza-
tion mechanism is being used, this list initially consists
of the host on which the server is running as well as any
machines listed in the file /etc/Xn.hosts, where n is the
display number of the server. Each line of the file
should contain either an Internet hostname (e.g.
expo.lcs.mit.edu) or a DECnet hostname in double colon
format (e.g. hydra::). There should be no leading or
trailing spaces on any lines. For example:
Users can add or remove hosts
from this list and enable or
disable access control using the xhost command from the
same machine as the server.
The X protocol intrinsically
does not have any notion of
window operation permissions or place any restrictions on
what a client can do; if a program can connect to a dis-
play, it has full run of the screen. Sites that have bet-
ter authentication and authorization systems might wish to
make use of the hooks in the libraries and the server to
provide additional security models.
The X server attaches special meaning to the following
SIGHUP SIGTERM This signal
causes the server to close all
existing connections, free all resources, and
restore all defaults. It is sent by the display
manager whenever the main user’s main application
(usually an xterm or window manager) exits to
force the server to exit cleanly.
SIGUSR1 This signal is used
quite differently from either
of the above. When the server starts, it checks
to see if it has inherited SIGUSR1 as SIG_IGN
instead of the usual SIG_DFL. In this case, the
server sends a SIGUSR1 to its parent process after
it has set up the various connection schemes. Xdm
uses this feature to recognize when connecting to
the server is possible.
The X server can obtain fonts from directories and/or from
font servers. The list of directories and font servers
the X server uses when trying to open a font is controlled
by the font path.
The default font path is
<XRoot>/lib/X11/fonts/100dpi/ where <XRoot> refers to the
root of the X11 install tree.
The font path can be set with
the -fp option or by xset(1)
after the server has started.
Font databases are created by
running the mkfontdir pro-
gram in the directory containing the compiled versions of
the fonts (the .pcf files). Whenever fonts are added to a
directory, mkfontdir should be rerun so that the server
can find the new fonts. If mkfontdir is not run, the
server will not be able to find any fonts in the direc-
/etc/Xn.hosts Initial access control list
for display number n
Bitmap font directories
Outline font directories
<XRoot>/lib/X11/fonts/PEX PEX font directories
<XRoot>/lib/X11/rgb.txt Color database
/tmp/.X11-unix/Xn Unix domain
socket for dis-
play number n
/tmp/rcXn Kerberos 5 replay
display number n
/usr/adm/Xnmsgs Error log file
number n if run from init(8)
Default error log file if
the server is run from
Note: <XRoot> refers to the root of the X11 install tree.
General information: X(3)
Protocols: X Window System
Protocol, The X Font Service
Protocol, X Display Manager Control Protocol
mkfontdir(1), xfs(1), xlsfonts(1),
xfontsel(1), xfd(1), X Logical Font Description Conven-
Security: Xsecurity(3), xauth(1), Xau(1), xdm(1), xhost(1)
Starting the server: xdm(1), xinit(1)
Controlling the server once
started: xset(1), xsetroot(1),
Server-specific man pages: XMachTen(1), xtmenu(1), wind(8)
Server internal documentation:
Definition of the Porting
Layer for the X v11 Sample Server, Strategies for Porting
the X v11 Sample Server, Godzilla’s Guide to Porting the X
V11 Sample Server
The sample server was originally written by Susan Ange-
branndt, Raymond Drewry, Philip Karlton, and Todd Newman,
from Digital Equipment Corporation, with support from a
large cast. It has since been extensively rewritten by
Keith Packard and Bob Scheifler, from MIT.
X Version 11 Release 6 7