Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

X(1X)

bdftopcf(1X)

mkfontdir(1X)

xauth(1X)

xdm(1X)

xhost(1X)

xset(1X)

xsetroot(1X)

xterm(1X)

Xws(8)

NAME

Xws − X Window System server

SYNOPSIS

Xws [ option ... ]

DESCRIPTION

The Xws command starts the X server. 

SUPPORTED GRAPHICS OPTIONS

The Xws X server is based on X11R5 and supports the following systems and graphics options:

DECstation 2100/3100 monochrome (PMAX-MFB)
DECstation 2100/3100 color (PMAX-CFB)
DECstation 5000/25 baseboard graphics (PMAG-DV)
DECstation 5000/33 baseboard graphics (PMAG-DV)
MX (PMAG-AA)
CX (PMAG-BA)
HX (PMAGB-BA)
PX (PMAG-CA)

NETWORK CONNECTIONS

The X server supports connections made using the following reliable byte-streams:

TCP/IP
The server listens on port 6000+n, where n is the display number. 

UNIX Domain
The X server uses /tmp/.X11-unix/Xn as the filename for the socket, where n is the display number. 

Shared Memory
The X server uses shared memory.

DECnet
The server responds to connections to object X$Xn, where n is the display number. 

OPTIONS

The X server accepts the following command line options:

−a number
Sets pointer acceleration (that is, the ratio of how much is reported to how much the user actually moved the pointer).

−ac Disables host-based access control mechanisms.  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. 

−audit level
Sets the audit trail level.  The default level is 1, meaning only connection rejections are reported.  Level 2 additionally reports all successful connections and disconnections.  Level 0 turns off the audit trail.  Audit lines are sent as standard error output.

−auth authorization-file
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 (for example, to work around bugs in R2 and R3 xterms and toolkits).  Use of this option is not recommended. 

−bs Disables backing store support on all screens. 

−c Turns off key-click. 

c volume
Sets the key-click volume (allowable range: 0-100).

−cc class
Sets the visual class for the root window of color screens. The class numbers are those specified in the X protocol. This option is not obeyed by all servers.

−co filename
Sets the name of the RGB color database.

−core Causes the server to generate a core dump on fatal errors. 

−f volume
Sets the bell volume (allowable range: 0-100).

−fc cursorFont
Sets the default cursor font.

−fn font
Sets the default font.

−fp fontPath
Sets the search path for fonts.  This path is a comma separated list of directories which the X server searches for font databases. All components of the list must be valid font directories or the X server will exit, not finding the default font.

It is recommended that you not use this option because of the problems caused by an invalid font path.  If you install a new set of fonts, it is best to specify the font path in a start-up file such as Xsession or .xsession using the xset +fp command.  Then, if the font path is invalid for any reason, the X server will still run. 

−help
Prints a usage message.

−I Causes all remaining command line arguments to be ignored. 

−ld kilobytes
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 unchanged.

−lf files
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.

−ls kilobytes
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 unchanged.

−logo
Turns on the X Window System logo display in the screen-saver. There is currently no way to change this setting from a client.

nologo
Turns off the X Window System logo display in the screen-saver. There is currently no way to change this setting from a client.

−p minutes
Sets the screen-saver pattern cycle time in minutes.

−pn
Permits the server to continue running if it fails to establish all of its well-known sockets, but establishes at least one. (Default)

pn Prevents the server from continuing to run if it fails to establish all of its well-known sockets. 

−r Turns off auto-repeat. 

r Turns on auto-repeat. 

−s minutes
Sets the screen-saver timeout time in minutes.

−su
Disables the save under support on all screens.

−t number
Sets the pointer acceleration threshold in pixels (that is, after how many pixels pointer acceleration should take effect).

−terminate
Causes the server to terminate at server reset, instead of continuing to run.

−to seconds
Sets the default connection timeout in seconds.

−tst
Disables all testing extensions (for example, XTEST, XTrap, XTestExtension1).

ttyxx
This option is a valid option but is ignored by the Xws server. 

v Sets video-off screen-saver preference. 

−v Sets video-on screen-saver preference. 

−wm
Forces the default backing-store of all windows to be WhenMapped. This option is a quick way of getting backing-store to apply to all windows.

−x extension
Loads the specified extension at initialization. Some extensions have only a small portion loaded at initialization, saving memory until the extension is actually requested. This option forces the complete loading of the extension at initialization time, saving a small amount of startup time when the first request for the extension is made by a client application. Not all extensions will implement this feature.

You can also have the X server connect to xdm using XDMCP.  Although this method is not typically useful as it does not allow xdm to manage the server process, it can be used to debug XDMCP implementations, and serves as a sample implementation of the server side of XDMCP.  For more information on this protocol, see the X Display Manager Control Protocol specification.  The following options control the behavior of XDMCP. 

−query host-name
Enables XDMCP and sends Query packets to the specified host.

−broadcast
Enables XDMCP and broadcasts BroadcastQuery packets to the network.  The first responding display manager will be chosen for the session.

−indirect host-name
Enables XDMCP and sends IndirectQuery packets to the specified host.

−port port-num
Uses an alternate port number for XDMCP packets.  Must be specified before any −query, −broadcast, or −indirect options. 

−class display-class
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", which is not very useful.

−cookie xdm-auth-bits
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, although because it is on the command line, it is not very private.

−displayID display-id
Yet another XDMCP-specific value, this one allows the display manager to identify each display so that it can locate the shared key.

The following options are device dependent and Digital specific.  When the server is run on multiscreen-capable platforms, selected device-dependent options take an optional screen-specification argument.  Omitting the screen-specification argument defines the parameter for all available screens. 

−btn num
Specifies the number of buttons on the pointer device.  The default is 3 for a mouse device and 4 for a tablet device.

−bp[screen]  color
Sets the color of black pixels for the screen. The color argument can be a named color from the rgb database or a number sign (#) followed by a hexidecimal number. 

−vclass[screen]  visual class
Sets the visual class for the root window of the screen.  Possible values are StaticGray, StaticColor, PseudoColor, GrayScale, TrueColor, and DirectColor. 

−dpi[screen]  num
Sets the dots-per-inch for the x and y coordinates.

−dpix[screen]  num
Sets the dots-per-inch for the x coordinates.

−dpiy[screen]  num
Sets the dots-per-inch for the y coordinates.

−edge_bottomscr1 scr2
Attaches the bottom edge of the screen specified by scr1 to the screen specified by scr2. 

−edge_leftscr1 scr2
Attaches the left edge of the screen specified by scr1 to the screen specified by scr2. 

−edge_rightscr1 scr2
Attaches the right edge of the screen specified by scr1 to the screen specified by scr2. 

−edge_topscr1 scr2
Attaches the top edge of the screen specified by scr1 to the screen specified by scr2. 

−wp[screen]  color
Sets the color of white pixels for the screen.  The syntax for color is the same as for the argument to the -bp option. 

RESTRICTIONS

If options not listed in this reference page are used, the server may fail. Using invalid options for the X server in the /etc/ttys file may cause the X server to start and fail repetitively. 

Multiscreen configurations may only contain homogeneous configuration display devices. 

To connect two screens, two command line options must be issued.  Attaching two screens using only one -edge_ argument produces a one-way mouse-travel path.  You can create a wrap-around mouse path by attaching noncontiguous screen edges.  The -edge_ arguments are disabled on single screen systems. 

Nonsensical screen connections are not allowed; the top edge of a particular screen must be connected with the bottom edge of another screen, and the right edge of a particular screen must be connected with the left edge of another screen.  Left and right edges cannot be connected to top or bottom edges. 

EXAMPLES

The following example specifies that screen 0 has a resolution of 100x100 dots-per-inch and screen 1 has a resolution of 75x70 dots-per-inch:

  Xws -dpi0 100 -dpix1 75 -dpiy1 70

If no screen is specified, the value specified is used for all screens.  If the screen resolution is not specified using command line options, a default value based on pixel dimensions and screen size is calculated for each screen. 

The following example specifies that black pixels on screen 1 have the hexadecimal value 3a009e005c0 prefixed with a number sign (#) and white pixels on screen 1 are color "wheat" from the X rgb color database. 

  Xws -bp1 #3a009e005c0 -wp1 wheat

For monochrome display devices, values of 0 and 1 are the only valid pixel colors. 

To specify the default visual class of a root window on a particular screen, append the screen number (0, 1, or 2) to the −vclass command line option.  Possible visual classes are: StaticGray, StaticColor, PseudoColor, GrayScale, TrueColor, and DirectColor.  The following example specifies that the screen 0 root window is a TrueColor visual, and the screen 1 root window is a PseudoColor visual. 

  Xws -class0 TrueColor -class1 PseudoColor

The following example attaches screen 1 above screen 0 and screen 2 to the right of screen 0 (an L-shaped configuration):

  Xws -edge_top0 1 -edge_bottom1 0 -edge_right0 2 -edge_left2 0

The following example is identical to the default state (a horizontal line) with the addition of a wraparound from screen 0 to screen 2:

  Xws -edge_left0 2 -edge_right0 1 -edge_left1 0 -edge_right1 2 \
  -edge_left2 1 -edge_right2 0

SECURITY

The X server implements a simplistic authorization protocol, MIT-MAGIC-COOKIE-1.  This protocol uses data private to authorized clients and the server.  It is a rather trivial scheme; if the client passes authorization data that is the same as the server has, it is allowed access.  This scheme is worse than the host-based access control mechanisms in environments with unsecure networks because it allows any host to connect, given that it has discovered the private key.  But in many environments, this level of security is better than the host-based scheme because it allows access control per-user instead of per-host. 

The authorization data 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 contained 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. 

The X server also uses a host-based access control list for deciding whether to accept connections from clients on a particular machine.  If no other authorization 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 (for example, expo.lcs.mit.edu) or a DECnet hostname in double colon format (for example, 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. 

SIGNALS

The X 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.

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 it is possible to connect to the server. 

FONTS

Fonts are usually stored as individual files in directories.  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.  Although most sites will choose to have the X server start up with the appropriate font path (using the -fp option described previously), it can be overridden using the xset program. 

The default font path for the X server contains eight directories:

/usr/lib/X11/fonts/decwin
This directory contains font directories for 75dpi fonts and 100dpi fonts used by Digital’s out-of-the-box applications such as dxcalendar and dxterm.

/usr/lib/X11/fonts/misc
This directory contains many miscellaneous bitmap fonts that are useful on all systems.  It contains a family of fixed-width fonts, a family of fixed-width fonts from Dale Schumacher, several Kana fonts from Sony Corporation, two JIS Kanji fonts, two Hangul fonts from Daewoo Electronics, two Hebrew fonts from Joseph Friedman, the standard cursor font, two cursor fonts from Digital Equipment Corporation, and cursor and glyph fonts from Sun Microsystems.  It also has various font name aliases for the fonts, including fixed and variable. 

/usr/lib/X11/fonts/Speedo
This directory contains outline fonts for Bitstream’s Speedo rasterizer.  A single font face − in normal, bold, italic, and bold italic − is provided, contributed by Bitstream, Inc.

/usr/lib/X11/fonts/Type1
This directory contains "Type 1" (PostScript) format outline fonts for IBM’s rasterizer.

/usr/lib/X11/fonts
This directory contains bitmap fonts for 75dpi and 100dpi displays contributed by Adobe Systems, Inc., Digital Equipment Corporation, Bitstream, Inc., Bigelow and Holmes, and Sun Microsystems, Inc. An integrated selection of sizes, styles, and weights are provided for each family.

/usr/lib/X11/fonts/local

/usr/lib/X11/fonts/apps

/usr/lib/X11/fonts/private

Font databases are created by running the mkfontdir program 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 directory. 

FILES

/etc/X*.hosts Initial access control list
/usr/lib/X11/fonts/misc,
/usr/lib/X11/fonts/75dpi,
/usr/lib/X11/fonts/100dpi
Bitmap font directories
/usr/lib/X11/fonts/speedo,
/usr/lib/X11/fonts/Type1
Outline font directories
/usr/lib/X11/fonts/decwin/100dpi,
/usr/lib/X11/fonts/decwin/75dpi
DECwindows font directories
/usr/lib/X11/rgb.txt Color database
/tmp/.X11-unix/X* UNIX domain socket
/usr/adm/X*msgs Error log file
/usr/bin/X11/Xws Executable image

SEE ALSO

X(1X), bdftopcf(1X), mkfontdir(1X), xauth(1X), xdm(1X), xhost(1X), xset(1X), xsetroot(1X), xterm(1X), 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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026