~ubuntu-branches/ubuntu/intrepid/xserver-xgl/intrepid

« back to all changes in this revision

Viewing changes to doc/Xserver.man.pre

  • Committer: Bazaar Package Importer
  • Author(s): Matthew Garrett
  • Date: 2006-02-13 14:21:43 UTC
  • Revision ID: james.westby@ubuntu.com-20060213142143-mad6z9xzem7hzxz9
Tags: upstream-7.0.0
ImportĀ upstreamĀ versionĀ 7.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.\" $Xorg: Xserver.man,v 1.4 2001/02/09 02:04:07 xorgcvs Exp $
 
2
.\" $XdotOrg: xserver/xorg/doc/Xserver.man.pre,v 1.4 2005/12/23 20:11:12 alanc Exp $
 
3
.\" Copyright 1984 - 1991, 1993, 1994, 1998  The Open Group
 
4
.\"
 
5
.\" Permission to use, copy, modify, distribute, and sell this software and its
 
6
.\" documentation for any purpose is hereby granted without fee, provided that
 
7
.\" the above copyright notice appear in all copies and that both that
 
8
.\" copyright notice and this permission notice appear in supporting
 
9
.\" documentation.
 
10
.\"
 
11
.\" The above copyright notice and this permission notice shall be included
 
12
.\" in all copies or substantial portions of the Software.
 
13
.\"
 
14
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
15
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
16
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 
17
.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
 
18
.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 
19
.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 
20
.\" OTHER DEALINGS IN THE SOFTWARE.
 
21
.\"
 
22
.\" Except as contained in this notice, the name of The Open Group shall
 
23
.\" not be used in advertising or otherwise to promote the sale, use or
 
24
.\" other dealings in this Software without prior written authorization
 
25
.\" from The Open Group.
 
26
.\" $XFree86: xc/programs/Xserver/Xserver.man,v 3.31 2004/01/10 22:27:46 dawes Exp $
 
27
.\" shorthand for double quote that works everywhere.
 
28
.ds q \N'34'
 
29
.TH XSERVER 1 __xorgversion__
 
30
.SH NAME
 
31
Xserver \- X Window System display server
 
32
.SH SYNOPSIS
 
33
.B X
 
34
[option ...]
 
35
.SH DESCRIPTION
 
36
.I X
 
37
is the generic name for the X Window System display server.  It is
 
38
frequently a link or a copy of the appropriate server binary for
 
39
driving the most frequently used server on a given machine.
 
40
.SH "STARTING THE SERVER"
 
41
The X server is usually started from the X Display Manager program 
 
42
\fIxdm\fP(1) or a similar display manager program.
 
43
This utility is run from the system boot files and takes care of keeping
 
44
the server running, prompting for usernames and passwords, and starting up
 
45
the user sessions.
 
46
.PP
 
47
Installations that run more than one window system may need to use the
 
48
\fIxinit\fP(1) utility instead of a display manager.  However, \fIxinit\fP is
 
49
to be considered a tool for building startup scripts and is not
 
50
intended for use by end users.  Site administrators are \fBstrongly\fP
 
51
urged to use a display manager, or build other interfaces for novice users.
 
52
.PP
 
53
The X server may also be started directly by the user, though this
 
54
method is usually reserved for testing and is not recommended for
 
55
normal operation.  On some platforms, the user must have special
 
56
permission to start the X server, often because access to certain
 
57
devices (e.g. \fI/dev/mouse\fP) is restricted.
 
58
.PP
 
59
When the X server starts up, it typically takes over the display.  If
 
60
you are running on a workstation whose console is the display, you may
 
61
not be able to log into the console while the server is running.
 
62
.SH OPTIONS
 
63
Many X servers have device-specific command line options.  See the manual
 
64
pages for the individual servers for more details; a list of
 
65
server-specific manual pages is provided in the SEE ALSO section below.
 
66
.PP
 
67
All of the X servers accept the command line options described below.
 
68
Some X servers may have alternative ways of providing the parameters
 
69
described here, but the values provided via the command line options
 
70
should override values specified via other mechanisms.
 
71
.TP 8
 
72
.B :\fIdisplaynumber\fP
 
73
The X server runs as the given \fIdisplaynumber\fP, which by default is 0.
 
74
If multiple X servers are to run simultaneously on a host, each must have
 
75
a unique display number.  See the DISPLAY
 
76
NAMES section of the \fIX\fP(__miscmansuffix__) manual page to learn how to
 
77
specify which display number clients should try to use.
 
78
.TP 8
 
79
.B \-a \fInumber\fP
 
80
sets pointer acceleration (i.e. the ratio of how much is reported to how much
 
81
the user actually moved the pointer).
 
82
.TP 8
 
83
.B \-ac
 
84
disables host-based access control mechanisms.  Enables access by any host,
 
85
and permits any host to modify the access control list.
 
86
Use with extreme caution.
 
87
This option exists primarily for running test suites remotely.
 
88
.TP 8
 
89
.B \-audit \fIlevel\fP
 
90
sets the audit trail level.  The default level is 1, meaning only connection
 
91
rejections are reported.  Level 2 additionally reports all successful
 
92
connections and disconnects.  Level 4 enables messages from the
 
93
SECURITY extension, if present, including generation and revocation of
 
94
authorizations and violations of the security policy.
 
95
Level 0 turns off the audit trail.
 
96
Audit lines are sent as standard error output.
 
97
.TP 8
 
98
.B \-auth \fIauthorization-file\fP
 
99
specifies a file which contains a collection of authorization records used
 
100
to authenticate access.  See also the \fIxdm\fP(1) and 
 
101
\fIXsecurity\fP(__miscmansuffix__) manual pages.
 
102
.TP 8
 
103
.B bc
 
104
disables certain kinds of error checking, for bug compatibility with
 
105
previous releases (e.g., to work around bugs in R2 and R3 xterms and toolkits).
 
106
Deprecated.
 
107
.TP 8
 
108
.B \-bs
 
109
disables backing store support on all screens.
 
110
.TP 8
 
111
.B \-br
 
112
sets the default root window to solid black instead of the standard root weave
 
113
pattern.
 
114
.TP 8
 
115
.B \-c
 
116
turns off key-click.
 
117
.TP 8
 
118
.B c \fIvolume\fP
 
119
sets key-click volume (allowable range: 0-100).
 
120
.TP 8
 
121
.B \-cc \fIclass\fP
 
122
sets the visual class for the root window of color screens.
 
123
The class numbers are as specified in the X protocol.
 
124
Not obeyed by all servers.
 
125
.TP 8
 
126
.B \-co \fIfilename\fP
 
127
sets name of RGB color database.  The default is
 
128
.IR __projectroot__/lib/X11/rgb .
 
129
.ig
 
130
.TP 8
 
131
.B \-config \fIfilename\fP
 
132
reads more options from the given file.  Options in the file may be separated
 
133
by newlines if desired.  If a '#' character appears on a line, all characters
 
134
between it and the next newline are ignored, providing a simple commenting
 
135
facility.  The \fB\-config\fP option itself may appear in the file.
 
136
.BR NOTE :
 
137
This option is disabled when the Xserver is run with an effective uid
 
138
different from the user's real uid.
 
139
..
 
140
.TP 8
 
141
.B \-core
 
142
causes the server to generate a core dump on fatal errors.
 
143
.TP 8
 
144
.B \-deferglyphs \fIwhichfonts\fP
 
145
specifies the types of fonts for which the server should attempt to use
 
146
deferred glyph loading.  \fIwhichfonts\fP can be all (all fonts),
 
147
none (no fonts), or 16 (16 bit fonts only).
 
148
.TP 8
 
149
.B \-dpi \fIresolution\fP
 
150
sets the resolution for all screens, in dots per inch.
 
151
To be used when the server cannot determine the screen size(s) from the
 
152
hardware.
 
153
.TP 8
 
154
.B dpms
 
155
enables DPMS (display power management services), where supported.  The
 
156
default state is platform and configuration specific.
 
157
.TP 8
 
158
.B \-dpms
 
159
disables DPMS (display power management services).  The default state
 
160
is platform and configuration specific.
 
161
.TP 8
 
162
.B \-f \fIvolume\fP
 
163
sets feep (bell) volume (allowable range: 0-100).
 
164
.TP 8
 
165
.B \-fc \fIcursorFont\fP
 
166
sets default cursor font.
 
167
.TP 8
 
168
.B \-fn \fIfont\fP
 
169
sets the default font.
 
170
.TP 8
 
171
.B \-fp \fIfontPath\fP
 
172
sets the search path for fonts.  This path is a comma separated list
 
173
of directories which the X server searches for font databases.
 
174
See the FONTS section of this manual page for more information and the default
 
175
list.
 
176
.TP 8
 
177
.B \-help
 
178
prints a usage message.
 
179
.TP 8
 
180
.B \-I
 
181
causes all remaining command line arguments to be ignored.
 
182
.TP 8
 
183
.B \-maxbigreqsize \fIsize\fP
 
184
sets the maxmium big request to
 
185
.I size
 
186
MB.
 
187
.TP 8
 
188
.B \-nolisten \fItrans-type\fP
 
189
disables a transport type.  For example, TCP/IP connections can be disabled
 
190
with
 
191
.BR "\-nolisten tcp" .
 
192
This option may be issued multiple times to disable listening to different
 
193
transport types.
 
194
.TP 8
 
195
.B \-noreset
 
196
prevents a server reset when the last client connection is closed.  This
 
197
overrides a previous
 
198
.B \-terminate
 
199
command line option.
 
200
.TP 8
 
201
.B \-p \fIminutes\fP
 
202
sets screen-saver pattern cycle time in minutes.
 
203
.TP 8
 
204
.B \-pn
 
205
permits the server to continue running if it fails to establish all of
 
206
its well-known sockets (connection points for clients), but
 
207
establishes at least one.  This option is set by default.
 
208
.TP 8
 
209
.B \-nopn
 
210
causes the server to exit if it fails to establish all of its well-known
 
211
sockets (connection points for clients).
 
212
.TP 8
 
213
.B \-r
 
214
turns off auto-repeat.
 
215
.TP 8
 
216
.B r
 
217
turns on auto-repeat.
 
218
.TP 8
 
219
.B \-s \fIminutes\fP
 
220
sets screen-saver timeout time in minutes.
 
221
.TP 8
 
222
.B \-su
 
223
disables save under support on all screens.
 
224
.TP 8
 
225
.B \-t \fInumber\fP
 
226
sets pointer acceleration threshold in pixels (i.e. after how many pixels
 
227
pointer acceleration should take effect).
 
228
.TP 8
 
229
.B \-terminate
 
230
causes the server to terminate at server reset, instead of continuing to run.
 
231
This overrides a previous
 
232
.B \-noreset
 
233
command line option.
 
234
.TP 8
 
235
.B \-to \fIseconds\fP
 
236
sets default connection timeout in seconds.
 
237
.TP 8
 
238
.B \-tst
 
239
disables all testing extensions (e.g., XTEST, XTrap, XTestExtension1, RECORD).
 
240
.TP 8
 
241
.B tty\fIxx\fP
 
242
ignored, for servers started the ancient way (from init).
 
243
.TP 8
 
244
.B v
 
245
sets video-off screen-saver preference.
 
246
.TP 8
 
247
.B \-v
 
248
sets video-on screen-saver preference.
 
249
.TP 8
 
250
.B \-wm
 
251
forces the default backing-store of all windows to be WhenMapped.  This
 
252
is a backdoor way of getting backing-store to apply to all windows.
 
253
Although all mapped windows will have backing store, the backing store
 
254
attribute value reported by the server for a window will be the last
 
255
value established by a client.  If it has never been set by a client,
 
256
the server will report the default value, NotUseful.  This behavior is
 
257
required by the X protocol, which allows the server to exceed the
 
258
client's backing store expectations but does not provide a way to tell
 
259
the client that it is doing so.
 
260
.TP 8
 
261
.B \-x \fIextension\fP
 
262
loads the specified extension at init.
 
263
This is a no-op for most implementations.
 
264
.TP 8
 
265
.B [+-]xinerama
 
266
enables(+) or disables(-) the XINERAMA extension.  The default state is
 
267
platform and configuration specific.
 
268
.SH SERVER DEPENDENT OPTIONS
 
269
Some X servers accept the following options:
 
270
.TP 8
 
271
.B \-ld \fIkilobytes\fP
 
272
sets the data space limit of the server to the specified number of kilobytes.
 
273
A value of zero makes the data size as large as possible.  The default value
 
274
of \-1 leaves the data space limit unchanged.
 
275
.TP 8
 
276
.B \-lf \fIfiles\fP
 
277
sets the number-of-open-files limit of the server to the specified number.
 
278
A value of zero makes the limit as large as possible.  The default value
 
279
of \-1 leaves the limit unchanged.
 
280
.TP 8
 
281
.B \-ls \fIkilobytes\fP
 
282
sets the stack space limit of the server to the specified number of kilobytes.
 
283
A value of zero makes the stack size as large as possible.  The default value
 
284
of \-1 leaves the stack space limit unchanged.
 
285
.TP 8
 
286
.B \-logo
 
287
turns on the X Window System logo display in the screen-saver.
 
288
There is currently no way to change this from a client.
 
289
.TP 8
 
290
.B nologo
 
291
turns off the X Window System logo display in the screen-saver.
 
292
There is currently no way to change this from a client.
 
293
.TP 8
 
294
.B \-render 
 
295
.BR default | mono | gray | color
 
296
sets the color allocation policy that will be used by the render extension.
 
297
.RS 8
 
298
.TP 8
 
299
.I default
 
300
selects the default policy defined for the display depth of the X
 
301
server. 
 
302
.TP 8
 
303
.I mono
 
304
don't use any color cell. 
 
305
.TP 8
 
306
.I gray 
 
307
use a gray map of 13 color cells for the X render extension.
 
308
.TP 8
 
309
.I color
 
310
use a color cube of at most 4*4*4 colors (that is 64 color cells).
 
311
.RE
 
312
.TP 8
 
313
.B \-dumbSched
 
314
disables smart scheduling on platforms that support the smart scheduler.
 
315
.TP
 
316
.B \-schedInterval \fIinterval\fP
 
317
sets the smart scheduler's scheduling interval to
 
318
.I interval
 
319
milliseconds.
 
320
.SH XDMCP OPTIONS
 
321
X servers that support XDMCP have the following options.
 
322
See the \fIX Display Manager Control Protocol\fP specification for more
 
323
information.
 
324
.TP 8
 
325
.B \-query \fIhostname\fP
 
326
enables XDMCP and sends Query packets to the specified
 
327
.IR hostname .
 
328
.TP 8
 
329
.B \-broadcast
 
330
enable XDMCP and broadcasts BroadcastQuery packets to the network.  The
 
331
first responding display manager will be chosen for the session.
 
332
.TP 8
 
333
.B \-multicast [\fIaddress\fP [\fIhop count\fP]]
 
334
Enable XDMCP and multicast BroadcastQuery packets to the  network.   
 
335
The first responding display manager is chosen for the session.  If an 
 
336
address is specified, the multicast is sent to that address.  If no 
 
337
address is specified, the multicast is sent to the default XDMCP IPv6 
 
338
multicast group.  If a hop count is specified, it is used as the maximum 
 
339
hop count for the multicast.  If no hop count is specified, the multicast 
 
340
is set to a maximum of 1 hop, to prevent the multicast from being routed 
 
341
beyond the local network.
 
342
.TP 8
 
343
.B \-indirect \fIhostname\fP
 
344
enables XDMCP and send IndirectQuery packets to the specified
 
345
.IR hostname .
 
346
.TP 8
 
347
.B \-port \fIport-number\fP
 
348
uses the specified \fIport-number\fP for XDMCP packets, instead of the
 
349
default.  This option must be specified before any \-query, \-broadcast,
 
350
\-multicast, or \-indirect options.
 
351
.TP 8
 
352
.B \-from \fIlocal-address\fP
 
353
specifies the local address to connect from (useful if the connecting host
 
354
has multiple network interfaces).  The \fIlocal-address\fP may be expressed
 
355
in any form acceptable to the host platform's \fIgethostbyname\fP(3)
 
356
implementation.
 
357
.TP 8
 
358
.B \-once
 
359
causes the server to terminate (rather than reset) when the XDMCP session
 
360
ends.
 
361
.TP 8
 
362
.B \-class \fIdisplay-class\fP
 
363
XDMCP has an additional display qualifier used in resource lookup for
 
364
display-specific options.  This option sets that value, by default it
 
365
is "MIT-Unspecified" (not a very useful value).
 
366
.TP 8
 
367
.B \-cookie \fIxdm-auth-bits\fP
 
368
When testing XDM-AUTHENTICATION-1, a private key is shared between the
 
369
server and the manager.  This option sets the value of that private
 
370
data (not that it is very private, being on the command line!).
 
371
.TP 8
 
372
.B \-displayID \fIdisplay-id\fP
 
373
Yet another XDMCP specific value, this one allows the display manager to
 
374
identify each display so that it can locate the shared key.
 
375
.SH XKEYBOARD OPTIONS
 
376
X servers that support the XKEYBOARD (a.k.a. \*qXKB\*q) extension accept the
 
377
following options.  All layout files specified on the command line must be 
 
378
located in the XKB base directory or a subdirectory, and specified as the
 
379
relative path from the XKB base directory.  The default XKB base directory is
 
380
.IR __projectroot__/lib/X11/xkb .
 
381
.TP 8
 
382
.B [+-]kb
 
383
enables(+) or disables(-) the XKEYBOARD extension.
 
384
.TP 8
 
385
.BR [+-]accessx " [ \fItimeout\fP [ \fItimeout_mask\fP [ \fIfeedback\fP [ \fIoptions_mask\fP ] ] ] ]"
 
386
enables(+) or disables(-) AccessX key sequences.
 
387
.TP 8
 
388
.B \-xkbdir \fIdirectory\fP
 
389
base directory for keyboard layout files.  This option is not available
 
390
for setuid X servers (i.e., when the X server's real and effective uids
 
391
are different).
 
392
.TP 8
 
393
.B \-ar1 \fImilliseconds\fP
 
394
sets the autorepeat delay (length of time in milliseconds that a key must
 
395
be depressed before autorepeat starts).
 
396
.TP 8
 
397
.B \-ar2 \fImilliseconds\fP
 
398
sets the autorepeat interval (length of time in milliseconds that should
 
399
elapse between autorepeat-generated keystrokes).
 
400
.TP 8
 
401
.B \-noloadxkb
 
402
disables loading of an XKB keymap description on server startup.
 
403
.TP 8
 
404
.B \-xkbdb \fIfilename\fP
 
405
uses \fIfilename\fP for default keyboard keymaps.
 
406
.TP 8
 
407
.B \-xkbmap \fIfilename\fP
 
408
loads keyboard description in \fIfilename\fP on server startup.
 
409
.SH SECURITY EXTENSION OPTIONS
 
410
X servers that support the SECURITY extension accept the following option:
 
411
.TP 8
 
412
.B \-sp \fIfilename\fP
 
413
causes the server to attempt to read and interpret filename as a security
 
414
policy file with the format described below.  The file is read at server
 
415
startup and reread at each server reset.
 
416
.PP
 
417
The syntax of the security policy file is as follows.
 
418
Notation: "*" means zero or more occurrences of the preceding element,
 
419
and "+" means one or more occurrences.  To interpret <foo/bar>, ignore
 
420
the text after the /; it is used to distinguish between instances of
 
421
<foo> in the next section.
 
422
.PP
 
423
.nf
 
424
<policy file> ::= <version line> <other line>*
 
425
 
 
426
<version line> ::= <string/v> '\en'
 
427
 
 
428
<other line > ::= <comment> | <access rule> | <site policy> | <blank line>
 
429
 
 
430
<comment> ::= # <not newline>* '\en'
 
431
 
 
432
<blank line> ::= <space> '\en'
 
433
 
 
434
<site policy> ::= sitepolicy <string/sp> '\en'
 
435
 
 
436
<access rule> ::= property <property/ar> <window> <perms> '\en'
 
437
 
 
438
<property> ::= <string>
 
439
 
 
440
<window> ::= any | root | <required property>
 
441
 
 
442
<required property> ::= <property/rp> | <property with value>
 
443
 
 
444
<property with value> ::= <property/rpv> = <string/rv>
 
445
 
 
446
<perms> ::= [ <operation> | <action> | <space> ]*
 
447
 
 
448
<operation> ::= r | w | d
 
449
 
 
450
<action> ::= a | i | e
 
451
 
 
452
<string> ::= <dbl quoted string> | <single quoted string> | <unqouted string>
 
453
 
 
454
<dbl quoted string> ::= <space> " <not dqoute>* " <space>
 
455
 
 
456
<single quoted string> ::= <space> ' <not squote>* ' <space>
 
457
 
 
458
<unquoted string> ::= <space> <not space>+ <space>
 
459
 
 
460
<space> ::= [ ' ' | '\et' ]*
 
461
 
 
462
Character sets:
 
463
 
 
464
<not newline> ::= any character except '\en'
 
465
<not dqoute>  ::= any character except "
 
466
<not squote>  ::= any character except '
 
467
<not space>   ::= any character except those in <space>
 
468
.fi
 
469
.PP
 
470
The semantics associated with the above syntax are as follows.
 
471
.PP
 
472
<version line>, the first line in the file, specifies the file format
 
473
version.  If the server does not recognize the version <string/v>, it
 
474
ignores the rest of the file.  The version string for the file format
 
475
described here is "version-1" .
 
476
.PP
 
477
Once past the <version line>, lines that do not match the above syntax
 
478
are ignored.
 
479
.PP
 
480
<comment> lines are ignored.
 
481
.PP
 
482
<sitepolicy> lines are currently ignored.  They are intended to
 
483
specify the site policies used by the XC-QUERY-SECURITY-1
 
484
authorization method.
 
485
.PP
 
486
<access rule> lines specify how the server should react to untrusted
 
487
client requests that affect the X Window property named <property/ar>.
 
488
The rest of this section describes the interpretation of an
 
489
<access rule>.
 
490
.PP
 
491
For an <access rule> to apply to a given instance of <property/ar>,
 
492
<property/ar> must be on a window that is in the set of windows
 
493
specified by <window>.  If <window> is any, the rule applies to
 
494
<property/ar> on any window.  If <window> is root, the rule applies to
 
495
<property/ar> only on root windows.
 
496
.PP
 
497
If <window> is <required property>, the following apply.  If <required
 
498
property> is a <property/rp>, the rule applies when the window also
 
499
has that <property/rp>, regardless of its value.  If <required
 
500
property> is a <property with value>, <property/rpv> must also have
 
501
the value specified by <string/rv>.  In this case, the property must
 
502
have type STRING and format 8, and should contain one or more
 
503
null-terminated strings.  If any of the strings match <string/rv>, the
 
504
rule applies.
 
505
.PP
 
506
The definition of string matching is simple case-sensitive string
 
507
comparison with one elaboration: the occurrence of the character '*' in
 
508
<string/rv> is a wildcard meaning "any string."  A <string/rv> can
 
509
contain multiple wildcards anywhere in the string.  For example, "x*"
 
510
matches strings that begin with x, "*x" matches strings that end with
 
511
x, "*x*" matches strings containing x, and "x*y*" matches strings that
 
512
start with x and subsequently contain y.
 
513
.PP
 
514
There may be multiple <access rule> lines for a given <property/ar>.
 
515
The rules are tested in the order that they appear in the file.  The
 
516
first rule that applies is used.
 
517
.PP
 
518
<perms> specify operations that untrusted clients may attempt, and
 
519
the actions that the server should take in response to those operations.
 
520
.PP
 
521
<operation> can be r (read), w (write), or d (delete).  The following
 
522
table shows how X Protocol property requests map to these operations
 
523
in The Open Group server implementation.
 
524
.PP
 
525
.nf
 
526
GetProperty     r, or r and d if delete = True
 
527
ChangeProperty  w
 
528
RotateProperties        r and w
 
529
DeleteProperty  d
 
530
ListProperties  none, untrusted clients can always list all properties
 
531
.fi
 
532
.PP
 
533
<action> can be a (allow), i (ignore), or e (error).  Allow means
 
534
execute the request as if it had been issued by a trusted client.
 
535
Ignore means treat the request as a no-op.  In the case of
 
536
GetProperty, ignore means return an empty property value if the
 
537
property exists, regardless of its actual value.  Error means do not
 
538
execute the request and return a BadAtom error with the atom set to
 
539
the property name.  Error is the default action for all properties,
 
540
including those not listed in the security policy file.
 
541
.PP
 
542
An <action> applies to all <operation>s that follow it, until the next
 
543
<action> is encountered.  Thus, irwad  means ignore read and write,
 
544
allow delete.
 
545
.PP
 
546
GetProperty and RotateProperties may do multiple operations (r and d,
 
547
or r and w).  If different actions apply to the operations, the most
 
548
severe action is applied to the whole request; there is no partial
 
549
request execution.  The severity ordering is: allow < ignore < error.
 
550
Thus, if the <perms> for a property are ired (ignore read, error
 
551
delete), and an untrusted client attempts GetProperty on that property
 
552
with delete = True, an error is returned, but the property value is
 
553
not.  Similarly, if any of the properties in a RotateProperties do not
 
554
allow both read and write, an error is returned without changing any
 
555
property values.
 
556
.PP
 
557
Here is an example security policy file.
 
558
.PP
 
559
.ta 3i 4i
 
560
.nf
 
561
version-1
 
562
 
 
563
XCOMM Allow reading of application resources, but not writing.
 
564
property RESOURCE_MANAGER       root    ar iw
 
565
property SCREEN_RESOURCES       root    ar iw
 
566
 
 
567
XCOMM Ignore attempts to use cut buffers.  Giving errors causes apps to crash,
 
568
XCOMM and allowing access may give away too much information.
 
569
property CUT_BUFFER0    root    irw
 
570
property CUT_BUFFER1    root    irw
 
571
property CUT_BUFFER2    root    irw
 
572
property CUT_BUFFER3    root    irw
 
573
property CUT_BUFFER4    root    irw
 
574
property CUT_BUFFER5    root    irw
 
575
property CUT_BUFFER6    root    irw
 
576
property CUT_BUFFER7    root    irw
 
577
 
 
578
XCOMM If you are using Motif, you probably want these.
 
579
property _MOTIF_DEFAULT_BINDINGS        root    ar iw
 
580
property _MOTIF_DRAG_WINDOW     root    ar iw
 
581
property _MOTIF_DRAG_TARGETS    any     ar iw
 
582
property _MOTIF_DRAG_ATOMS      any     ar iw
 
583
property _MOTIF_DRAG_ATOM_PAIRS any     ar iw
 
584
 
 
585
XCOMM The next two rules let xwininfo -tree work when untrusted.
 
586
property WM_NAME        any     ar
 
587
 
 
588
XCOMM Allow read of WM_CLASS, but only for windows with WM_NAME.
 
589
XCOMM This might be more restrictive than necessary, but demonstrates
 
590
XCOMM the <required property> facility, and is also an attempt to
 
591
XCOMM say "top level windows only."
 
592
property WM_CLASS       WM_NAME ar
 
593
 
 
594
XCOMM These next three let xlsclients work untrusted.  Think carefully
 
595
XCOMM before including these; giving away the client machine name and command
 
596
XCOMM may be exposing too much.
 
597
property WM_STATE       WM_NAME ar
 
598
property WM_CLIENT_MACHINE      WM_NAME ar
 
599
property WM_COMMAND     WM_NAME ar
 
600
 
 
601
XCOMM To let untrusted clients use the standard colormaps created by
 
602
XCOMM xstdcmap, include these lines.
 
603
property RGB_DEFAULT_MAP        root    ar
 
604
property RGB_BEST_MAP   root    ar
 
605
property RGB_RED_MAP    root    ar
 
606
property RGB_GREEN_MAP  root    ar
 
607
property RGB_BLUE_MAP   root    ar
 
608
property RGB_GRAY_MAP   root    ar
 
609
 
 
610
XCOMM To let untrusted clients use the color management database created
 
611
XCOMM by xcmsdb, include these lines.
 
612
property XDCCC_LINEAR_RGB_CORRECTION    root    ar
 
613
property XDCCC_LINEAR_RGB_MATRICES      root    ar
 
614
property XDCCC_GRAY_SCREENWHITEPOINT    root    ar
 
615
property XDCCC_GRAY_CORRECTION  root    ar
 
616
 
 
617
XCOMM To let untrusted clients use the overlay visuals that many vendors
 
618
XCOMM support, include this line.
 
619
property SERVER_OVERLAY_VISUALS root    ar
 
620
 
 
621
XCOMM Dumb examples to show other capabilities.
 
622
 
 
623
XCOMM oddball property names and explicit specification of error conditions
 
624
property "property with spaces" 'property with "'       aw er ed
 
625
 
 
626
XCOMM Allow deletion of Woo-Hoo if window also has property OhBoy with value
 
627
XCOMM ending in "son".  Reads and writes will cause an error.
 
628
property Woo-Hoo        OhBoy = "*son"  ad
 
629
 
 
630
.fi
 
631
.SH "NETWORK CONNECTIONS"
 
632
The X server supports client connections via a platform-dependent subset of
 
633
the following transport types: TCP\/IP, Unix Domain sockets, DECnet,
 
634
and several varieties of SVR4 local connections.  See the DISPLAY
 
635
NAMES section of the \fIX\fP(__miscmansuffix__) manual page to learn how to
 
636
specify which transport type clients should try to use.
 
637
.SH GRANTING ACCESS
 
638
The X server implements a platform-dependent subset of the following
 
639
authorization protocols: MIT-MAGIC-COOKIE-1, XDM-AUTHORIZATION-1,
 
640
XDM-AUTHORIZATION-2, SUN-DES-1, and MIT-KERBEROS-5.  See the 
 
641
\fIXsecurity\fP(__miscmansuffix__) manual page for information on the 
 
642
operation of these protocols.
 
643
.PP
 
644
Authorization data required by the above protocols is passed to the
 
645
server in a private file named with the \fB\-auth\fP command line
 
646
option.  Each time the server is about to accept the first connection
 
647
after a reset (or when the server is starting), it reads this file.
 
648
If this file contains any authorization records, the local host is not
 
649
automatically allowed access to the server, and only clients which
 
650
send one of the authorization records contained in the file in the
 
651
connection setup information will be allowed access.  See the
 
652
\fIXau\fP manual page for a description of the binary format of this
 
653
file.  See \fIxauth\fP(1) for maintenance of this file, and distribution
 
654
of its contents to remote hosts.
 
655
.PP
 
656
The X server also uses a host-based access control list for deciding
 
657
whether or not to accept connections from clients on a particular machine.
 
658
If no other authorization mechanism is being used,
 
659
this list initially consists of the host on which the server is running as
 
660
well as any machines listed in the file \fI/etc/X\fBn\fI.hosts\fR, where
 
661
\fBn\fP is the display number of the server.  Each line of the file should
 
662
contain either an Internet hostname (e.g. expo.lcs.mit.edu) or a DECnet
 
663
hostname in double colon format (e.g. hydra::) or a complete name in the format
 
664
\fIfamily\fP:\fIname\fP as described in the \fIxhost\fP(1) manual page.
 
665
There should be no leading or trailing spaces on any lines.  For example:
 
666
.sp
 
667
.in +8
 
668
.nf
 
669
joesworkstation
 
670
corporate.company.com
 
671
star::
 
672
inet:bigcpu
 
673
local:
 
674
.fi
 
675
.in -8
 
676
.PP
 
677
Users can add or remove hosts from this list and enable or disable access
 
678
control using the \fIxhost\fP command from the same machine as the server.
 
679
.PP
 
680
If the X FireWall Proxy (\fIxfwp\fP) is being used without a sitepolicy,
 
681
host-based authorization must be turned on for clients to be able to
 
682
connect to the X server via the \fIxfwp\fP.  If \fIxfwp\fP is run without
 
683
a configuration file and thus no sitepolicy is defined, if \fIxfwp\fP
 
684
is using an X server where xhost + has been run to turn off host-based
 
685
authorization checks, when a client tries to connect to this X server
 
686
via \fIxfwp\fP, the X server will deny the connection.  See \fIxfwp\fP(1)
 
687
for more information about this proxy.
 
688
.PP
 
689
The X protocol intrinsically does not have any notion of window operation
 
690
permissions or place any restrictions on what a client can do; if a program can
 
691
connect to a display, it has full run of the screen.
 
692
X servers that support the SECURITY extension fare better because clients
 
693
can be designated untrusted via the authorization they use to connect; see
 
694
the \fIxauth\fP(1) manual page for details.  Restrictions are imposed
 
695
on untrusted clients that curtail the mischief they can do.  See the SECURITY
 
696
extension specification for a complete list of these restrictions.
 
697
.PP
 
698
Sites that have better
 
699
authentication and authorization systems might wish to make
 
700
use of the hooks in the libraries and the server to provide additional
 
701
security models.
 
702
.SH SIGNALS
 
703
The X server attaches special meaning to the following signals:
 
704
.TP 8
 
705
.I SIGHUP
 
706
This signal causes the server to close all existing connections, free all
 
707
resources, and restore all defaults.  It is sent by the display manager
 
708
whenever the main user's main application (usually an \fIxterm\fP or window
 
709
manager) exits to force the server to clean up and prepare for the next
 
710
user.
 
711
.TP 8
 
712
.I SIGTERM
 
713
This signal causes the server to exit cleanly.
 
714
.TP 8
 
715
.I SIGUSR1
 
716
This signal is used quite differently from either of the above.  When the
 
717
server starts, it checks to see if it has inherited SIGUSR1 as SIG_IGN
 
718
instead of the usual SIG_DFL.  In this case, the server sends a SIGUSR1 to
 
719
its parent process after it has set up the various connection schemes.
 
720
\fIXdm\fP uses this feature to recognize when connecting to the server
 
721
is possible.
 
722
.SH FONTS
 
723
The X server
 
724
can obtain fonts from directories and/or from font servers.
 
725
The list of directories and font servers
 
726
the X server uses when trying to open a font is controlled
 
727
by the \fIfont path\fP.  
 
728
.LP
 
729
The default font path is
 
730
__default_font_path__ .
 
731
.LP
 
732
The font path can be set with the \fB\-fp\fP option or by \fIxset\fP(1)
 
733
after the server has started.
 
734
.SH FILES
 
735
.TP 30
 
736
.I /etc/X\fBn\fP.hosts
 
737
Initial access control list for display number \fBn\fP
 
738
.TP 30
 
739
.IR __projectroot__/lib/X11/fonts/misc , __projectroot__/lib/X11/fonts/75dpi , __projectroot__/lib/X11/fonts/100dpi
 
740
Bitmap font directories
 
741
.TP 30
 
742
.IR __projectroot__/lib/X11/fonts/TTF , __projectroot__/lib/X11/fonts/Type1
 
743
Outline font directories
 
744
.TP 30
 
745
.I __projectroot__/lib/X11/rgb.txt
 
746
Color database
 
747
.TP 30
 
748
.I /tmp/.X11-unix/X\fBn\fP
 
749
Unix domain socket for display number \fBn\fP
 
750
.TP 30
 
751
.IR /tmp/rcX\fBn\fP
 
752
Kerberos 5 replay cache for display number \fBn\fP
 
753
.TP 30
 
754
.I /usr/adm/X\fBn\fPmsgs
 
755
Error log file for display number \fBn\fP if run from \fIinit\fP(__adminmansuffix__)
 
756
.TP 30
 
757
.I __projectroot__/lib/X11/xdm/xdm-errors
 
758
Default error log file if the server is run from \fIxdm\fP(1)
 
759
.SH "SEE ALSO"
 
760
General information: \fIX\fP(__miscmansuffix__)
 
761
.PP
 
762
Protocols:
 
763
.I "X Window System Protocol,"
 
764
.I "The X Font Service Protocol,"
 
765
.I "X Display Manager Control Protocol"
 
766
.PP
 
767
Fonts: \fIbdftopcf\fP(1), \fImkfontdir\fP(1), \fImkfontscale\fP(1),
 
768
\fIxfs\fP(1), \fIxlsfonts\fP(1), \fIxfontsel\fP(1), \fIxfd\fP(1),
 
769
.I "X Logical Font Description Conventions"
 
770
.PP
 
771
Security: \fIXsecurity\fP(__miscmansuffix__), \fIxauth\fP(1), \fIXau\fP(1), 
 
772
\fIxdm\fP(1), \fIxhost\fP(1), \fIxfwp\fP(1),
 
773
.I "Security Extension Specification"
 
774
.PP
 
775
Starting the server: \fIxdm\fP(1), \fIxinit\fP(1)
 
776
.PP
 
777
Controlling the server once started: \fIxset\fP(1), \fIxsetroot\fP(1),
 
778
\fIxhost\fP(1)
 
779
.PP
 
780
Server-specific man pages:
 
781
\fIXorg\fP(1), \fIXdmx\fP(1), \fIXnest\fP(1),
 
782
\fIXvfb\fP(1), \fIXDarwin\fP(1), \fIXWin\fP(1).
 
783
.PP
 
784
Server internal documentation:
 
785
.I "Definition of the Porting Layer for the X v11 Sample Server"
 
786
.SH AUTHORS
 
787
The sample server was originally written by Susan Angebranndt, Raymond
 
788
Drewry, Philip Karlton, and Todd Newman, from Digital Equipment
 
789
Corporation, with support from a large cast.  It has since been
 
790
extensively rewritten by Keith Packard and Bob Scheifler, from MIT.
 
791
Dave Wiggins took over post-R5 and made substantial improvements.