XSERVER(1) BSD XSERVER(1)
NAME
X - X Window System server
SYNOPSIS
X [:displaynumber] [-option ...] [ttyname]
DESCRIPTION
X is the generic name for the X Window System server. It is frequently a
link or a copy of the appropriate server binary for driving the most
frequently used server on a given machine. On Apollo systems, Xapollo is
the name of the X server.
STARTING THE SERVER
X is typically started by the user at login via the xinit client or at
workstation boot time using /etc/rc.local, but on Apollo systems we
recommend starting it in /etc/rc as a daemon or via For more details, see
Xapollo(1), the share-mode R2 server, and Xdomain(1), the borrow-mode R4
server.
On non-Apollo systems, the server is usually started from the X Display
Manager program xdm. This utility is run from the system boot files and
takes care of keeping the server running, prompting for usernames and
passwords, and starting up the user sessions. It is easily configured
for sites that wish to provide nice, consistent interfaces for novice
users (loading convenient sets of resources, starting up a window
manager, clock, and nice selection of terminal emulator windows).
Since xdm now handles automatic starting of the server in a portable way,
the -L option to xterm is now considered obsolete. Support for starting
a login window from 4.3bsd-derived /etc/ttys files may not be included in
future releases.
Installations that run more than one window system will still need to use
the xinit utility. However, xinit is to be considered a tool for
building startup scripts and is not intended for use by end users.
NETWORK CONNECTIONS
The server supports connections made using the following reliable byte-
streams:
TCP/IP
The server listens on port htons(6000+n), where n is the display
number.
Unix Domain
The server uses /tmp/.X11-unix/Xn as the filename for the socket,
where n is the display number.
DECnet
The server responds to connections to object X$Xn, where n is the
display number.
OPTIONS
The following command line options are accepted:
-a number
sets pointer acceleration (i.e. the ratio of how much is reported
to how much the user actually moved the pointer).
-bs disables backing store support on all screens. [Not available on
Xapollo.]
-c turns off key-click.
c volume
sets key-click volume (allowable range: 0-8).
-f volume
sets feep (bell) volume (allowable range: 0-7).
-logo turns on the X Window System logo display in the screen-saver.
There is currently no way to change this from a client.
nologo turns off the X Window System logo display in the screen-saver.
There is currently no way to change this from a client.
-p minutes
sets screen-saver pattern cycle time in minutes.
-r turns off auto-repeat.
r turns on auto-repeat.
-s minutes
sets screen-saver timeout time in minutes.
-su disables save under support on all screens. [Not available on
Xapollo.]
-t numbers
sets pointer acceleration threshold in pixels (i.e. after how
many pixels pointer acceleration should take effect).
-to seconds
sets default screensaver timeout in seconds.
v sets video-on screen-saver preference.
-v sets video-off screen-saver preference
-co filename
sets name of RGB color database
-help prints a usage message
-fp fontPath
sets the search path for fonts
-fc cursorFont
sets default cursor font
-fn font
sets the default font
-wm forces the default backing-store of all windows to be WhenMapped;
a cheap trick way of getting backing-store to apply to all
windows. [Not available on Xapollo.] See the manual pages for
Xapollo for more Apollo-specific details.
SECURITY
The server uses an access control list for deciding whether or not to
accept connections from clients on a particular machine. 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:
joesworkstation
corporate.company.com
star::
bigcpu::
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. For
example:
% xhost +janesworkstation
janesworkstation being added to access control list
% xhost -star::
public:: being removed from access control list
% xhost +
all hosts being allowed (access control disabled)
% xhost -
all hosts being restricted (access control enabled)
% xhost
access control enabled (only the following hosts are allowed)
joesworkstation
janesworkstation
corporate.company.com
bigcpu::
Unlike some window systems, X 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 display, it has full run of the screen.
The core protocol does have support for providing authentication
information when establishing connections, but is not used in the sample
implementation. Sites that have authentication and authorization systems
(such as Kerberos) might wish to make use of the hooks in the libraries
and the server to provide additional security.
SIGNALS
The server attaches special meaning to the following signals:
SIGHUP 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
clean up and prepare for the next user.
SIGTERM This signal causes the server to exit cleanly.
FONTS
Fonts are usually stored as individual files in directories. The list of
directories in which the server looks when trying to open a font is
controlled by the font path. Although most sites will choose to have the
server start up with the appropriate font path (using the -fp option
mentioned above), it can be overridden using the xset program.
The default font path for the sample server contains three directories:
/usr/lib/X11/fonts/misc
This directory contains several miscellaneous fonts that are
useful on all systems. It contains a very small family of
fixed-width fonts (6x10, 6x12, 6x13, 8x13, 8x13bold, and 9x15)
and the cursor font. It also has font name aliases for the
commonly used fonts fixed and variable.
/usr/lib/X11/fonts/75dpi
This directory contains fonts contributed by Adobe Systems, Inc.
and Digital Equipment Corporation and by Bitstream, Inc. for 75
dots per inch displays. An integrated selection of sizes,
styles, and weights are provided for each family.
/usr/lib/X11/fonts/100dpi
This directory contains versions of some of the fonts in the
75dpi directory for 100 dots per inch displays.
Font databases are created by running the mkfontdir program in the
directory containing the compiled versions of the fonts (the .snf 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 directory.
DIAGNOSTICS
Too numerous to list them all. If run from init(8),
FILES
/etc/X*.hosts Initial access control list
/usr/lib/X11/fonts/100dpi
/usr/lib/X11/fonts/misc, /usr/lib/X11/fonts/75dpi,
Font directories
/usr/lib/X11/rgb.txt Color database
/tmp/.X11-unix/X* Unix domain socket
/usr/adm/X*msgs Error log file
SEE ALSO
X(1), Xdomain(1), vuelogin(1), xdm(1), mkfontdir(1), xinit(1), xterm(1),
uwm(1), xhost(1), xset(1), xsetroot(1), ttys(5), init(8), Xapollo(1), X
Window System Protocol, 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
BUGS
The option syntax is inconsistent with itself and xset(1).
The acceleration option should take a numerator and a denominator like
the protocol.
If X dies before its clients, new clients won't be able to connect until
all existing connections have their TCP TIME_WAIT timers expire.
The color database is missing a large number of colors. However, there
doesn't seem to be a better one available that can generate RGB values
tailorable to particular displays.
The xterm -L method for starting an initial window from /etc/ttys is
completely inadequate and should be removed. People should use xdm
instead.
COPYRIGHT
Copyright 1984, 1985, 1986, 1987, 1988, Massachusetts Institute of
Technology. Apollo-specific changes Copyright 1989 Apollo Computer Inc.
See X(1) for a full statement of rights and permissions.
AUTHORS
The sample server was originally written by Susan Angebranndt, Raymond
Drewry, Philip Karlton, and Todd Newman, with support from a cast of
thouands. See also the file doc/contributors in the sample distribution
for a more complete list.