Import manual pages from xorg-docs package

This commit is contained in:
matthieu
2006-11-29 16:47:41 +00:00
parent e8b5b2f21e
commit 8f1fd69526
10 changed files with 3572 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# Copyright 2005 Red Hat, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software
# and its documentation for any purpose is hereby granted without fee,
# provided that the above copyright notice appear in all copies and
# that both that copyright notice and this permission notice appear in
# supporting documentation, and that the name of Red Hat not be used in
# advertising or publicity pertaining to distribution of the software
# without specific, written prior permission. Red Hat makes no
# representations about the suitability of this software for any
# purpose. It is provided "as is" without express or implied warranty.
#
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
# NO EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
# OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
# USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Process this file with autoconf to create configure.
SUBDIRS = general

View File

@@ -0,0 +1,238 @@
.\" $TOG: Consortium.cpp /main/71 1997/10/13 14:55:16 kaleb $
.\" Copyright (c) 1993, 1994, 1996 X Consortium
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
.\" to deal in the Software without restriction, including without limitation
.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
.\" and/or sell copies of the Software, and to permit persons to whom the
.\" Software furnished to do so, subject to the following conditions:
.\"
.\" The above copyright notice and this permission notice shall be included in
.\" all copies or substantial portions of the Software.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
.\" THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
.\" SOFTWARE.
.\"
.\" Except as contained in this notice, the name of the X Consortium shall not
.\" be used in advertising or otherwise to promote the sale, use or other
.\" dealing in this Software without prior written authorization from the
.\" X Consortium.
.\"
.\" $XFree86$
.\"
.TH XCONSORTIUM __miscmansuffix__ __xorgversion__
.SH NAME
XConsortium \- X Consortium information
.SH SYNOPSIS
Release 6.3 of X Version 11 was brought to you by X Consortium, Inc.
.SH DESCRIPTION
The X Consortium was an independent, not-for-profit Delaware membership
corporation. It was formed in 1993 as the successor to the MIT X Consortium.
The purpose of the X Consortium was to foster the development, evolution, and
maintenance of the X Window System, a comprehensive set of vendor-neutral,
system-architecture neutral, network-transparent windowing and user interface
standards.
.PP
The X Window System was created in the mid-1980s at the Massachusetts
Institute of Technology. In 1988, MIT formed a member-funded consortium to
provide the technical and administrative leadership necessary to support
further development of the X Window System. In 1992, MIT and the membership
decided it was in their best interests to move the consortium out of MIT and
create an independent, stand-alone organization. All rights to the
X Window System were assigned by MIT to X Consortium, Inc. on January 1, 1994.
X Consortium, Inc. closed its doors on December 31, 1996. All rights to the
X Window System have been assigned to the Open Software Foundation.
.PP
The X Consortium was financially self-supporting through membership fees.
There are no license fees associated with the use of X Window System standards
and code developed by the X Consortium. Membership in the X Consortium was
open to any organization willing to execute a membership agreement.
.PP
The X Consortium was a highly participative body. Members were encouraged to
actively cooperate with the staff and other members in the design and review
of proposed specifications, and in the design, coding and testing of sample
implementations of those specifications.
.PP
The X Consortium accomplished most of its work using electronic mail over the
Internet, with individual mailing lists for working groups. Internet
electronic mail connectivity was viewed as a requirement for useful
participation in X Consortium activities. Meetings were held as necessary,
often in conjunction with industry conferences and trade shows.
.SH STAFF
.nf
President:
Bob Scheifler
Office Manager:
Janet O'Halloran
Director of Marketing:
Paul Lavallee
Director of Engineering:
Jim Fournier
Manager, X Window System:
Matt Landau, emeritus
Technical Director, X Window System:
Ralph Swick
Technical Staff, X Window System:
Donna Converse, emeritus
Stephen Gildea, emeritus
Kaleb Keithley
Arnaud Le Hors
Ralph Mor, emeritus
Ray Tice
Dave Wiggins, emeritus
Managers, CDE Development:
Giora Guth
Peter Bohnert, emeritus
Manager, CDE Quality Engineering:
David Brooks
CDE Architects:
Kevin Samborn
Daniel Dardailler, emeritus
Technical Staff, CDE Development:
Art Barstow
Pascale Dardailler
David Kaelbling
Mitch Greess
Robert Seacord
Technical Staff, CDE Quality Engineering:
Chris Burleson
Tom Cavin
Sami Mohammed
Mark Schuldenfrei
Manager, Systems Administration:
Kevin Ethier
Technical Staff, Systems Administration:
Mike Donati
Amy Rich, emeritus
Anne Salemme
.fi
.SH "BOARD OF DIRECTORS"
The X Consortium's activities and affairs were managed under the direction and
oversight of a Board of Directors, elected annually by the Members. The Board
was responsible for reviewing the achievements of the Consortium, approving
planned work, appointing a President and other officers of the Consortium, and
setting membership dues. The last Directors were:
.nf
Robert W. Scheifler, President, X Consortium
Dr. Forest Baskett, Senior VP of R&D, Silicon Graphics Computer Systems
Harold D. Blair, Apogee International Corp.
Roger S. Gourd, Gourd & Associates
Dr. Robin Hillyard, Chairman and Chief Technical Officer, Novasoft Systems
Don McGovern, General Operations Manager and Executive Dir., Hewlett Packard
Peter J. Shaw, Senior VP, NetManage
Michael Tobias, President, Tech-Source, Inc.
.fi
.SH "ADDRESS"
To reach the X Consortium public Wide World Web server, use the URL:
http://www.x.org/
.PP
To reach the X Consortium public ftp machine, use anonymous ftp to:
ftp.x.org
.SH "FULL MEMBERS"
.nf
Adobe Systems Inc.
Cray Research, Inc.
Digital Equipment Corp.
Fujitsu Limited
Hewlett-Packard Company
Hitachi Ltd.
IBM Corporation
Megatek Corp.
Motorola, Inc.
NEC Corporation
Novell, Inc.
Oki Electric Industry Co., Ltd.
OMRON Corporation
SCO, Inc.
Siemens Nixdorf Informationssysteme AG
Silicon Graphics, Inc.
Sony Corporation
Sun Microsystems, Inc.
Tektronix, Inc.
.fi
.SH "ASSOCIATE MEMBERS"
.nf
Boundless Technologies
Hummingbird Communications Ltd.
Insignia Solutions, Ltd.
Mercury Interactive Corp.
NetManage, Inc.
Network Computing Devices
VisiCom Laboratories, Inc.
Walker Richer & Quinn, Inc.
.fi
.SH "END USERS"
.nf
Hughes Aircraft Company
.fi
.SH "AFFILIATE MEMBERS"
.nf
ASTEC, Inc.
BARCO Chromatics, Inc.
CenterLine Software, Inc.
CliniComp, Intl.
Component Integration Laboratories, Inc.
Draper Laboratory.
Electronic Book Technologies, Inc.
Gallium Software, Inc.
Georgia Institiute of Technology
Human Designed Systems, Inc.
INRIA \- Institut National de Recherche en Informatique et en Automatique
Integrated Computer Solutions, Inc.
Investment Management Services, Inc.
Jupiter Systems
KL Group Inc.
Massachusetts Institute of Technology
Metheus Corporation
Metro Link, Inc.
Object Management Group, Inc.
Open Software Foundation
Performance Awareness Corp.
Peritek Corp.
Petrotechnical Open Software Corp.
Point Technologies, Inc.
Shiman Associates, Inc.
Smithsonian Astrophysical Observatory.
Software Development Corp.
SOUM Corporation
Spectragraphics Corp.
Tech-Source, Inc.
TriTeal Corp.
White Pine Software, Inc.
World Wide Web Consortium.
The XFree86 Project, Inc.
X Inside, Inc.
.fi

View File

@@ -0,0 +1,57 @@
# Copyright 2005 Red Hat, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software
# and its documentation for any purpose is hereby granted without fee,
# provided that the above copyright notice appear in all copies and
# that both that copyright notice and this permission notice appear in
# supporting documentation, and that the name of Red Hat not be used in
# advertising or publicity pertaining to distribution of the software
# without specific, written prior permission. Red Hat makes no
# representations about the suitability of this software for any
# purpose. It is provided "as is" without express or implied warranty.
#
# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
# NO EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
# OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
# USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Process this file with autoconf to create configure.
miscmandir = $(MISC_MAN_DIR)
miscman_PRE = \
Consortium.man \
security.man \
Standards.man \
X.man \
XOrgFoundation.man \
Xprint.man \
XProjectTeam.man
miscman_DATA = $(miscman_PRE:man=@MISC_MAN_SUFFIX@)
CLEANFILES = $(miscman_DATA)
SED = sed
# Strings to replace in man pages
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
MAN_SUBSTS = \
-e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-e 's|__projectroot__|$(prefix)|g' \
-e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
-e 's|__libmansuffix__|$(APP_LIB_SUFFIX)|g' \
-e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g'
SUFFIXES = .$(MISC_MAN_SUFFIX) .man
.man.$(MISC_MAN_SUFFIX):
sed $(MAN_SUBSTS) < $< > $@
EXTRA_DIST = $(miscman_PRE) Xprint.sgml

View File

@@ -0,0 +1,435 @@
.\" $Xorg: Standards.cpp,v 1.3 2000/08/17 19:42:04 cpqbld Exp $
.\" $XdotOrg: xc/doc/man/general/Standards.man,v 1.3 2004/09/03 16:18:18 kem Exp $
.\" Copyright (c) 1993, 1994, 1996, 2004 The Open Group
.\"
.\" All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the
.\" "Software"), to deal in the Software without restriction, including
.\" without limitation the rights to use, copy, modify, merge, publish,
.\" distribute, and/or sell copies of the Software, and to permit persons
.\" to whom the Software is furnished to do so, provided that the above
.\" copyright notice(s) and this permission notice appear in all copies of
.\" the Software and that both the above copyright notice(s) and this
.\" permission notice appear in supporting documentation.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Except as contained in this notice, the name of a copyright holder
.\" shall not be used in advertising or otherwise to promote the sale, use
.\" or other dealings in this Software without prior written authorization
.\" of the copyright holder.
.\"
.\" X Window System is a trademark of The Open Group.
.\"
.TH XSTANDARDS __miscmansuffix__ __xorgversion__
.SH NAME
XStandards \- X Window System Standards and Specifications
.SH SYNOPSIS
The major goal of the X Consortium was to promote cooperation within the
computer industry in the creation of standard software interfaces at
all layers in the X Window System environment.
The X Consortium produced standards - documents which
defined network protocols, programming interfaces, and
other aspects of the X environment. These standards
continue to exist in the X.Org Foundation releases.
The X.Org Foundation also produces specifications.
Like X Window System Standards, these are documents
which define network protocols, programming interfaces,
and other aspects of the X environment. Under the aegis
of The Open Group, X Window System standards, X.Org Foundation
specifications, and other specifications are the
basis for portions of The Open Group's various CAE
specifications.
.PP
The status of various standards, specifications, and
the software in the X11R7.0 distribution, is explained below.
.SH STANDARDS
The following documents are X Window System standards:
.nf
X Window System Protocol
X Version 11, Release 7.0
Robert W. Scheifler
Xlib \- C Language X Interface
X Version 11, Release 7.0
James Gettys, Robert W. Scheifler, Ron Newman
X Toolkit Intrinsics \- C Language Interface
X Version 11, Release 7.0
Joel McCormack, Paul Asente, Ralph R. Swick, Donna Converse
Bitmap Distribution Format
Version 2.1
X Version 11, Release 7.0
Inter-Client Communication Conventions Manual
Version 2.0
X Version 11, Release 7.0
David Rosenthal, Stuart W. Marks
Compound Text Encoding
Version 1.1
X Version 11, Release 7.0
Robert W. Scheifler
X Logical Font Description Conventions
Version 1.5
X Version 11, Release 7.0
Jim Flowers, Stephen Gildea
X Display Manager Control Protocol
Version 1.1
X Version 11, Release 7.0
Keith Packard
X11 Nonrectangular Window Shape Extension
Version 1.0.1
X Version 11, Release 7.0
Keith Packard
X11 Input Extension Protocol Specification
Version 1.0
X Version 11, Release 7.0
George Sachs, Mark Patrick
X11 Input Extension Library Specification
X Version 11, Release 7.0
Mark Patrick, George Sachs
The X Font Service Protocol
Version 2.0
X Version 11, Release 7.0
Jim Fulton
Inter-Client Exchange (ICE) Protocol
Version 1.0
X Version 11, Release 7.0
Robert Scheifler, Jordan Brown
Inter-Client Exchange (ICE) Library
Version 1.0
X Version 11, Release 7.0
Ralph Mor
X Session Management Protocol
Version 1.0
X Version 11, Release 7.0
Mike Wexler
X Session Management Library
Version 1.0
X Version 11, Release 7.0
Ralph Mor
The Input Method Protocol
Version 1.0
X Version 11, Release 7.0
Masahiko Narita, Hideki Hiura
X Synchronization Extension
Version 3.0
X Version 11, Release 7.0
Tim Glauert, Dave Carver, Jim Gettys, David P. Wiggins
XTEST Extension
Version 2.2
Kieron Drake
Big Requests Extension
Version 2.0
X Version 11, Release 7.0
Bob Scheifler
XC-MISC Extension
Version 1.1
X Version 11, Release 7.0
Bob Scheifler, Dave Wiggins
Double Buffer Extension
Version 1.0
Ian Elliott, David P. Wiggins
Record Extension Protocol
Version 1.13
Martha Zimet, Stephen Gildea
Record Extension Library
Version 1.13
Martha Zimet, Stephen Gildea
X Keyboard Extension Protocol
X Version 11, Release 7.0
Erik Fortune
X Keyboard Extension Library
X Version 11, Release 7.0
Amber J. Benson, Gary Aitken, Erik Fortune, Donna Converse,
George Sachs, and Will Walker
X Print Extension Protocol
X Version 11, Release 7.0
X Print Extension Library
X Version 11, Release 7.0
X Application Group Extension Protocol and Library
Version 1.0
X Version 11, Release 7.0
Kaleb Keithley
X Security Extension Protocol and Library
Version 4.0
X Version 11, Release 7.0
Dave Wiggins
X Proxy Manager Protocol
X Version 11, Release 7.0
Ralph Swick
LBX Extension Protocol and Library
X Version 11, Release 7.0
Keith Packard, Dave Lemke, Donna Converse, Ralph Mor, Ray Tice
Remote Execution MIME Type
Version 1.0
X Version 11, Release 7.0
Arnaud Le Hors
.fi
.SH SPECIFICATIONS
The following documents are X Project Team specifications:
.nf
Colormap Utilization Policy and Extension
Version 1.0
Kaleb Keithley
Extended Visual Information Extension
Version 1.0
Peter Daifuku
X Display Power Management (DPMS) Extension Protocol and Library
Version 1.0
Rob Lembree
.SH "INCLUDE FILES"
The following include files are part of the Xlib standard.
.PP
.nf
<X11/cursorfont.h>
<X11/keysym.h>
<X11/keysymdef.h>
<X11/X.h>
<X11/Xatom.h>
<X11/Xcms.h>
<X11/Xlib.h>
<X11/Xlibint.h>
<X11/Xproto.h>
<X11/Xprotostr.h>
<X11/Xresource.h>
<X11/Xutil.h>
<X11/X10.h>
.fi
.PP
The following include files are part of the X Toolkit Intrinsics standard.
.PP
.nf
<X11/Composite.h>
<X11/CompositeP.h>
<X11/Constraint.h>
<X11/ConstrainP.h>
<X11/Core.h>
<X11/CoreP.h>
<X11/Intrinsic.h>
<X11/IntrinsicP.h>
<X11/Object.h>
<X11/ObjectP.h>
<X11/RectObj.h>
<X11/RectObjP.h>
<X11/Shell.h>
<X11/ShellP.h>
<X11/StringDefs.h>
<X11/Vendor.h>
<X11/VendorP.h>
.fi
.PP
The following include file is part of the
Nonrectangular Window Shape Extension standard.
.PP
.nf
<X11/extensions/shape.h>
.fi
.PP
The following include files are part of the X Input Extension standard.
.PP
.nf
<X11/extensions/XI.h>
<X11/extensions/XInput.h>
<X11/extensions/XIproto.h>
.fi
.PP
The following include files are part of the ICElib standard.
.PP
.nf
<X11/ICE/ICE.h>
<X11/ICE/ICEconn.h>
<X11/ICE/ICElib.h>
<X11/ICE/ICEmsg.h>
<X11/ICE/ICEproto.h>
<X11/ICE/ICEutil.h>
.fi
.PP
The following include files are part of the SMlib standard.
.PP
.nf
<X11/SM/SM.h>
<X11/SM/SMlib.h>
<X11/SM/SMproto.h>
.fi
.PP
The following include file is part of the Synchronization standard.
.PP
.nf
<X11/extensions/sync.h>
.fi
.PP
The following include file is part of the XTEST standard.
.PP
.nf
<X11/extensions/XTest.h>
.fi
.PP
The following include file is part of the Double Buffer Extension standard.
.PP
.nf
<X11/extensions/Xdbe.h>
.fi
.PP
The following include file is part of the Record Library standard.
.PP
.nf
<X11/extensions/record.h>
.fi
.PP
The following include files are part of the X Keyboard Extension Library
standard.
.PP
.nf
\" some subset of...
<X11/XKBlib.h>
<X11/extensions/XKB.h>
<X11/extensions/XKBproto.h>
<X11/extensions/XKBstr.h>
<X11/extensions/XKBgeom.h>
.fi
.PP
The following include files are part of the X Print Extension Library
standard.
.PP
.nf
<X11/extensions/Print.h>
<X11/extensions/Printstr.h>
.fi
.PP
The following include files are part of the X Application Group Extension
Library standard.
.PP
.nf
<X11/extensions/Xag.h>
<X11/extensions/Xagstr.h>
.fi
.PP
The following include files are part of the X Security Extension Library
standard.
.PP
.nf
<X11/extensions/security.h>
<X11/extensions/securstr.h>
.fi
.PP
The following include files are part of the LBX Extension library standard.
.PP
.nf
\" some subset of...
<X11/extensions/XLbx.h>
<X11/extensions/lbxbuf.h>
<X11/extensions/lbxbufstr.h>
<X11/extensions/lbxdeltastr.h>
<X11/extensions/lbximage.h>
<X11/extensions/lbxopts.h>
<X11/extensions/lbxstr.h>
<X11/extensions/lbxzlib.h>
.fi
.PP
The following include files are part of the Colormap Utilization
Policy and Extension specification.
.PP
.nf
<X11/extensions/Xcup.h>
<X11/extensions/Xcupstr.h>
.fi
.PP
The following include files are part of the Extended Visual
Information specification.
.PP
.nf
<X11/extensions/XEVI.h>
<X11/extensions/XEVIstr.h>
.fi
.PP
The following include files are part of the X Display Management
Signaling Extension specification.
.PP
.nf
<X11/extensions/dpms.h>
<X11/extensions/dpmsstr.h>
.fi
.SH "NON STANDARDS"
The X11R7.0 distribution contains \fIsample\fP implementations, not
\fIreference\fP implementations. Although much of the code is believed
to be correct, the code should be assumed to be in error wherever it
conflicts with the specification.
.PP
The only X Window System standards are the ones listed above.
No other documents, include files, or software in X11R7.0 carry special
status within the X Window System. For example, none of the following
are standards:
internal interfaces of the sample server;
the MIT-SHM extension;
the Athena Widget Set;
the Xmu library;
the Xau library;
the RGB database;
the X Locale database;
the fonts distributed with X11R7.0;
the applications distributed with X11R7.0;
the include files <X11/XWDFile.h>, <X11/Xfuncproto.h>, <X11/Xfuncs.h>,
<X11/Xosdefs.h>, <X11/Xos.h>, <X11/Xos_r.h>, <X11/Xwinsock.h>, and
<X11/Xthreads.h>;
the bitmap files in <X11/bitmaps>.
.PP
The Multi-Buffering extension was a draft standard of the
X Consortium but has been superseded by DBE as a standard.
.SH "X REGISTRY"
The X.Org Foundation maintains a registry of certain X-related items, to
aid in avoiding conflicts and to aid in sharing of such items.
.PP
The registry is published as part of the X Window System software
release.
The latest version may also be found at
.nf
ftp://ftp.x.org/pub/DOCS/registry
.fi
The X Registry and the names in it are not X Window System standards.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,56 @@
.\"
.\" Copyright 2004, 2005 X.Org Foundation, LLC
.\" Copyright (c) 1993, 1994, 1996 X Consortium
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
.\" to deal in the Software without restriction, including without limitation
.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
.\" and/or sell copies of the Software, and to permit persons to whom the
.\" Software furnished to do so, subject to the following conditions:
.\"
.\" The above copyright notice and this permission notice shall be included in
.\" all copies or substantial portions of the Software.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
.\" THE X.ORG FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
.\" SOFTWARE.
.\"
.TH XORGFOUNDATION __miscmansuffix__ __xorgversion__
.SH NAME
XOrgFoundation \- X.Org Foundation information
.SH SYNOPSIS
Release 7.0 of X Version 11 is brought to you by the X.Org Foundation, LLC.
.SH DESCRIPTION
The X.Org Foundation is an independent, not-for-profit 501(c)(3) charity
corporation. It was formed in 2004 as the successor to the X.Org Group at
The Open Group. The purpose of the X.Org Foundation is to foster the
development, evolution, and maintenance of the X Window System, a
comprehensive set of vendor-neutral, system-architecture neutral,
network-transparent windowing and user interface standards. Membership
in the X.Org Foundation is free and open to anyone. The X.Org Foundation
hosts a public CVS repository of the source code on Freedesktop.Org.
.PP
The X Window System was created in the mid-1980s at the Massachusetts
Institute of Technology. In 1988, MIT formed a member-funded consortium to
provide the technical and administrative leadership necessary to support
further development of the X Window System. In 1992, MIT and the membership
decided it was in their best interests to move the consortium out of MIT and
create an independent, stand-alone organization. All rights to the X Window
System were assigned by MIT to X Consortium, Inc. on January 1, 1994. On
December 31, 1996 the X Consortium, Inc. closed its doors and all rights
to the X Window System were assigned to The Open Group (then known as the
Open Software Foundation.)
.PP
.SH "ADDRESSES"
The X.Org Foundation's web site is http://www.x.org/
.PP
The X.Org Foundation's public ftp site is ftp://ftp.x.org/
.PP
Information about the X.Org Foundation CVS repository is on the
Freedesktop.Org web site at http://www.freedesktop.org/Software/xorg
.fi

View File

@@ -0,0 +1,91 @@
.\" $Xorg: XProjectTeam.cpp,v 1.6 2001/01/29 17:44:41 coskrey Exp $
.\" Copyright (c) 1993, 1994, 1996 X Consortium
.\" Copyright (c) 1996, 2000 The Open Group
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
.\" to deal in the Software without restriction, including without limitation
.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
.\" and/or sell copies of the Software, and to permit persons to whom the
.\" Software furnished to do so, subject to the following conditions:
.\"
.\" The above copyright notice and this permission notice shall be included in
.\" all copies or substantial portions of the Software.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
.\" THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
.\" SOFTWARE.
.\"
.\" Except as contained in this notice, the name of the X Consortium shall not
.\" be used in advertising or otherwise to promote the sale, use or other
.\" dealing in this Software without prior written authorization from the
.\" X Consortium.
.\"
.\" $XFree86: xc/doc/man/general/XProjectTeam.man,v 1.2 2001/01/27 18:20:38 dawes Exp $
.\"
.TH XORG __miscmansuffix__ __xorgversion__
.SH NAME
X.Org, XProjectTeam \- X.Org Group information
.SH SYNOPSIS
Release 6.5 and 6.6 of X Version 11 was brought to you by The X.Org Group.
Release 6.4 of X Version 11 was brought to you by The X Project Team.
.SH DESCRIPTION
The Open Group's X Project Team was created as the successor
to the X Consortium, Inc., after the X Consortium ceased operations and
transferred ownership of X11 to The Open Group. The X.Org Group
(hereinafter called "X.Org") was created as the successor to The X Project
Team after the The Open Group ceased operating The X Project Team. The
purpose of X.Org was to foster development, evolution, and maintenance of
the X Window System. X.Org operates under the corporate umbrella of The
Open Group.
.PP
The X Consortium was an independent, not-for-profit Delaware membership
corporation. It was formed in 1993 as the successor to the MIT X
Consortium.
.PP
The X Window System was created in the mid-1980s at the Massachusetts
Institute of Technology. In 1988, MIT formed a member-funded consortium
to provide the technical and administrative leadership necessary to
support further development of the X Window System. In 1992, MIT and
the membership decided it was in their best interests to move the
consortium out of MIT and create an independent, stand-alone organization.
All rights to the X Window System were assigned by MIT to X Consortium,
Inc. on January 1, 1994. On December 31, 1996 the X Consortium, Inc.
closed its doors and all rights to the X Window System were assigned to
The Open Group.
.PP
.SH "ADDRESS"
To reach The Open Group public World Wide Web server, use
http://www.opengroup.org/.
.PP
To reach The X.Org public World Wide Web server, use
http://www.x.org/.
.PP
To reach The X.Org public ftp machine, use anonymous ftp at
ftp://ftp.x.org/
.SH "FULL MEMBERS"
.nf
Attachmate
Barco
Compaq
Hewlett-Packard
Hummingbird
IBM
ICS
Metro Link
MITRE
Shiman Associates
Silicon Graphics Incorporated
Starnet Communications
Sun Microsystems
The XFree86 Project
US Navy
WRQ
Xi Graphics
.fi

View File

@@ -0,0 +1,421 @@
.\" -*- coding: us-ascii -*-
.TH Xprint __miscmansuffix__ "8 October 2004"
.SH NAME
Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol
.SH SYNOPSIS
Xprint is a very flexible, extensible, scaleable, client/server
print system based on ISO 10175 (and some other specs) and the X11
rendering protocol.
Using Xprint an application can search, query and use devices like
printers, FAX machines or create documents in formats like PDF.
In particular, an application can seek a printer, query supported
attributes (like paper size, trays, fonts etc.), configure the printer
device to match it\(cqs needs and print on it like on any other X device
reusing parts of the code which is used for the video card Xserver.
.SH OVERVIEW
The "X Print Service" technology allows X rendering to devices such as
printers and fax. Most of the service is available in the X11
technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
Modifications have also been made to the LessTif/Motif/Qt technology
stacks to support Xprint.
.PP
The Xp portion consists of:
.TP 0.2i
\(bu
Xp Extension for the X-Server (included in the X-Server Xprt)
.TP 0.2i
\(bu
Xp Extension API for the client side (libXp/libXprintUtils)
.TP 0.2i
\(bu
PCL ddx driver that converts core X to native PCL
.TP 0.2i
\(bu
PDF ddx driver that converts core X to native PDF
.TP 0.2i
\(bu
PostScript ddx driver that converts core X to native PostScript
.TP 0.2i
\(bu
Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters
.PP
.PP
From an X clients perspective, it can attach to one of two nearly
identical X-Servers, a "Video" X-Server, and a "Print" X-Server
which has the additional Xp capability but otherwise looks and
behaves the same.
.SH "HOW THE X PRINT SERVICE WORKS"
The X Print Service expands on the traditional X-Server and Xlib world
in four ways.
.TP 0.4i
1.
Most obvious is the use of "print ddx drivers" instead of
"video ddx drivers". While a video ddx driver modifies pixels
in a video frame buffer, a print ddx driver generates "page
description language (PDL)" output (such as PCL, PDF or PostScript)
or sends the print rendering instructions to a platform-specific
print API (like Win32/GDI).
Once a print ddx driver generates PDL output, it can be sent to
a spooler such as \fBlp\fR(1)
or retrieved by the client (to implement functionality like "print-to-file").
Though not currently done, a single X-Server can support both
print and video ddx drivers.
.TP 0.4i
2.
Since printers support "paged" output, unlike video, a portion
of the Xp Extension supports APIs to delineate printed output.
For example, XpStartPage and XpEndPage tell the X-Server where
a physical page starts and ends in an otherwise continuous
stream of X rendering primitives. Likewise, XpStartJob and
XpEndJob determine when a collection of pages starts and ends.
XpEndJob typically causes the generated PDL to be submitted to
a spooler, such as \fBlp\fR(1).
.TP 0.4i
3.
Since printers have extensive capabilities, another portion of
the Xp Extension supports APIs to manipulate "print contexts".
Once a printer is selected using the Xp Extension API, a print
context to represent it can be created. A print context
embodies the printer selected - it contains the printer's
default capabilities, selectable range of capabilities,
printer state, and generated output. Some "attributes" within
the print context can be modified by the user, and the
X-Server and print ddx driver will react accordingly. For
example, the attribute "content-orientation" can be set to
"landscape" or "portrait" (if the printer supports these
values - which can be queried using the Xprint API as well).
.TP 0.4i
4.
Since printers can have "built in" fonts, the Xp Extension in
the X-Server works with the print ddx drivers to make
available (for printing only) additional fonts on a per print
context basis.
When a print context is created and set for a given printer,
the X font calls may be able to access additional printer
fonts. To do this (typically), the X-Server must have access
to "printer metric files" (.pmf) that describe at minimum the
metrics of the built in fonts.
.PP
.SH USAGE
There are three tasks to start the X Print Service:
.TP 0.4i
1.
configuring the X Print Server,
.TP 0.4i
2.
starting the X Print Service
.TP 0.4i
3.
configuring the user session so that clients can find the running X Print Service
.PP
.PP
The tasks are described in detail below.
.SH "SERVER CONFIGURATION"
The X Print Server (Xprt) can read a number of configuration files which
control its behavior and support for printers. Each vendor platform has
a default location for this information. Xprt can also read the
environment variable \fBXPCONFIGDIR\fR to locate alternate configuration
directories. Common settings include:
export XPCONFIGDIR=/X11/lib/X11/XpConfig/
.PP
export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/
.PP
Xprt has many built-in defaults, and lacking any configuration files,
will immediately try to support all printers visible via \fBlpstat\fR(1).
.PP
In order of importance for configuration by a system administrator, the
configuration files for a "C" locale are as follows (see \fBXprt\fR(__appmansuffix__) for more
details (including support for non-"C" locales)):
.TP
\fB${XPCONFIGDIR}/C/print/Xprinters\fR
\&'Xprinters' is the top most configuration file. It tells
Xprt which specific printer names (e.g. mylaser) should
be supported, and whether \fBlpstat\fR(1) or other commands
should be used to automatically supplement the list of
printers.
.TP
\fB${XPCONFIGDIR}/C/print/attributes/printer\fR
The 'printer' file maps printer names to model
configurations (see 'model-config' below). For example,
"mylaser" could be mapped to a "HPDJ1600C", and all other
arbitrary printers could be mapped to a default, such as
"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters
file, setting up defaults in 'printer' becomes all the
more important.
.TP
\fB${XPCONFIGDIR}/C/print/attributes/document\fR
The 'document' file specifies the initial document values
for any print jobs. For example, which paper tray to
use, what default resolution, etc.
.TP
\fB${XPCONFIGDIR}/C/print/attributes/job\fR
The 'job' file specifies the initial job values for any
print jobs. For example, "notification-profile" can be
set so that when a print job is successfully sent to a
printer, e-mail is sent to the user.
.TP
\fB${XPCONFIGDIR}/C/print/models/PSdefault/model\-config\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf\fR
The 'model-config' file has attributes that describe the
printer model\(cqs capabilities and default settings.
Printer model fonts may also be present. The model-config
file also identifies the print ddx driver to be used.
For each printer model supported, a complete hierarchy of
files should exist. In most cases, these files do not
need to be modified.
.TP
\fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pcl\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pdf\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/postscript\fR
The print ddx drivers can have highly specific
configuration files to control their behavior. In most
cases, these files do not need to be modified.
.PP
More information in how to configure and customize the X print server can be found in the
\fBXprt\fR(__appmansuffix__)
manual page.
.SH "STARTING UP"
The summary checklist for starting the X Print Service is as follows:
.TP 0.4i
1.
Choose an execution model for the X Print Service. The X
Print Service can be run on a per-user session basis, per
machine basis, or can be run on a few machines globally
available to a number of users.
.TP 0.4i
2.
If print jobs are to be submitted to a spooler (almost always
the case), make sure all needed printers are available to the
spooler subsystem (most often \fBlp\fR(1))
on the same machine running the X Print Service.
.TP 0.4i
3.
Configure the X Print Server. See ``X Print Server
Configuration''.
.TP 0.4i
4.
Depending on #1, start the X Print Server process "Xprt", and
then the toolkit-specific Print Dialog Manager Daemon process
(such as CDEnext's "dtpdmd") at the appropriate times.
Note that libXprintUtils-based applications/toolkits do not need
a Print Dialog Manager Daemon process to use Xprint.
.PP
The details are described below.
.PP
Because the X Print Service is based on X, it can be easily distributed.
The most significant factors in which execution model to choose will be
driven by:
.TP 0.2i
\(bu
how many printers will be accessable through the printer
subsystem on any given machine. A system administrator may
choose to cluster printers on a few given machines, or
scatter them across an organization and possibly make
extensive use of remote spoolers to make them globally
available.
.TP 0.2i
\(bu
how many machines will need a copy of the X Print Server
configuration files. The files have been architected so
that one super-set version of them can be maintained and
distributed (e.g. via NFS), and a per-machine or per-user
version of the `Xprinters' is all that is needed to have the
appropriate information in them utilized or ignored.
.TP 0.2i
\(bu
how many users can demand services from a given X Print
Service.
.PP
With the above in mind, some obvious execution models include:
.TP 0.2i
\(bu
Global - in this model, the system administrator is choosing
to run the X Print Service on a *few* select machines with
appropriate printers configured, and allow clients access to
the global resource. This can centralize the administration
of printers and configuration files, but may have to be
monitored for performance loading.
Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
.TP 0.2i
\(bu
Per-machine - every machine with potential X Print Service
users would run the service. Printer and configuration file
administration is decentralized, and usage would be limited
to the users on the machine.
Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
.TP 0.2i
\(bu
Per-user session - every user would run an entire X Print
Service for themselves. In the future, the Video X Server
normally started may contain Print X Server capability, so
this model becomes very natural.
Startup would likely be done at session login or by
launching actions or processes manually once the user
logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
.PP
.PP
Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
.TP 0.4i
1.
.nf
[machineA] % Xprt [\-XpFile <Xprinters file>] [:dispNum] &
.fi
Note that Xprt will look for configuration files in either
a default location or where \fBXPCONFIGDIR\fR points.
\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather
than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'.
.TP 0.4i
2.
.nf
[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] &
.fi
The dtpdmd will maintain an X-Selection on the X-Server,
and will start dtpdm's as required to service requests.
.PP
.PP
In all but the per-user session model, the machine running the dtpdmd
(thus dtpdm's) will need display authorization to the users video
display.
.SH "CLIENT CONFIGURATION"
Once a X Print Server and dtpdmd have been started -- many of them
in some cases -- clients will need to find and use them. There are
two mechanisms that allow clients to discover X Print Servers and
printers.
.TP 0.2i
\(bu
"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
applications, the following notation is understood:
.nf
printer_name@machine[:dispNum]
.fi
For example:
.nf
colorlj7@printhub:2
.fi
In the above example, the X Print Server running at `printhub:2'
is assumed to support the printer named `colorlj7'.
.TP 0.2i
\(bu
\fB${XPSERVERLIST}\fR - assuming usage of the DtPrint print dialogs,
the environment variable \fB${XPSERVERLIST}\fR can contain a list
of X Print Servers. For example:
.nf
XPSERVERLIST="printhub:2 printhub:3 otherdept:0"
.fi
Then in the dialogs, only a printer name needs to be entered.
The dialog will then search the X Print Servers in \fB${XPSERVERLIST}\fR
for a server than supports the printer, and then establish
contact.
.PP
.SH "END-USER SEQUENCE"
From most CDEnext applications, printing is accomplished by bringing
down the <File> menu and selecting <Print...>. This will result in
the DtPrintSetupBox dialog, which will request the name of a printer,
and offer limited capability to configure print options (e.g. number
of copies). If the user wishes, they can select <Setup...>, which
will start a dtpdm capable of modifying additional print options.
Finally, the user should select <Print>.
.SH ENVIRONMENT
.TP
\fB${XPCONFIGDIR}\fR
This environment variable points to the root
of the Xprint server configuration directory hierarchy.
If the variable is not defined, the default
path is be assumed. The default path may be
\fB/usr/X11R6/lib/X11/xserver/\fR,
\fB/usr/lib/X11/xserver/\fR,
\fB/usr/share/Xprint/xserver/\fR or
\fB/usr/openwin/server/etc/XpConfig\fR, depending on the
system, and may be configured in \fB/etc/init.d/xprint\fR.
.TP
\fB${LANG}\fR
This environment variable selects the locale settings used by the Xprint server.
Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR)
which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR).
If \fB${LANG}\fR is not set "C" is assumed.
.TP
\fB${XPSERVERLIST}\fR
The environment variable \fB${XPSERVERLIST}\fR contains a list
of display identifiers (separated by whitespace) which tell an
application where it can find the Xprint servers. Usually
\fB${XPSERVERLIST}\fR is set by the profile startup scripts (e.g.
\fB/etc/profile\fR or \fB/etc/profile.d/xprint.sh\fR) using the output of
\fB/etc/init.d/xprint get_xpserverlist\fR.
Example:
.nf
export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
.fi
Alternatively \fB${XPSERVERLIST}\fR can be set
manually. Example:
.nf
export XPSERVERLIST="littlecat:80 bitdog:72"
.fi
instructs an application to find an Xprint server at display
80 on the machine "littlecat" and at display 72 on the
machine bigdog.
.TP
\fB${XPRINTER}\fR
The environment variable \fB${XPRINTER}\fR
defines the default printer used by print
applications. The syntax is either
\fIprintername\fR or
\fIprintername\fR@\fIdisplay\fR.
Examples:
.RS
.TP
\fBXPRINTER=ps003\fR
tells an application to look for the
first printer named "ps003" on all Xprint
servers.
.TP
\fBXPRINTER=hplaser19@littlecat:80\fR
tells an application to use the printer "hplaser19"
on the Xprint server at display
"littlecat:80".
.RE
If \fB${XPRINTER}\fR is not set the applications
will examine the values of the \fB${PDPRINTER}\fR,
\fB${LPDEST}\fR, and
\fB${PRINTER}\fR environment variables (in that order).
.SH "SEE ALSO"
\fBX11\fR(__miscmansuffix__), \fBxplsprinters\fR(__appmansuffix__), \fBxprehashprinterlist\fR(__appmansuffix__), \fBxphelloworld\fR(__appmansuffix__), \fBxpxmhelloworld\fR(__appmansuffix__), \fBxpawhelloworld\fR(__appmansuffix__), \fBxpxthelloworld\fR(__appmansuffix__), \fBxpsimplehelloworld\fR(__appmansuffix__), \fBXserver\fR(__appmansuffix__), \fBXprt\fR(__appmansuffix__), \fBlibXp\fR(__libmansuffix__), \fBlibXprintUtils\fR(__libmansuffix__), \fBlibXprintAppUtils\fR(__libmansuffix__), \fBXmPrintShell\fR(__libmansuffix__), \fBXawPrintShell\fR(__libmansuffix__), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/)
.SH AUTHORS
This manual page was written by
Roland Mainz <roland.mainz@nrubsig.org> based on the original X11R6.6
\fBxc/programs/Xserver/XpConfig/README\fR.

View File

@@ -0,0 +1,627 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" 'http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'>
<!-- Process this file with docbook-to-man to generate an nroff manual
page: 'docbook-to-man manpage.sgml > manpage.1'. You may view
the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'.
A typical entry in a Makefile or Makefile.am is:
manpage.1: manpage.sgml
docbook-to-man $< > $@
HTML generation can be done like this:
% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html
-->
<refentry id="Xprint">
<refmeta>
<refentrytitle>Xprint</refentrytitle>
<manvolnum>__miscmansuffix__</manvolnum>
</refmeta>
<refnamediv>
<refname>Xprint</refname>
<refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para>Xprint is a very flexible, extensible, scaleable, client/server
print system based on ISO 10175 (and some other specs) and the X11
rendering protocol.
Using Xprint an application can search, query and use devices like
printers, FAX machines or create documents in formats like PDF.
In particular, an application can seek a printer, query supported
attributes (like paper size, trays, fonts etc.), configure the printer
device to match it&rsquo;s needs and print on it like on any other X device
reusing parts of the code which is used for the video card Xserver.
</para>
</refsynopsisdiv>
<refsect1>
<title>OVERVIEW</title>
<para>
The "X Print Service" technology allows X rendering to devices such as
printers and fax. Most of the service is available in the X11
technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
Modifications have also been made to the LessTif/Motif/Qt technology
stacks to support Xprint.
</para>
<para>
The Xp portion consists of:
<itemizedlist>
<listitem><para>Xp Extension for the X-Server (included in the X-Server Xprt)</para></listitem>
<listitem><para>Xp Extension API for the client side (libXp/libXprintUtils)</para></listitem>
<listitem><para>PCL ddx driver that converts core X to native PCL</para></listitem>
<listitem><para>PDF ddx driver that converts core X to native PDF</para></listitem>
<listitem><para>PostScript ddx driver that converts core X to native PostScript</para></listitem>
<listitem><para>Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters</para></listitem>
</itemizedlist>
</para>
<para>
From an X clients perspective, it can attach to one of two nearly
identical X-Servers, a "Video" X-Server, and a "Print" X-Server
which has the additional Xp capability but otherwise looks and
behaves the same.
</para>
</refsect1>
<refsect1>
<title>HOW THE X PRINT SERVICE WORKS</title>
<para>
The X Print Service expands on the traditional X-Server and Xlib world
in four ways.
<orderedlist>
<listitem>
<para>
Most obvious is the use of "print ddx drivers" instead of
"video ddx drivers". While a video ddx driver modifies pixels
in a video frame buffer, a print ddx driver generates "page
description language (PDL)" output (such as PCL, PDF or PostScript)
or sends the print rendering instructions to a platform-specific
print API (like Win32/GDI).
</para>
<para>
Once a print ddx driver generates PDL output, it can be sent to
a spooler such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>
or retrieved by the client (to implement functionality like "print-to-file").
</para>
<para>
Though not currently done, a single X-Server can support both
print and video ddx drivers.
<!-- FIXME: IBM/AIX people have integrated Xprt into their main Xserver (currently experimental) ... -->
</para>
</listitem>
<listitem>
<para>
Since printers support "paged" output, unlike video, a portion
of the Xp Extension supports APIs to delineate printed output.
For example, <function>XpStartPage</function> and <function>XpEndPage</function> tell the X-Server where
a physical page starts and ends in an otherwise continuous
stream of X rendering primitives. Likewise, <function>XpStartJob</function> and
<function>XpEndJob</function> determine when a collection of pages starts and ends.
<function>XpEndJob</function> typically causes the generated PDL to be submitted to
a spooler, such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
</para>
</listitem>
<listitem>
<para>
Since printers have extensive capabilities, another portion of
the Xp Extension supports APIs to manipulate "print contexts".
</para>
<para>
Once a printer is selected using the Xp Extension API, a print
context to represent it can be created. A print context
embodies the printer selected - it contains the printer's
default capabilities, selectable range of capabilities,
printer state, and generated output. Some "attributes" within
the print context can be modified by the user, and the
X-Server and print ddx driver will react accordingly. For
example, the attribute "content-orientation" can be set to
"landscape" or "portrait" (if the printer supports these
values - which can be queried using the Xprint API as well).
</para>
</listitem>
<listitem>
<para>
Since printers can have "built in" fonts, the Xp Extension in
the X-Server works with the print ddx drivers to make
available (for printing only) additional fonts on a per print
context basis.
</para>
<para>
When a print context is created and set for a given printer,
the X font calls may be able to access additional printer
fonts. To do this (typically), the X-Server must have access
to "printer metric files" (.pmf) that describe at minimum the
metrics of the built in fonts.
</para>
</listitem>
</orderedlist>
</para>
</refsect1>
<refsect1>
<title>USAGE</title>
<para>
There are three tasks to start the X Print Service:
<orderedlist>
<listitem><para>configuring the X Print Server,</para></listitem>
<listitem><para>starting the X Print Service</para></listitem>
<listitem><para>configuring the user session so that clients can find the running X Print Service</para></listitem>
</orderedlist>
</para>
<para>
The tasks are described in detail below.
</para>
</refsect1>
<refsect1>
<title>SERVER CONFIGURATION</title>
<para>
The X Print Server (Xprt) can read a number of configuration files which
control its behavior and support for printers. Each vendor platform has
a default location for this information. Xprt can also read the
environment variable <envar>XPCONFIGDIR</envar> to locate alternate configuration
directories. Common settings include:
<simplelist type="vert">
<member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member>
<member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member>
</simplelist>
</para>
<para>
Xprt has many built-in defaults, and lacking any configuration files,
will immediately try to support all printers visible via <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
</para>
<para>
In order of importance for configuration by a system administrator, the
configuration files for a "C" locale are as follows (see <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> for more
details (including support for non-"C" locales)):
<variablelist>
<varlistentry>
<term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
<listitem>
<para>
'Xprinters' is the top most configuration file. It tells
Xprt which specific printer names (e.g. mylaser) should
be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands
should be used to automatically supplement the list of
printers.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
<listitem>
<para>
The 'printer' file maps printer names to model
configurations (see 'model-config' below). For example,
"mylaser" could be mapped to a "HPDJ1600C", and all other
arbitrary printers could be mapped to a default, such as
"HPLJ4SI". When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters
file, setting up defaults in 'printer' becomes all the
more important.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
<listitem>
<para>
The 'document' file specifies the initial document values
for any print jobs. For example, which paper tray to
use, what default resolution, etc.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
<listitem>
<para>
The 'job' file specifies the initial job values for any
print jobs. For example, "notification-profile" can be
set so that when a print job is successfully sent to a
printer, e-mail is sent to the user.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term>
<term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term>
<term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term>
<term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term>
<listitem>
<para>
The 'model-config' file has attributes that describe the
printer model&rsquo;s capabilities and default settings.
Printer model fonts may also be present. The model-config
file also identifies the print ddx driver to be used.
For each printer model supported, a complete hierarchy of
files should exist. In most cases, these files do not
need to be modified.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term>
<term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term>
<term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term>
<listitem>
<para>
The print ddx drivers can have highly specific
configuration files to control their behavior. In most
cases, these files do not need to be modified.
</para>
</listitem>
</varlistentry>
</variablelist>
More information in how to configure and customize the X print server can be found in the
<citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>
manual page.
</para>
</refsect1>
<refsect1>
<title>STARTING UP</title>
<para>
The summary checklist for starting the X Print Service is as follows:
<orderedlist>
<listitem>
<para>
Choose an execution model for the X Print Service. The X
Print Service can be run on a per-user session basis, per
machine basis, or can be run on a few machines globally
available to a number of users.
</para>
</listitem>
<listitem>
<para>
If print jobs are to be submitted to a spooler (almost always
the case), make sure all needed printers are available to the
spooler subsystem (most often <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
on the same machine running the X Print Service.
</para>
</listitem>
<listitem>
<para>
Configure the X Print Server. See ``X Print Server
Configuration''.
</para>
</listitem>
<listitem>
<para>
Depending on #1, start the X Print Server process "Xprt", and
then the toolkit-specific Print Dialog Manager Daemon process
(such as CDEnext's "dtpdmd") at the appropriate times.
Note that libXprintUtils-based applications/toolkits do not need
a Print Dialog Manager Daemon process to use Xprint.
</para>
</listitem>
</orderedlist>
The details are described below.
</para>
<para>
Because the X Print Service is based on X, it can be easily distributed.
The most significant factors in which execution model to choose will be
driven by:
<itemizedlist>
<listitem>
<para>
how many printers will be accessable through the printer
subsystem on any given machine. A system administrator may
choose to cluster printers on a few given machines, or
scatter them across an organization and possibly make
extensive use of remote spoolers to make them globally
available.
</para>
</listitem>
<listitem>
<para>
how many machines will need a copy of the X Print Server
configuration files. The files have been architected so
that one super-set version of them can be maintained and
distributed (e.g. via NFS), and a per-machine or per-user
version of the `Xprinters' is all that is needed to have the
appropriate information in them utilized or ignored.
</para>
</listitem>
<listitem>
<para>
how many users can demand services from a given X Print
Service.
</para>
</listitem>
</itemizedlist>
With the above in mind, some obvious execution models include:
<itemizedlist>
<listitem>
<para>
Global - in this model, the system administrator is choosing
to run the X Print Service on a *few* select machines with
appropriate printers configured, and allow clients access to
the global resource. This can centralize the administration
of printers and configuration files, but may have to be
monitored for performance loading.
</para>
<para>
Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
</para>
</listitem>
<listitem>
<para>
Per-machine - every machine with potential X Print Service
users would run the service. Printer and configuration file
administration is decentralized, and usage would be limited
to the users on the machine.
</para>
<para>
Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
</para>
</listitem>
<listitem>
<para>
Per-user session - every user would run an entire X Print
Service for themselves. In the future, the Video X Server
normally started may contain Print X Server capability, so
this model becomes very natural.
</para>
<para>
Startup would likely be done at session login or by
launching actions or processes manually once the user
logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
<orderedlist>
<listitem>
<para>
<programlisting>[machineA] % Xprt [-XpFile &lt;Xprinters file&gt;] [:dispNum] &amp;</programlisting>
</para>
<para>
Note that Xprt will look for configuration files in either
a default location or where <envar>XPCONFIGDIR</envar> points.
</para>
<para>
<option>-XpFile</option> specifies an alternate `Xprinters' file, rather
than the default one or `<filename>${XPCONFIGDIR}/C/print/Xprinters</filename>'.
</para>
</listitem>
<listitem>
<para>
<programlisting>[machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] &amp;</programlisting>
</para>
<para>
The dtpdmd will maintain an X-Selection on the X-Server,
and will start dtpdm's as required to service requests.
</para>
</listitem>
</orderedlist>
</para>
<para>
In all but the per-user session model, the machine running the dtpdmd
(thus dtpdm's) will need display authorization to the users video
display.
</para>
</refsect1>
<refsect1>
<title>CLIENT CONFIGURATION</title>
<para>
Once a X Print Server and dtpdmd have been started -- many of them
in some cases -- clients will need to find and use them. There are
two mechanisms that allow clients to discover X Print Servers and
printers.
<itemizedlist>
<listitem>
<para>
"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
applications, the following notation is understood:
</para>
<para>
<programlisting>printer_name@machine[:dispNum]</programlisting>
</para>
<para>
For example:
</para>
<para>
<programlisting>colorlj7@printhub:2</programlisting>
</para>
<para>
In the above example, the X Print Server running at `printhub:2'
is assumed to support the printer named `colorlj7'.
</para>
</listitem>
<listitem>
<para>
<envar>${XPSERVERLIST}</envar> - assuming usage of the DtPrint print dialogs,
the environment variable <envar>${XPSERVERLIST}</envar> can contain a list
of X Print Servers. For example:
</para>
<para>
<programlisting>XPSERVERLIST="printhub:2 printhub:3 otherdept:0"</programlisting>
</para>
<para>
Then in the dialogs, only a printer name needs to be entered.
The dialog will then search the X Print Servers in <envar>${XPSERVERLIST}</envar>
for a server than supports the printer, and then establish
contact.
</para>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1>
<title>END-USER SEQUENCE</title>
<para>
From most CDEnext applications, printing is accomplished by bringing
down the &lt;File&gt; menu and selecting &lt;Print...&gt;. This will result in
the DtPrintSetupBox dialog, which will request the name of a printer,
and offer limited capability to configure print options (e.g. number
of copies). If the user wishes, they can select &lt;Setup...&gt;, which
will start a dtpdm capable of modifying additional print options.
Finally, the user should select &lt;Print&gt;.
</para>
</refsect1>
<refsect1>
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry>
<term><envar>${XPCONFIGDIR}</envar></term>
<listitem>
<para> This environment variable points to the root
of the Xprint server configuration directory hierarchy.
If the variable is not defined, the default
path is be assumed. The default path may be
<filename>/usr/X11R6/lib/X11/xserver/</filename>,
<filename>/usr/lib/X11/xserver/</filename>,
<filename>/usr/share/Xprint/xserver/</filename> or
<filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the
system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><envar>${LANG}</envar></term>
<listitem>
<para>
This environment variable selects the locale settings used by the Xprint server.
Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>)
which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>).
If <envar>${LANG}</envar> is not set "C" is assumed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><envar>${XPSERVERLIST}</envar></term>
<listitem>
<para>The environment variable <envar>${XPSERVERLIST}</envar> contains a list
of display identifiers (separated by whitespace) which tell an
application where it can find the Xprint servers. Usually
<envar>${XPSERVERLIST}</envar> is set by the profile startup scripts (e.g.
<filename>/etc/profile</filename> or <filename>/etc/profile.d/xprint.sh</filename>) using the output of
<userinput>/etc/init.d/xprint get_xpserverlist</userinput>.</para>
<para>Example:
<informalexample>
<programlisting>
export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</programlisting>
</informalexample>
</para>
<para>Alternatively <envar>${XPSERVERLIST}</envar> can be set
manually. Example:</para>
<informalexample>
<programlisting>
export XPSERVERLIST="littlecat:80 bitdog:72"</programlisting>
</informalexample>
<para>
instructs an application to find an Xprint server at display
80 on the machine "littlecat" and at display 72 on the
machine bigdog.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><envar>${XPRINTER}</envar>
</term>
<listitem>
<para>The environment variable <envar>${XPRINTER}</envar>
defines the default printer used by print
applications. The syntax is either
<replaceable>printername</replaceable> or
<replaceable>printername</replaceable>@<replaceable>display</replaceable>.</para>
<para>Examples:
<variablelist>
<varlistentry>
<term><userinput>XPRINTER=ps003</userinput></term>
<listitem><para>
tells an application to look for the
first printer named "ps003" on all Xprint
servers.</para>
</listitem>
</varlistentry>
<varlistentry>
<!-- brain dead <term> does not permit quote marks
(in XPRINTER="hplaser19@littlecat:80"), so omit them -->
<term><userinput>XPRINTER=hplaser19@littlecat:80</userinput></term>
<listitem><para>
tells an application to use the printer "hplaser19"
on the Xprint server at display
"littlecat:80".</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>If <envar>${XPRINTER}</envar> is not set the applications
will examine the values of the <envar>${PDPRINTER}</envar>,
<envar>${LPDEST}</envar>, and
<envar>${PRINTER}</envar> environment variables (in that order).
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
<simplelist type="inline">
<!-- specific references -->
<!-- none -->
<!-- Xprint general references -->
<!--
<member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
-->
<member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) -->
<member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
<member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member>
<member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member>
</simplelist>
</para>
</refsect1>
<refsect1>
<title>AUTHORS</title>
<para>
This manual page was written by
Roland Mainz <email>roland.mainz@nrubsig.org</email> based on the original X11R6.6
<filename>xc/programs/Xserver/XpConfig/README</filename>.
</para>
</refsect1>
</refentry>

View File

@@ -0,0 +1,290 @@
.\" $Xorg: security.cpp,v 1.3 2000/08/17 19:42:05 cpqbld Exp $
.\" $XdotOrg: $
.\" Copyright (c) 1993, 1994 X Consortium
.\" Copyright 2004 Sun Microsystems, Inc.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the
.\" "Software"), to deal in the Software without restriction, including
.\" without limitation the rights to use, copy, modify, merge, publish,
.\" distribute, and/or sell copies of the Software, and to permit persons
.\" to whom the Software is furnished to do so, provided that the above
.\" copyright notice(s) and this permission notice appear in all copies of
.\" the Software and that both the above copyright notice(s) and this
.\" permission notice appear in supporting documentation.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Except as contained in this notice, the name of a copyright holder
.\" shall not be used in advertising or otherwise to promote the sale, use
.\" or other dealings in this Software without prior written authorization
.\" of the copyright holder.
.\"
.\" X Window System is a trademark of The Open Group.
.\"
.\" $XFree86: xc/doc/man/general/security.man,v 1.4tsi Exp $
.\"
.nr )S 12
.TH XSECURITY __miscmansuffix__ __xorgversion__
.SH NAME
Xsecurity \- X display access control
.SH SYNOPSIS
.PP
X provides mechanism for implementing many access control systems.
The sample implementation includes six mechanisms:
.nf
.br
.ta 3.4i
Host Access Simple host-based access control.
MIT-MAGIC-COOKIE-1 Shared plain-text "cookies".
XDM-AUTHORIZATION-1 Secure DES based private-keys.
SUN-DES-1 Based on Sun's secure rpc system.
MIT-KERBEROS-5 Kerberos Version 5 user-to-user.
Server Interpreted Server-dependent methods of access control
.fi
Not all of these are available in all builds or implementations.
.SH "ACCESS SYSTEM DESCRIPTIONS"
.IP "Host Access"
Any client on a host in the host access control list is allowed access to
the X server. This system can work reasonably well in an environment
where everyone trusts everyone, or when only a single person can log in
to a given machine, and is easy to use when the list of hosts used is small.
This system does not work well when multiple people can log in to a single
machine and mutual trust does not exist.
The list of allowed hosts is stored in the X server and can be changed with
the \fIxhost\fP command. The list is stored in the server by network
address, not host names, so is not automatically updated if a host changes
address while the server is running.
When using the more secure mechanisms listed below, the host list is
normally configured to be the empty list, so that only authorized
programs can connect to the display. See the GRANTING ACCESS section of
the \fIXserver\fP man page for details on how this list is initialized at
server startup.
.IP "MIT-MAGIC-COOKIE-1"
When using MIT-MAGIC-COOKIE-1,
the client sends a 128 bit "cookie"
along with the connection setup information.
If the cookie presented by the client matches one
that the X server has, the connection is allowed access.
The cookie is chosen so that it is hard to guess;
\fIxdm\fP generates such cookies automatically when this form of
access control is used.
The user's copy of
the cookie is usually stored in the \fI.Xauthority\fP file in the home
directory, although the environment variable \fBXAUTHORITY\fP can be used
to specify an alternate location.
\fIXdm\fP automatically passes a cookie to the server for each new
login session, and stores the cookie in the user file at login.
.IP
The cookie is transmitted on the network without encryption, so
there is nothing to prevent a network snooper from obtaining the data
and using it to gain access to the X server. This system is useful in an
environment where many users are running applications on the same machine
and want to avoid interference from each other, with the caveat that this
control is only as good as the access control to the physical network.
In environments where network-level snooping is difficult, this system
can work reasonably well.
.IP "XDM-AUTHORIZATION-1"
Sites who compile with DES support can use a DES-based access control
mechanism called XDM-AUTHORIZATION-1.
It is similar in usage to MIT-MAGIC-COOKIE-1 in that a key is
stored in the \fI.Xauthority\fP file and is shared with the X server.
However,
this key consists of two parts - a 56 bit DES encryption key and 64 bits of
random data used as the authenticator.
.IP
When connecting to the X server, the application generates 192 bits of data
by combining the current time in seconds (since 00:00 1/1/1970 GMT) along
with 48 bits of "identifier". For TCP/IPv4 connections, the identifier is
the address plus port number; for local connections it is the process ID
and 32 bits to form a unique id (in case multiple connections to the same
server are made from a single process). This 192 bit packet is then
encrypted using the DES key and sent to the X server, which is able to
verify if the requestor is authorized to connect by decrypting with the
same DES key and validating the authenticator and additional data.
This system is useful in many environments where host-based access control
is inappropriate and where network security cannot be ensured.
.IP "SUN-DES-1"
Recent versions of SunOS (and some other systems) have included a
secure public key remote procedure call system. This system is based
on the notion of a network principal; a user name and NIS domain pair.
Using this system, the X server can securely discover the actual user
name of the requesting process. It involves encrypting data with the
X server's public key, and so the identity of the user who started the
X server is needed for this; this identity is stored in the \fI.Xauthority\fP
file. By extending the semantics of "host address" to include this notion of
network principal, this form of access control is very easy to use.
.IP
To allow access by a new user, use \fIxhost\fP. For example,
.nf
xhost keith@ ruth@mit.edu
.fi
adds "keith" from the NIS domain of the local machine, and "ruth" in
the "mit.edu" NIS domain. For keith or ruth to successfully connect
to the display, they must add the principal who started the server to
their \fI.Xauthority\fP file. For example:
.nf
xauth add expo.lcs.mit.edu:0 SUN-DES-1 unix.expo.lcs.mit.edu@our.domain.edu
.fi
This system only works on machines which support Secure RPC, and only for
users which have set up the appropriate public/private key pairs on their
system. See the Secure RPC documentation for details.
To access the display from a remote host, you may have to do a
\fIkeylogin\fP on the remote host first.
.IP MIT-KERBEROS-5
Kerberos is a network-based authentication scheme developed by MIT for
Project Athena. It allows mutually suspicious principals to
authenticate each other as long as each trusts a third party,
Kerberos. Each principal has a secret key known only to it and
Kerberos. Principals includes servers, such as an FTP server or X
server, and human users, whose key is their password. Users gain
access to services by getting Kerberos tickets for those services from
a Kerberos server. Since the X server has no place to store a secret
key, it shares keys with the user who logs in. X authentication thus
uses the user-to-user scheme of Kerberos version 5.
.IP
When you log in via \fIxdm\fP, \fIxdm\fP will use your password to
obtain the initial Kerberos tickets. \fIxdm\fP stores the tickets in
a credentials cache file and sets the environment variable
\fIKRB5CCNAME\fP to point to the file. The credentials cache is
destroyed when the session ends to reduce the chance of the tickets
being stolen before they expire.
.IP
Since Kerberos is a user-based authorization protocol, like the
SUN-DES-1 protocol, the owner of a display can enable
and disable specific users, or Kerberos principals.
The \fIxhost\fP client is used to enable or disable authorization.
For example,
.nf
xhost krb5:judy krb5:gildea@x.org
.fi
adds "judy" from the Kerberos realm of the local machine, and "gildea"
from the "x.org" realm.
.IP "Server Interpreted"
The Server Interpreted method provides two strings to the X server for
entry in the access control list. The first string represents the type
of entry, and the second string contains the value of the entry. These
strings are interpreted by the server and different implementations and
builds may support different types of entries. The types supported in
the sample implementation are defined in the SERVER INTERPRETED ACCESS
TYPES section below. Entries of this type can be manipulated via
\fIxhost\fP. For example to add a Server Interpreted entry of type
localuser with a value of root, the command is \fBxhost +si:localuser:root\fP.
.SH "THE AUTHORIZATION FILE"
.PP
Except for Host Access control and Server Interpreted Access Control, each of
these systems uses data stored in
the \fI.Xauthority\fP file to generate the correct authorization information
to pass along to the X server at connection setup. MIT-MAGIC-COOKIE-1 and
XDM-AUTHORIZATION-1 store secret data in the file; so anyone who can read
the file can gain access to the X server. SUN-DES-1 stores only the
identity of the principal who started the server
(unix.\fIhostname\fP@\fIdomain\fP when the server is started by \fIxdm\fP),
and so it is not useful to anyone not authorized to connect to the server.
.PP
Each entry in the \fI.Xauthority\fP file matches a certain connection family
(TCP/IP, DECnet or local connections) and X display name (hostname plus display
number). This allows multiple authorization entries for different displays
to share the same data file. A special connection family (FamilyWild, value
65535) causes an entry to match every display, allowing the entry to be used
for all connections. Each entry additionally contains the authorization
name and whatever private authorization data is needed by that authorization
type to generate the correct information at connection setup time.
.PP
The \fIxauth\fP program manipulates the \fI.Xauthority\fP file format.
It understands the semantics of the connection families and address formats,
displaying them in an easy to understand format. It also understands that
SUN-DES-1 and MIT-KERBEROS-5 use
string values for the authorization data, and displays
them appropriately.
.PP
The X server (when running on a workstation) reads authorization
information from a file name passed on the command line with the \fI\-auth\fP
option (see the \fIXserver\fP manual page). The authorization entries in
the file are used to control access to the server. In each of the
authorization schemes listed above, the data needed by the server to initialize
an authorization scheme is identical to the data needed by the client to
generate the appropriate authorization information, so the same file can be
used by both processes. This is especially useful when \fIxinit\fP is used.
.IP "MIT-MAGIC-COOKIE-1"
This system uses 128 bits of data shared between the user and the X server.
Any collection of bits can be used. \fIXdm\fP generates these keys using a
cryptographically secure pseudo random number generator, and so the key to
the next session cannot be computed from the current session key.
.IP "XDM-AUTHORIZATION-1"
This system uses two pieces of information. First, 64 bits of random data,
second a 56 bit DES encryption key (again, random data) stored
in 8 bytes, the last byte of which is ignored. \fIXdm\fP generates these keys
using the same random number generator as is used for MIT-MAGIC-COOKIE-1.
.IP "SUN-DES-1"
This system needs a string representation of the principal which identifies
the associated X server.
This information is used to encrypt the client's authority information
when it is sent to the X server.
When \fIxdm\fP starts the X server, it uses the root
principal for the machine on which it is running
(unix.\fIhostname\fP@\fIdomain\fP, e.g.,
"unix.expire.lcs.mit.edu@our.domain.edu"). Putting the correct principal
name in the \fI.Xauthority\fP file causes Xlib to generate the appropriate
authorization information using the secure RPC library.
.IP "MIT-KERBEROS-5"
Kerberos reads tickets from the cache pointed to by the
\fIKRB5CCNAME\fP environment variable, so does not use any data from
the \fI.Xauthority\fP file. An entry with no data must still exist to tell
clients that MIT-KERBEROS-5 is available.
.IP
Unlike the \fI.Xauthority\fP file for clients, the authority file
passed by xdm to
a local X server (with ``\fB\-auth\fP \fIfilename\fP'', see xdm(1))
does contain the name of the credentials cache, since
the X server will not have the
\fIKRB5CCNAME\fP environment variable set.
The data of the MIT-KERBEROS-5 entry is the credentials cache name and
has the form ``UU:FILE:\fIfilename\fP'', where \fIfilename\fP is the
name of the credentials cache file created by xdm. Note again that
this form is \fInot\fP used by clients.
.SH "SERVER INTERPRETED ACCESS TYPES"
The sample implementation includes several Server Interpreted mechanisms:
.nf
.br
.ta 3.4i
IPv6 IPv6 literal addresses
hostname Network host name
localuser Local connection user id
localgroup Local connection group id
.fi
.IP "IPv6"
A literal IPv6 address as defined in IETF RFC 3513.
.IP "hostname"
The value must be a hostname as defined in IETF RFC 2396. Due to Mobile IP
and dynamic DNS, the name service is consulted at connection
authentication time, unlike the traditional host access control list
which only contains numeric addresses and does not automatically update when
a host's address changes. Note that this definition of hostname does
not allow use of literal IP addresses.
.IP "localuser & localgroup"
On systems which can determine in a secure fashion the credentials of a client
process, the "localuser" and "localgroup" authentication methods provide access
based on those credentials. The format of the values provided is platform
specific. For POSIX & UNIX platforms, if the value starts with the
character '#', the rest of the string is treated as a decimal uid or gid,
otherwise the string is defined as a user name or group name.
.IP
If your system supports this method and you use it, be warned that some
programs that proxy connections and are setuid or setgid may get authenticated
as the uid or gid of the proxy process. For instance, some versions of ssh
will be authenticated as the user root, no matter what user is running the
ssh client, so on systems with such software, adding access for localuser:root
may allow wider access than intended to the X display.
.SH FILES
\&.Xauthority
.SH "SEE ALSO"
X(__miscmansuffix__), xdm(1), xauth(1), xhost(1), xinit(1), Xserver(1)