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
5 +.\" -*- coding: us-ascii -*-
6 +.TH Xprint __miscmansuffix__ "8 October 2004"
8 +Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol
10 +Xprint is a very flexible, extensible, scaleable, client/server
11 +print system based on ISO 10175 (and some other specs) and the X11
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.
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.
26 +The Xp portion consists of:
29 +Xp Extension for the X-Server (included in the X-Server Xprt)
32 +Xp Extension API for the client side (libXp/libXprintUtils)
35 +PCL ddx driver that converts core X to native PCL
38 +PDF ddx driver that converts core X to native PDF
41 +PostScript ddx driver that converts core X to native PostScript
44 +Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters
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
51 +.SH "HOW THE X PRINT SERVICE WORKS"
52 +The X Print Service expands on the traditional X-Server and Xlib world
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).
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").
67 +Though not currently done, a single X-Server can support both
68 +print and video ddx drivers.
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).
81 +Since printers have extensive capabilities, another portion of
82 +the Xp Extension supports APIs to manipulate "print contexts".
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).
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
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.
108 +There are three tasks to start the X Print Service:
111 +configuring the X Print Server,
114 +starting the X Print Service
117 +configuring the user session so that clients can find the running X Print Service
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:
128 +export XPCONFIGDIR=/X11/lib/X11/XpConfig/
130 +export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/
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).
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)):
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
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
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.
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.
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.
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.
181 +More information in how to configure and customize the X print server can be found in the
182 +\fBXprt\fR(__appmansuffix__)
185 +The summary checklist for starting the X Print Service is as follows:
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.
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.
200 +Configure the X Print Server. See ``X Print Server
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.
210 +The details are described below.
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
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
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.
233 +how many users can demand services from a given X Print
236 +With the above in mind, some obvious execution models include:
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.
246 +Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
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.
254 +Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
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.
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.
267 +Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
272 +[machineA] % Xprt [\-XpFile <Xprinters file>] [:dispNum] &
276 +Note that Xprt will look for configuration files in either
277 +a default location or where \fBXPCONFIGDIR\fR points.
279 +\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather
280 +than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'.
285 +[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] &
289 +The dtpdmd will maintain an X-Selection on the X-Server,
290 +and will start dtpdm's as required to service requests.
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
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
303 +"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
304 +applications, the following notation is understood:
308 +printer_name@machine[:dispNum]
320 +In the above example, the X Print Server running at `printhub:2'
321 +is assumed to support the printer named `colorlj7'.
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:
330 +XPSERVERLIST="printhub:2 printhub:3 otherdept:0"
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
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>.
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.
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.
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.
378 + export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
382 +Alternatively \fB${XPSERVERLIST}\fR can be set
387 + export XPSERVERLIST="littlecat:80 bitdog:72"
390 +instructs an application to find an Xprint server at display
391 +80 on the machine "littlecat" and at display 72 on the
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.
404 +\fBXPRINTER=ps003\fR
405 +tells an application to look for the
406 +first printer named "ps003" on all Xprint
409 +\fBXPRINTER=hplaser19@littlecat:80\fR
410 +tells an application to use the printer "hplaser19"
411 +on the Xprint server at display
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).
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/)
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
430 +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.3//EN" 'http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd'>
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:
437 +manpage.1: manpage.sgml
438 + docbook-to-man $< > $@
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
444 +<refentry id="Xprint">
446 + <refentrytitle>Xprint</refentrytitle>
447 + <manvolnum>__miscmansuffix__</manvolnum>
450 + <refname>Xprint</refname>
452 + <refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose>
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’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.
468 + <title>OVERVIEW</title>
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.
477 + The Xp portion consists of:
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>
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
496 + <title>HOW THE X PRINT SERVICE WORKS</title>
498 + The X Print Service expands on the traditional X-Server and Xlib world
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).
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").
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) ... -->
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>.
536 + Since printers have extensive capabilities, another portion of
537 + the Xp Extension supports APIs to manipulate "print contexts".
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).
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
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.
572 + <title>USAGE</title>
574 + There are three tasks to start the X Print Service:
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>
582 + The tasks are described in detail below.
587 + <title>SERVER CONFIGURATION</title>
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:
595 + <simplelist type="vert">
596 + <member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member>
597 + <member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member>
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>.
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)):
610 + <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
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
623 + <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
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
638 + <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
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.
649 + <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
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.
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>
668 + The 'model-config' file has attributes that describe the
669 + printer model’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.
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.
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>
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.
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>
702 + <title>STARTING UP</title>
704 + The summary checklist for starting the X Print Service is as follows:
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.
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.
725 + Configure the X Print Server. See ``X Print Server
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.
739 + The details are described below.
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
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
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.
768 + how many users can demand services from a given X Print
774 + With the above in mind, some obvious execution models include:
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.
786 + Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
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.
798 + Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
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.
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.
818 + Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
822 + <programlisting>[machineA] % Xprt [-XpFile <Xprinters file>] [:dispNum] &</programlisting>
825 + Note that Xprt will look for configuration files in either
826 + a default location or where <envar>XPCONFIGDIR</envar> points.
829 + <option>-XpFile</option> specifies an alternate `Xprinters' file, rather
830 + than the default one or `<filename>${XPCONFIGDIR}/C/print/Xprinters</filename>'.
835 + <programlisting>[machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] &</programlisting>
838 + The dtpdmd will maintain an X-Selection on the X-Server,
839 + and will start dtpdm's as required to service requests.
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
852 + <title>CLIENT CONFIGURATION</title>
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
862 + "X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
863 + applications, the following notation is understood:
866 + <programlisting>printer_name@machine[:dispNum]</programlisting>
872 + <programlisting>colorlj7@printhub:2</programlisting>
875 + In the above example, the X Print Server running at `printhub:2'
876 + is assumed to support the printer named `colorlj7'.
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:
886 + <programlisting>XPSERVERLIST="printhub:2 printhub:3 otherdept:0"</programlisting>
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
900 + <title>END-USER SEQUENCE</title>
902 + From most CDEnext applications, printing is accomplished by bringing
903 + down the <File> menu and selecting <Print...>. 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 <Setup...>, which
907 + will start a dtpdm capable of modifying additional print options.
908 + Finally, the user should select <Print>.
913 + <title>ENVIRONMENT</title>
916 + <term><envar>${XPCONFIGDIR}</envar></term>
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>
931 + <term><envar>${LANG}</envar></term>
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.
943 + <term><envar>${XPSERVERLIST}</envar></term>
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>
954 + export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</programlisting>
957 + <para>Alternatively <envar>${XPSERVERLIST}</envar> can be set
958 + manually. Example:</para>
961 + export XPSERVERLIST="littlecat:80 bitdog:72"</programlisting>
964 + instructs an application to find an Xprint server at display
965 + 80 on the machine "littlecat" and at display 72 on the
972 + <term><envar>${XPRINTER}</envar>
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>
983 + <term><userinput>XPRINTER=ps003</userinput></term>
985 + tells an application to look for the
986 + first printer named "ps003" on all Xprint
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>
996 + tells an application to use the printer "hplaser19"
997 + on the Xprint server at display
998 + "littlecat:80".</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).
1015 + <title>SEE ALSO</title>
1017 + <simplelist type="inline">
1018 + <!-- specific references -->
1021 + <!-- Xprint general references -->
1023 + <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
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>
1048 + <title>AUTHORS</title>
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>.