]> git.pld-linux.org Git - packages/xorg-proto-xorgproto.git/blob - xorgproto-missing.patch
- ease maintenance: use xorgproto version as first part of release
[packages/xorg-proto-xorgproto.git] / xorgproto-missing.patch
1 diff -Nur xorgproto/man.orig/Xprint.man xorgproto/man/Xprint.man
2 --- xorgproto/man.orig/Xprint.man       1970-01-01 01:00:00.000000000 +0100
3 +++ xorgproto/man/Xprint.man    2018-02-20 15:29:03.205059476 +0100
4 @@ -0,0 +1,421 @@
5 +.\" -*- coding: us-ascii -*-
6 +.TH Xprint __miscmansuffix__ "8 October 2004"
7 +.SH NAME
8 +Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol
9 +.SH SYNOPSIS
10 +Xprint is a very flexible, extensible, scaleable, client/server
11 +print system based on ISO 10175 (and some other specs) and the X11
12 +rendering protocol.
13 +Using Xprint an application can search, query and use devices like
14 +printers, FAX machines or create documents in formats like PDF.
15 +In particular, an application can seek a printer, query supported
16 +attributes (like paper size, trays, fonts etc.), configure the printer
17 +device to match it\(cqs needs and print on it like on any other X device
18 +reusing parts of the code which is used for the video card Xserver.
19 +.SH OVERVIEW
20 +The "X Print Service" technology allows X rendering to devices such as
21 +printers and fax. Most of the service is available in the X11
22 +technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
23 +Modifications have also been made to the LessTif/Motif/Qt technology
24 +stacks to support Xprint.
25 +.PP
26 +The Xp portion consists of:
27 +.TP 0.2i
28 +\(bu
29 +Xp Extension for the X-Server (included in the X-Server Xprt)
30 +.TP 0.2i
31 +\(bu
32 +Xp Extension API for the client side (libXp/libXprintUtils)
33 +.TP 0.2i
34 +\(bu
35 +PCL ddx driver that converts core X to native PCL
36 +.TP 0.2i
37 +\(bu
38 +PDF ddx driver that converts core X to native PDF
39 +.TP 0.2i
40 +\(bu
41 +PostScript ddx driver that converts core X to native PostScript
42 +.TP 0.2i
43 +\(bu
44 +Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters
45 +.PP
46 +.PP
47 +From an X clients perspective, it can attach to one of two nearly
48 +identical X-Servers, a "Video" X-Server, and a "Print" X-Server
49 +which has the additional Xp capability but otherwise looks and
50 +behaves the same.
51 +.SH "HOW THE X PRINT SERVICE WORKS"
52 +The X Print Service expands on the traditional X-Server and Xlib world
53 +in four ways.
54 +.TP 0.4i
55 +1.
56 +Most obvious is the use of "print ddx drivers" instead of
57 +"video ddx drivers". While a video ddx driver modifies pixels
58 +in a video frame buffer, a print ddx driver generates "page
59 +description language (PDL)" output (such as PCL, PDF or PostScript)
60 +or sends the print rendering instructions to a platform-specific
61 +print API (like Win32/GDI).
62 +
63 +Once a print ddx driver generates PDL output, it can be sent to
64 +a spooler such as \fBlp\fR(1)
65 +or retrieved by the client (to implement functionality like "print-to-file").
66 +
67 +Though not currently done, a single X-Server can support both
68 +print and video ddx drivers.
69 +.TP 0.4i
70 +2.
71 +Since printers support "paged" output, unlike video, a portion
72 +of the Xp Extension supports APIs to delineate printed output.
73 +For example, XpStartPage and XpEndPage tell the X-Server where
74 +a physical page starts and ends in an otherwise continuous
75 +stream of X rendering primitives. Likewise, XpStartJob and
76 +XpEndJob determine when a collection of pages starts and ends.
77 +XpEndJob typically causes the generated PDL to be submitted to
78 +a spooler, such as \fBlp\fR(1).
79 +.TP 0.4i
80 +3.
81 +Since printers have extensive capabilities, another portion of
82 +the Xp Extension supports APIs to manipulate "print contexts".
83 +
84 +Once a printer is selected using the Xp Extension API, a print
85 +context to represent it can be created. A print context
86 +embodies the printer selected - it contains the printer's
87 +default capabilities, selectable range of capabilities,
88 +printer state, and generated output. Some "attributes" within
89 +the print context can be modified by the user, and the
90 +X-Server and print ddx driver will react accordingly. For
91 +example, the attribute "content-orientation" can be set to
92 +"landscape" or "portrait" (if the printer supports these
93 +values - which can be queried using the Xprint API as well).
94 +.TP 0.4i
95 +4.
96 +Since printers can have "built in" fonts, the Xp Extension in
97 +the X-Server works with the print ddx drivers to make
98 +available (for printing only) additional fonts on a per print
99 +context basis.
100 +
101 +When a print context is created and set for a given printer,
102 +the X font calls may be able to access additional printer
103 +fonts. To do this (typically), the X-Server must have access
104 +to "printer metric files" (.pmf) that describe at minimum the
105 +metrics of the built in fonts.
106 +.PP
107 +.SH USAGE
108 +There are three tasks to start the X Print Service:
109 +.TP 0.4i
110 +1.
111 +configuring the X Print Server,
112 +.TP 0.4i
113 +2.
114 +starting the X Print Service
115 +.TP 0.4i
116 +3.
117 +configuring the user session so that clients can find the running X Print Service
118 +.PP
119 +.PP
120 +The tasks are described in detail below.
121 +.SH "SERVER CONFIGURATION"
122 +The X Print Server (Xprt) can read a number of configuration files which
123 +control its behavior and support for printers. Each vendor platform has
124 +a default location for this information. Xprt can also read the
125 +environment variable \fBXPCONFIGDIR\fR to locate alternate configuration
126 +directories. Common settings include:
127 +
128 +export XPCONFIGDIR=/X11/lib/X11/XpConfig/
129 +.PP
130 +export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/
131 +
132 +.PP
133 +Xprt has many built-in defaults, and lacking any configuration files,
134 +will immediately try to support all printers visible via \fBlpstat\fR(1).
135 +.PP
136 +In order of importance for configuration by a system administrator, the
137 +configuration files for a "C" locale are as follows (see \fBXprt\fR(__appmansuffix__) for more
138 +details (including support for non-"C" locales)):
139 +.TP
140 +\fB${XPCONFIGDIR}/C/print/Xprinters\fR
141 +\&'Xprinters' is the top most configuration file. It tells
142 +Xprt which specific printer names (e.g. mylaser) should
143 +be supported, and whether \fBlpstat\fR(1) or other commands
144 +should be used to automatically supplement the list of
145 +printers.
146 +.TP
147 +\fB${XPCONFIGDIR}/C/print/attributes/printer\fR
148 +The 'printer' file maps printer names to model
149 +configurations (see 'model-config' below). For example,
150 +"mylaser" could be mapped to a "HPDJ1600C", and all other
151 +arbitrary printers could be mapped to a default, such as
152 +"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters
153 +file, setting up defaults in 'printer' becomes all the
154 +more important.
155 +.TP
156 +\fB${XPCONFIGDIR}/C/print/attributes/document\fR
157 +The 'document' file specifies the initial document values
158 +for any print jobs. For example, which paper tray to
159 +use, what default resolution, etc.
160 +.TP
161 +\fB${XPCONFIGDIR}/C/print/attributes/job\fR
162 +The 'job' file specifies the initial job values for any
163 +print jobs. For example, "notification-profile" can be
164 +set so that when a print job is successfully sent to a
165 +printer, e-mail is sent to the user.
166 +.TP
167 +\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
168 +The 'model-config' file has attributes that describe the
169 +printer model\(cqs capabilities and default settings.
170 +Printer model fonts may also be present. The model-config
171 +file also identifies the print ddx driver to be used.
172 +For each printer model supported, a complete hierarchy of
173 +files should exist. In most cases, these files do not
174 +need to be modified.
175 +.TP
176 +\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
177 +The print ddx drivers can have highly specific
178 +configuration files to control their behavior. In most
179 +cases, these files do not need to be modified.
180 +.PP
181 +More information in how to configure and customize the X print server can be found in the
182 +\fBXprt\fR(__appmansuffix__)
183 +manual page.
184 +.SH "STARTING UP"
185 +The summary checklist for starting the X Print Service is as follows:
186 +.TP 0.4i
187 +1.
188 +Choose an execution model for the X Print Service. The X
189 +Print Service can be run on a per-user session basis, per
190 +machine basis, or can be run on a few machines globally
191 +available to a number of users.
192 +.TP 0.4i
193 +2.
194 +If print jobs are to be submitted to a spooler (almost always
195 +the case), make sure all needed printers are available to the
196 +spooler subsystem (most often \fBlp\fR(1))
197 +on the same machine running the X Print Service.
198 +.TP 0.4i
199 +3.
200 +Configure the X Print Server. See ``X Print Server
201 +Configuration''.
202 +.TP 0.4i
203 +4.
204 +Depending on #1, start the X Print Server process "Xprt", and
205 +then the toolkit-specific Print Dialog Manager Daemon process
206 +(such as CDEnext's "dtpdmd") at the appropriate times.
207 +Note that libXprintUtils-based applications/toolkits do not need
208 +a Print Dialog Manager Daemon process to use Xprint.
209 +.PP
210 +The details are described below.
211 +.PP
212 +Because the X Print Service is based on X, it can be easily distributed.
213 +The most significant factors in which execution model to choose will be
214 +driven by:
215 +.TP 0.2i
216 +\(bu
217 +how many printers will be accessable through the printer
218 +subsystem on any given machine. A system administrator may
219 +choose to cluster printers on a few given machines, or
220 +scatter them across an organization and possibly make
221 +extensive use of remote spoolers to make them globally
222 +available.
223 +.TP 0.2i
224 +\(bu
225 +how many machines will need a copy of the X Print Server
226 +configuration files. The files have been architected so
227 +that one super-set version of them can be maintained and
228 +distributed (e.g. via NFS), and a per-machine or per-user
229 +version of the `Xprinters' is all that is needed to have the
230 +appropriate information in them utilized or ignored.
231 +.TP 0.2i
232 +\(bu
233 +how many users can demand services from a given X Print
234 +Service.
235 +.PP
236 +With the above in mind, some obvious execution models include:
237 +.TP 0.2i
238 +\(bu
239 +Global - in this model, the system administrator is choosing
240 +to run the X Print Service on a *few* select machines with
241 +appropriate printers configured, and allow clients access to
242 +the global resource. This can centralize the administration
243 +of printers and configuration files, but may have to be
244 +monitored for performance loading.
245 +
246 +Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
247 +.TP 0.2i
248 +\(bu
249 +Per-machine - every machine with potential X Print Service
250 +users would run the service. Printer and configuration file
251 +administration is decentralized, and usage would be limited
252 +to the users on the machine.
253 +
254 +Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
255 +.TP 0.2i
256 +\(bu
257 +Per-user session - every user would run an entire X Print
258 +Service for themselves. In the future, the Video X Server
259 +normally started may contain Print X Server capability, so
260 +this model becomes very natural.
261 +
262 +Startup would likely be done at session login or by
263 +launching actions or processes manually once the user
264 +logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
265 +.PP
266 +.PP
267 +Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
268 +.TP 0.4i
269 +1.
270 +
271 +.nf
272 +[machineA] % Xprt [\-XpFile <Xprinters file>] [:dispNum] &
273 +.fi
274 +
275 +
276 +Note that Xprt will look for configuration files in either
277 +a default location or where \fBXPCONFIGDIR\fR points.
278 +
279 +\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather
280 +than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'.
281 +.TP 0.4i
282 +2.
283 +
284 +.nf
285 +[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] &
286 +.fi
287 +
288 +
289 +The dtpdmd will maintain an X-Selection on the X-Server,
290 +and will start dtpdm's as required to service requests.
291 +.PP
292 +.PP
293 +In all but the per-user session model, the machine running the dtpdmd
294 +(thus dtpdm's) will need display authorization to the users video
295 +display.
296 +.SH "CLIENT CONFIGURATION"
297 +Once a X Print Server and dtpdmd have been started -- many of them
298 +in some cases -- clients will need to find and use them. There are
299 +two mechanisms that allow clients to discover X Print Servers and
300 +printers.
301 +.TP 0.2i
302 +\(bu
303 +"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
304 +applications, the following notation is understood:
305 +
306 +
307 +.nf
308 +printer_name@machine[:dispNum]
309 +.fi
310 +
311 +
312 +For example:
313 +
314 +
315 +.nf
316 +colorlj7@printhub:2
317 +.fi
318 +
319 +
320 +In the above example, the X Print Server running at `printhub:2'
321 +is assumed to support the printer named `colorlj7'.
322 +.TP 0.2i
323 +\(bu
324 +\fB${XPSERVERLIST}\fR - assuming usage of the DtPrint print dialogs,
325 +the environment variable \fB${XPSERVERLIST}\fR can contain a list
326 +of X Print Servers. For example:
327 +
328 +
329 +.nf
330 +XPSERVERLIST="printhub:2 printhub:3 otherdept:0"
331 +.fi
332 +
333 +
334 +Then in the dialogs, only a printer name needs to be entered.
335 +The dialog will then search the X Print Servers in \fB${XPSERVERLIST}\fR
336 +for a server than supports the printer, and then establish
337 +contact.
338 +.PP
339 +.SH "END-USER SEQUENCE"
340 +From most CDEnext applications, printing is accomplished by bringing
341 +down the <File> menu and selecting <Print...>. This will result in
342 +the DtPrintSetupBox dialog, which will request the name of a printer,
343 +and offer limited capability to configure print options (e.g. number
344 +of copies). If the user wishes, they can select <Setup...>, which
345 +will start a dtpdm capable of modifying additional print options.
346 +Finally, the user should select <Print>.
347 +.SH ENVIRONMENT
348 +.TP
349 +\fB${XPCONFIGDIR}\fR
350 +This environment variable points to the root
351 +of the Xprint server configuration directory hierarchy.
352 +If the variable is not defined, the default
353 +path is be assumed. The default path may be
354 +\fB/usr/X11R6/lib/X11/xserver/\fR,
355 +\fB/usr/lib/X11/xserver/\fR,
356 +\fB/usr/share/Xprint/xserver/\fR or
357 +\fB/usr/openwin/server/etc/XpConfig\fR, depending on the
358 +system, and may be configured in \fB/etc/init.d/xprint\fR.
359 +.TP
360 +\fB${LANG}\fR
361 +This environment variable selects the locale settings used by the Xprint server.
362 +Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR)
363 +which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR).
364 +If \fB${LANG}\fR is not set "C" is assumed.
365 +.TP
366 +\fB${XPSERVERLIST}\fR
367 +The environment variable \fB${XPSERVERLIST}\fR contains a list
368 +of display identifiers (separated by whitespace) which tell an
369 +application where it can find the Xprint servers. Usually
370 +\fB${XPSERVERLIST}\fR is set by the profile startup scripts (e.g.
371 +\fB/etc/profile\fR or \fB/etc/profile.d/xprint.sh\fR) using the output of
372 +\fB/etc/init.d/xprint get_xpserverlist\fR.
373 +
374 +Example:
375 +
376 +.nf
377 +
378 +               export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
379 +.fi
380 +
381 +
382 +Alternatively \fB${XPSERVERLIST}\fR can be set
383 +manually. Example:
384 +
385 +.nf
386 +
387 +               export XPSERVERLIST="littlecat:80 bitdog:72"
388 +.fi
389 +
390 +instructs an application to find an Xprint server at display
391 +80 on the machine "littlecat" and at display 72 on the
392 +machine bigdog.
393 +.TP
394 +\fB${XPRINTER}\fR
395 +The environment variable \fB${XPRINTER}\fR
396 +defines the default printer used by print
397 +applications. The syntax is either
398 +\fIprintername\fR or
399 +\fIprintername\fR@\fIdisplay\fR.
400 +
401 +Examples:
402 +.RS
403 +.TP
404 +\fBXPRINTER=ps003\fR
405 +tells an application to look for the
406 +first printer named "ps003" on all Xprint
407 +servers.
408 +.TP
409 +\fBXPRINTER=hplaser19@littlecat:80\fR
410 +tells an application to use the printer "hplaser19"
411 +on the Xprint server at display
412 +"littlecat:80".
413 +.RE
414 +
415 +
416 +If \fB${XPRINTER}\fR is not set the applications
417 +will examine the values of the \fB${PDPRINTER}\fR,
418 +\fB${LPDEST}\fR, and
419 +\fB${PRINTER}\fR environment variables (in that order).
420 +.SH "SEE ALSO"
421 +\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/)
422 +.SH AUTHORS
423 +This manual page was written by
424 +Roland Mainz <roland.mainz@nrubsig.org> based on the original X11R6.6
425 +\fBxc/programs/Xserver/XpConfig/README\fR.
426 diff -Nur xorgproto/man.orig/Xprint.sgml xorgproto/man/Xprint.sgml
427 --- xorgproto/man.orig/Xprint.sgml      1970-01-01 01:00:00.000000000 +0100
428 +++ xorgproto/man/Xprint.sgml   2018-02-20 15:29:03.205059476 +0100
429 @@ -0,0 +1,627 @@
430 +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.3//EN" 'http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd'>
431 +
432 +<!-- Process this file with docbook-to-man to generate an nroff manual
433 +     page: 'docbook-to-man manpage.sgml > manpage.1'.  You may view
434 +     the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'.
435 +     A typical entry in a Makefile or Makefile.am is:
436 +
437 +manpage.1: manpage.sgml
438 +       docbook-to-man $< > $@
439 +
440 +HTML generation can be done like this:
441 +% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html
442 +  -->
443 +
444 +<refentry id="Xprint">
445 +  <refmeta>
446 +    <refentrytitle>Xprint</refentrytitle>
447 +    <manvolnum>__miscmansuffix__</manvolnum>
448 +  </refmeta>
449 +  <refnamediv>
450 +    <refname>Xprint</refname>
451 +
452 +    <refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose>
453 +  </refnamediv>
454 +  <refsynopsisdiv>
455 +    <para>Xprint is a very flexible, extensible, scaleable, client/server
456 +     print system based on ISO 10175 (and some other specs) and the X11
457 +     rendering protocol.
458 +     Using Xprint an application can search, query and use devices like
459 +     printers, FAX machines or create documents in formats like PDF.
460 +     In particular, an application can seek a printer, query supported
461 +     attributes (like paper size, trays, fonts etc.), configure the printer
462 +     device to match it&rsquo;s needs and print on it like on any other X device
463 +     reusing parts of the code which is used for the video card Xserver.
464 +    </para>
465 +  </refsynopsisdiv>
466 +
467 +  <refsect1>
468 +    <title>OVERVIEW</title>
469 +    <para>
470 +      The "X Print Service" technology allows X rendering to devices such as
471 +      printers and fax.  Most of the service is available in the X11
472 +      technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
473 +      Modifications have also been made to the LessTif/Motif/Qt technology
474 +      stacks to support Xprint.
475 +    </para>
476 +    <para>
477 +      The Xp portion consists of:
478 +      <itemizedlist>
479 +        <listitem><para>Xp Extension for the X-Server (included in the X-Server Xprt)</para></listitem>
480 +        <listitem><para>Xp Extension API for the client side (libXp/libXprintUtils)</para></listitem>
481 +        <listitem><para>PCL ddx driver that converts core X to native PCL</para></listitem>
482 +        <listitem><para>PDF ddx driver that converts core X to native PDF</para></listitem>
483 +        <listitem><para>PostScript ddx driver that converts core X to native PostScript</para></listitem>
484 +        <listitem><para>Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters</para></listitem>
485 +      </itemizedlist>
486 +    </para>
487 +    <para>
488 +      From an X clients perspective, it can attach to one of two nearly
489 +      identical X-Servers, a "Video" X-Server, and a "Print" X-Server
490 +      which has the additional Xp capability but otherwise looks and
491 +      behaves the same.
492 +    </para>
493 +  </refsect1>
494 +
495 +  <refsect1>
496 +    <title>HOW THE X PRINT SERVICE WORKS</title>
497 +    <para>
498 +      The X Print Service expands on the traditional X-Server and Xlib world
499 +      in four ways.
500 +
501 +      <orderedlist>
502 +        <listitem>
503 +          <para>
504 +            Most obvious is the use of "print ddx drivers" instead of
505 +            "video ddx drivers".  While a video ddx driver modifies pixels
506 +            in a video frame buffer, a print ddx driver generates "page
507 +            description language (PDL)" output (such as PCL, PDF or PostScript)
508 +            or sends the print rendering instructions to a platform-specific
509 +            print API (like Win32/GDI).
510 +          </para>
511 +          <para>
512 +            Once a print ddx driver generates PDL output, it can be sent to
513 +            a spooler such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>
514 +            or retrieved by the client (to implement functionality like "print-to-file").
515 +          </para>
516 +          <para>
517 +            Though not currently done, a single X-Server can support both
518 +            print and video ddx drivers.
519 +            <!-- FIXME: IBM/AIX people have integrated Xprt into their main Xserver (currently experimental) ... -->
520 +          </para>
521 +        </listitem>
522 +        <listitem>
523 +          <para>
524 +            Since printers support "paged" output, unlike video, a portion
525 +            of the Xp Extension supports APIs to delineate printed output.
526 +            For example, <function>XpStartPage</function> and <function>XpEndPage</function> tell the X-Server where
527 +            a physical page starts and ends in an otherwise continuous
528 +            stream of X rendering primitives.  Likewise, <function>XpStartJob</function> and
529 +            <function>XpEndJob</function> determine when a collection of pages starts and ends.
530 +            <function>XpEndJob</function> typically causes the generated PDL to be submitted to
531 +            a spooler, such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
532 +          </para>
533 +        </listitem>
534 +        <listitem>
535 +          <para>
536 +            Since printers have extensive capabilities, another portion of
537 +            the Xp Extension supports APIs to manipulate "print contexts".
538 +          </para>
539 +          <para>
540 +            Once a printer is selected using the Xp Extension API, a print
541 +            context to represent it can be created.  A print context
542 +            embodies the printer selected - it contains the printer's
543 +            default capabilities, selectable range of capabilities,
544 +            printer state, and generated output.  Some "attributes" within
545 +            the print context can be modified by the user, and the
546 +            X-Server and print ddx driver will react accordingly.  For
547 +            example, the attribute "content-orientation" can be set to
548 +            "landscape" or "portrait" (if the printer supports these
549 +            values - which can be queried using the Xprint API as well).
550 +          </para>
551 +        </listitem>
552 +        <listitem>
553 +          <para>
554 +            Since printers can have "built in" fonts, the Xp Extension in
555 +            the X-Server works with the print ddx drivers to make
556 +            available (for printing only) additional fonts on a per print
557 +            context basis.
558 +          </para>
559 +          <para>
560 +            When a print context is created and set for a given printer,
561 +            the X font calls may be able to access additional printer
562 +            fonts.  To do this (typically), the X-Server must have access
563 +            to "printer metric files" (.pmf) that describe at minimum the
564 +            metrics of the built in fonts.
565 +          </para>
566 +        </listitem>
567 +      </orderedlist>
568 +    </para>
569 +  </refsect1>
570 +
571 +  <refsect1>
572 +    <title>USAGE</title>
573 +    <para>
574 +      There are three tasks to start the X Print Service:
575 +      <orderedlist>
576 +        <listitem><para>configuring the X Print Server,</para></listitem>
577 +        <listitem><para>starting the X Print Service</para></listitem>
578 +        <listitem><para>configuring the user session so that clients can find the running X Print Service</para></listitem>
579 +      </orderedlist>
580 +    </para>
581 +    <para>
582 +      The tasks are described in detail below.
583 +    </para>
584 +  </refsect1>
585 +
586 +  <refsect1>
587 +    <title>SERVER CONFIGURATION</title>
588 +    <para>
589 +      The X Print Server (Xprt) can read a number of configuration files which
590 +      control its behavior and support for printers.  Each vendor platform has
591 +      a default location for this information.  Xprt can also read the
592 +      environment variable <envar>XPCONFIGDIR</envar> to locate alternate configuration
593 +      directories.  Common settings include:
594 +
595 +      <simplelist type="vert">
596 +        <member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member>
597 +        <member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member>
598 +      </simplelist>
599 +    </para>
600 +    <para>
601 +      Xprt has many built-in defaults, and lacking any configuration files,
602 +      will immediately try to support all printers visible via <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
603 +    </para>
604 +    <para>
605 +      In order of importance for configuration by a system administrator, the
606 +      configuration files for a "C" locale are as follows (see <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> for more
607 +      details (including support for non-"C" locales)):
608 +      <variablelist>
609 +        <varlistentry>
610 +          <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
611 +          <listitem>
612 +            <para>
613 +              'Xprinters' is the top most configuration file.  It tells
614 +              Xprt which specific printer names (e.g.  mylaser) should
615 +              be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands
616 +              should be used to automatically supplement the list of
617 +              printers.
618 +            </para>
619 +          </listitem>
620 +        </varlistentry>
621 +
622 +        <varlistentry>
623 +          <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
624 +          <listitem>
625 +            <para>
626 +              The 'printer' file maps printer names to model
627 +              configurations (see 'model-config' below).  For example,
628 +              "mylaser" could be mapped to a "HPDJ1600C", and all other
629 +              arbitrary printers could be mapped to a default, such as
630 +              "HPLJ4SI".  When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters
631 +              file, setting up defaults in 'printer' becomes all the
632 +              more important.
633 +            </para>
634 +          </listitem>
635 +        </varlistentry>
636 +
637 +        <varlistentry>
638 +          <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
639 +          <listitem>
640 +            <para>
641 +              The 'document' file specifies the initial document values
642 +              for any print jobs.  For example, which paper tray to
643 +              use, what default resolution, etc.
644 +            </para>
645 +          </listitem>
646 +        </varlistentry>
647 +
648 +        <varlistentry>
649 +          <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
650 +          <listitem>
651 +            <para>
652 +              The 'job' file specifies the initial job values for any
653 +              print jobs.  For example, "notification-profile" can be
654 +              set so that when a print job is successfully sent to a
655 +              printer, e-mail is sent to the user.
656 +            </para>
657 +          </listitem>
658 +        </varlistentry>
659 +
660 +        <varlistentry>
661 +          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term>
662 +          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term>
663 +          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term>
664 +          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term>
665 +
666 +          <listitem>
667 +            <para>
668 +              The 'model-config' file has attributes that describe the
669 +              printer model&rsquo;s capabilities and default settings.
670 +              Printer model fonts may also be present.  The model-config
671 +              file also identifies the print ddx driver to be used.
672 +
673 +              For each printer model supported, a complete hierarchy of
674 +              files should exist.  In most cases, these files do not
675 +              need to be modified.
676 +            </para>
677 +          </listitem>
678 +        </varlistentry>
679 +
680 +        <varlistentry>
681 +          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term>
682 +          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term>
683 +          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term>
684 +
685 +          <listitem>
686 +            <para>
687 +              The print ddx drivers can have highly specific
688 +              configuration files to control their behavior.  In most
689 +              cases, these files do not need to be modified.
690 +            </para>
691 +          </listitem>
692 +        </varlistentry>
693 +      </variablelist>
694 +
695 +      More information in how to configure and customize the X print server can be found in the
696 +      <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>
697 +      manual page.
698 +    </para>
699 +  </refsect1>
700 +
701 +  <refsect1>
702 +    <title>STARTING UP</title>
703 +    <para>
704 +      The summary checklist for starting the X Print Service is as follows:
705 +
706 +      <orderedlist>
707 +        <listitem>
708 +          <para>
709 +            Choose an execution model for the X Print Service.  The X
710 +            Print Service can be run on a per-user session basis, per
711 +            machine basis, or can be run on a few machines globally
712 +            available to a number of users.
713 +          </para>
714 +        </listitem>
715 +        <listitem>
716 +          <para>
717 +            If print jobs are to be submitted to a spooler (almost always
718 +            the case), make sure all needed printers are available to the
719 +            spooler subsystem (most often <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
720 +            on the same machine running the X Print Service.
721 +          </para>
722 +        </listitem>
723 +        <listitem>
724 +          <para>
725 +            Configure the X Print Server.  See ``X Print Server
726 +            Configuration''.
727 +          </para>
728 +        </listitem>
729 +        <listitem>
730 +          <para>
731 +            Depending on #1, start the X Print Server process "Xprt", and
732 +            then the toolkit-specific Print Dialog Manager Daemon process
733 +            (such as CDEnext's "dtpdmd") at the appropriate times.
734 +            Note that libXprintUtils-based applications/toolkits do not need
735 +            a Print Dialog Manager Daemon process to use Xprint.
736 +          </para>
737 +        </listitem>
738 +      </orderedlist>
739 +      The details are described below.
740 +    </para>
741 +    <para>
742 +      Because the X Print Service is based on X, it can be easily distributed.
743 +      The most significant factors in which execution model to choose will be
744 +      driven by:
745 +      <itemizedlist>
746 +        <listitem>
747 +          <para>
748 +            how many printers will be accessable through the printer
749 +            subsystem on any given machine.  A system administrator may
750 +            choose to cluster printers on a few given machines, or
751 +            scatter them across an organization and possibly make
752 +            extensive use of remote spoolers to make them globally
753 +            available.
754 +          </para>
755 +        </listitem>
756 +        <listitem>
757 +          <para>
758 +            how many machines will need a copy of the X Print Server
759 +            configuration files.  The files have been architected so
760 +            that one super-set version of them can be maintained and
761 +            distributed (e.g.  via NFS), and a per-machine or per-user
762 +            version of the `Xprinters' is all that is needed to have the
763 +            appropriate information in them utilized or ignored.
764 +          </para>
765 +        </listitem>
766 +        <listitem>
767 +          <para>
768 +            how many users can demand services from a given X Print
769 +            Service.
770 +          </para>
771 +        </listitem>
772 +      </itemizedlist>
773 +
774 +      With the above in mind, some obvious execution models include:
775 +      <itemizedlist>
776 +        <listitem>
777 +          <para>
778 +            Global - in this model, the system administrator is choosing
779 +            to run the X Print Service on a *few* select machines with
780 +            appropriate printers configured, and allow clients access to
781 +            the global resource.  This can centralize the administration
782 +            of printers and configuration files, but may have to be
783 +            monitored for performance loading.
784 +          </para>
785 +          <para>
786 +            Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
787 +          </para>
788 +        </listitem>
789 +
790 +        <listitem>
791 +          <para>
792 +            Per-machine - every machine with potential X Print Service
793 +            users would run the service.  Printer and configuration file
794 +            administration is decentralized, and usage would be limited
795 +            to the users on the machine.
796 +          </para>
797 +          <para>
798 +            Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
799 +          </para>
800 +        </listitem>
801 +
802 +        <listitem>
803 +          <para>
804 +            Per-user session - every user would run an entire X Print
805 +            Service for themselves.  In the future, the Video X Server
806 +            normally started may contain Print X Server capability, so
807 +            this model becomes very natural.
808 +          </para>
809 +          <para>
810 +            Startup would likely be done at session login or by
811 +            launching actions or processes manually once the user
812 +            logs in.  Note: Deamons like "dtpdmd" must be started after Xprt.
813 +          </para>
814 +        </listitem>
815 +      </itemizedlist>
816 +     </para>
817 +     <para>
818 +       Starting of the processes is straight forward.  In strict order (example is for manually starting the X print server for CDEnext usage):
819 +       <orderedlist>
820 +         <listitem>
821 +           <para>
822 +             <programlisting>[machineA] % Xprt [-XpFile &lt;Xprinters file&gt;] [:dispNum] &amp;</programlisting>
823 +           </para>
824 +           <para>
825 +             Note that Xprt will look for configuration files in either
826 +             a default location or where <envar>XPCONFIGDIR</envar> points.
827 +           </para>
828 +           <para>
829 +             <option>-XpFile</option> specifies an alternate `Xprinters' file, rather
830 +             than the default one or `<filename>${XPCONFIGDIR}/C/print/Xprinters</filename>'.
831 +           </para>
832 +         </listitem>
833 +         <listitem>
834 +           <para>
835 +             <programlisting>[machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] &amp;</programlisting>
836 +           </para>
837 +           <para>
838 +            The dtpdmd will maintain an X-Selection on the X-Server,
839 +            and will start dtpdm's as required to service requests.
840 +           </para>
841 +         </listitem>
842 +       </orderedlist>
843 +     </para>
844 +     <para>
845 +       In all but the per-user session model, the machine running the dtpdmd
846 +       (thus dtpdm's) will need display authorization to the users video
847 +       display.
848 +    </para>
849 +  </refsect1>
850 +
851 +  <refsect1>
852 +    <title>CLIENT CONFIGURATION</title>
853 +    <para>
854 +      Once a X Print Server and dtpdmd have been started -- many of them
855 +      in some cases -- clients will need to find and use them.  There are
856 +      two mechanisms that allow clients to discover X Print Servers and
857 +      printers.
858 +
859 +      <itemizedlist>
860 +        <listitem>
861 +          <para>
862 +            "X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
863 +            applications, the following notation is understood:
864 +          </para>
865 +          <para>
866 +            <programlisting>printer_name@machine[:dispNum]</programlisting>
867 +          </para>
868 +          <para>
869 +            For example:
870 +          </para>
871 +          <para>
872 +            <programlisting>colorlj7@printhub:2</programlisting>
873 +          </para>
874 +          <para>
875 +           In the above example, the X Print Server running at `printhub:2'
876 +           is assumed to support the printer named `colorlj7'.
877 +          </para>
878 +        </listitem>
879 +        <listitem>
880 +          <para>
881 +            <envar>${XPSERVERLIST}</envar> - assuming usage of the DtPrint print dialogs,
882 +            the environment variable <envar>${XPSERVERLIST}</envar> can contain a list
883 +            of X Print Servers.  For example:
884 +          </para>
885 +          <para>
886 +            <programlisting>XPSERVERLIST="printhub:2 printhub:3 otherdept:0"</programlisting>
887 +          </para>
888 +          <para>
889 +            Then in the dialogs, only a printer name needs to be entered.
890 +            The dialog will then search the X Print Servers in <envar>${XPSERVERLIST}</envar>
891 +            for a server than supports the printer, and then establish
892 +            contact.
893 +          </para>
894 +        </listitem>
895 +      </itemizedlist>
896 +    </para>
897 +  </refsect1>
898 +
899 +  <refsect1>
900 +    <title>END-USER SEQUENCE</title>
901 +    <para>
902 +      From most CDEnext applications, printing is accomplished by bringing
903 +      down the &lt;File&gt; menu and selecting &lt;Print...&gt;.  This will result in
904 +      the DtPrintSetupBox dialog, which will request the name of a printer,
905 +      and offer limited capability to configure print options (e.g. number
906 +      of copies).  If the user wishes, they can select &lt;Setup...&gt;, which
907 +      will start a dtpdm capable of modifying additional print options.
908 +      Finally, the user should select &lt;Print&gt;.
909 +    </para>
910 +  </refsect1>
911 +
912 +  <refsect1>
913 +    <title>ENVIRONMENT</title>
914 +    <variablelist>
915 +      <varlistentry>
916 +        <term><envar>${XPCONFIGDIR}</envar></term>
917 +        <listitem>
918 +          <para> This environment variable points to the  root
919 +           of  the Xprint server configuration directory hierarchy.
920 +           If the variable is not defined,  the  default
921 +           path  is be assumed.  The default path may be
922 +            <filename>/usr/X11R6/lib/X11/xserver/</filename>,
923 +            <filename>/usr/lib/X11/xserver/</filename>,
924 +            <filename>/usr/share/Xprint/xserver/</filename> or
925 +            <filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the
926 +           system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para>
927 +        </listitem>
928 +      </varlistentry>
929 +
930 +      <varlistentry>
931 +        <term><envar>${LANG}</envar></term>
932 +        <listitem>
933 +          <para>
934 +            This environment variable selects the locale settings used by the Xprint server.
935 +            Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>)
936 +            which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>).
937 +            If <envar>${LANG}</envar> is not set "C" is assumed.
938 +          </para>
939 +        </listitem>
940 +      </varlistentry>
941 +
942 +      <varlistentry>
943 +        <term><envar>${XPSERVERLIST}</envar></term>
944 +        <listitem>
945 +           <para>The environment variable <envar>${XPSERVERLIST}</envar> contains a list
946 +           of display identifiers (separated by whitespace) which tell an
947 +           application where it can find the Xprint servers.  Usually
948 +           <envar>${XPSERVERLIST}</envar> is set by the profile startup scripts (e.g.
949 +           <filename>/etc/profile</filename> or <filename>/etc/profile.d/xprint.sh</filename>) using the output of
950 +           <userinput>/etc/init.d/xprint get_xpserverlist</userinput>.</para>
951 +         <para>Example:
952 +           <informalexample>
953 +             <programlisting>
954 +               export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</programlisting>
955 +           </informalexample>
956 +         </para>
957 +         <para>Alternatively <envar>${XPSERVERLIST}</envar> can be set
958 +           manually. Example:</para>
959 +           <informalexample>
960 +             <programlisting>
961 +               export XPSERVERLIST="littlecat:80 bitdog:72"</programlisting>
962 +           </informalexample>
963 +         <para>
964 +           instructs an application to find an Xprint server at display
965 +           80 on the machine "littlecat" and at display 72 on the
966 +           machine bigdog.
967 +         </para>
968 +       </listitem>
969 +      </varlistentry>
970 +
971 +      <varlistentry>
972 +        <term><envar>${XPRINTER}</envar>
973 +        </term>
974 +        <listitem>
975 +          <para>The environment variable <envar>${XPRINTER}</envar>
976 +           defines the default printer used by print
977 +           applications. The syntax is either
978 +           <replaceable>printername</replaceable> or
979 +           <replaceable>printername</replaceable>@<replaceable>display</replaceable>.</para>
980 +           <para>Examples:
981 +           <variablelist>
982 +             <varlistentry>
983 +               <term><userinput>XPRINTER=ps003</userinput></term>
984 +               <listitem><para>
985 +                 tells an application to look for the
986 +                 first printer named "ps003" on all Xprint
987 +                 servers.</para>
988 +               </listitem>
989 +             </varlistentry>
990 +
991 +             <varlistentry>
992 +               <!-- brain dead <term> does not permit quote marks
993 +               (in XPRINTER="hplaser19@littlecat:80"), so omit them -->
994 +               <term><userinput>XPRINTER=hplaser19@littlecat:80</userinput></term>
995 +               <listitem><para>
996 +                 tells an application to use the printer "hplaser19"
997 +               on the Xprint server at display
998 +                 "littlecat:80".</para>
999 +             </listitem>
1000 +             </varlistentry>
1001 +
1002 +           </variablelist>
1003 +         </para>
1004 +         <para>If <envar>${XPRINTER}</envar> is not set the applications
1005 +           will examine the values of the <envar>${PDPRINTER}</envar>,
1006 +           <envar>${LPDEST}</envar>, and
1007 +           <envar>${PRINTER}</envar> environment variables (in that order).
1008 +         </para>
1009 +        </listitem>
1010 +      </varlistentry>
1011 +    </variablelist>
1012 +  </refsect1>
1013 +
1014 +  <refsect1>
1015 +    <title>SEE ALSO</title>
1016 +    <para>
1017 +      <simplelist type="inline">
1018 +        <!-- specific references -->
1019 +        <!-- none -->
1020 +
1021 +        <!-- Xprint general references -->
1022 +<!--
1023 +        <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
1024 +-->
1025 +        <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
1026 +        <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1027 +        <member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1028 +        <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1029 +        <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1030 +        <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1031 +        <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1032 +        <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1033 +        <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1034 +        <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
1035 +        <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) -->
1036 +        <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1037 +        <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1038 +        <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1039 +        <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1040 +        <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
1041 +        <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member>
1042 +        <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member>
1043 +      </simplelist>
1044 +    </para>
1045 +  </refsect1>
1046 +
1047 +  <refsect1>
1048 +    <title>AUTHORS</title>
1049 +    <para>
1050 +      This manual page was written by
1051 +      Roland Mainz <email>roland.mainz@nrubsig.org</email> based on the original X11R6.6
1052 +      <filename>xc/programs/Xserver/XpConfig/README</filename>.
1053 +    </para>
1054 +  </refsect1>
1055 +</refentry>
1056 +
This page took 0.221567 seconds and 3 git commands to generate.