]>
Commit | Line | Data |
---|---|---|
d27b05a4 JB |
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’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’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 <Xprinters file>] [:dispNum] &</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] &</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 <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>. | |
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 | + |