summaryrefslogtreecommitdiff
path: root/hw/xprint/doc/Xprt.sgml
blob: a62499263521c95175b97ceaf8f86c63ccb4e0b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" 'http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'>

<!-- Process this file with docbook-to-man to generate an nroff manual
     page: 'docbook-to-man manpage.sgml > manpage.1'.  You may view
     the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'. 
     A typical entry in a Makefile or Makefile.am is:

manpage.1: manpage.sgml
        docbook-to-man $< > $@

HTML generation can be done like this:
% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html
  -->

<refentry id="Xprt">
  <refmeta>
    <refentrytitle>Xprt</refentrytitle>
    <manvolnum>__appmansuffix__</manvolnum>
  </refmeta>
  <refnamediv>
    <refname>Xprt</refname>

    <refpurpose>Print server for X Version 11</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>Xprt</command>

      <arg><option>-ac</option></arg>

      <arg><option>-audit <replaceable>level</replaceable></option></arg>

      <arg><option>-pn</option></arg>

      <arg><option>-fp <replaceable>fontpath</replaceable></option></arg>

      <arg><option>-XpFile <replaceable>file</replaceable></option></arg>

      <arg><option>-XpSpoolerType <replaceable>spoolername</replaceable></option></arg>

      <arg><option>:<replaceable>display</replaceable></option></arg>

    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>DESCRIPTION</title>

    <para><command>Xprt</command> is the Xprint print server
      for version 11 of the X Window system for non display devices
      such as printers and fax machines.</para>

    <para>Xprint is an advanced printing system which enables X11
      applications to use devices like printers, FAX or create
      documents in formats like PostScript, PCL or PDF.  It may be used by
      clients such as <application>mozilla</application>.
    </para>

    <para>Xprint is a very flexible, extensible, scalable, client/server
     print system based on ISO 10175 (and some other specs) and the X11        
     rendering protocol.                                                       
     Using Xprint an application can search, query and use devices like        
     printers, FAX machines or create documents in formats like PDF.           
     In particular, an application can seek a printer, query supported         
     attributes (like paper size, trays, fonts etc.), configure the printer    
     device to match it's needs and print on it like on any other X device     
     reusing parts of the code which is used for the video card Xserver.
    </para>
  </refsect1>

  <refsect1>
    <title>USAGE</title>

    <para>
      Although Xprt may be invoked from the command line, it is
      preferable to run it as a daemon via the init script
      <filename>/etc/init.d/xprint</filename> (where this script exists).
    </para>

    <para>Client programs such as mozilla will require environment
      variable <envar>${XPSERVERLIST}</envar> to be set, identifying the
      "display" on which Xprt is running.  This variable may be set
      for all users via <filename>/etc/profile</filename> (or similar), using
      <userinput>/etc/init.d/xprint get_xpserverlist</userinput>:
      <informalexample>
	<programlisting>export XPSERVERLIST=`/etc/init.d/xprint get_xpserverlist`</programlisting>
      </informalexample>
    </para>
  </refsect1>

  <refsect1>
    <title>OPTIONS</title>

    <para>Many of Xprt's command line options are shared in common
    with the usual X servers (see <citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>).
    Commonly used options include:</para>

    <variablelist>
      <varlistentry>
        <term><option>:<replaceable>display</replaceable></option>
        </term>
        <listitem>
          <para> The X server runs on the given display. If multiple X
               servers are to run simultaneously on a host, each must
               have a unique display number.  Note that the standard X
               server (for video displays) typically runs on display
               :0.  If <filename>/etc/init.d/xprint</filename> is used
               to invoke Xprt, it may be configured to automatically assign an available
               display number.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-ac</option>
        </term>
        <listitem>
          <para>disables host-based access control mechanisms.  Enables  access
               by  any host, and permits any host to modify the access control
               list.  Use with extreme caution.  This option exists  primarily
               for running test suites remotely.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-audit <replaceable>level</replaceable></option>
        </term>
        <listitem>
          <para>sets  the  audit  trail level.  The default level is 1, meaning
               only connection rejections are reported.  Level 2  additionally
               reports  all  successful  connections and disconnects.  Level 4
               enables messages  from  the  SECURITY  extension,  if  present,
               including  generation  and  revocation  of  authorizations  and
               violations of the security policy.  Level 0 turns off the audit
               trail.  Audit lines are sent as standard error output.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-fp <replaceable>fontpath</replaceable></option>
        </term>
        <listitem>
          <para>sets the search path for fonts.  This path is a comma
               separated list of directories which Xprt searches for
               font databases.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-pn</option>
        </term>
        <listitem>
          <para>permits the server to continue running if it fails to
               establish all of its well-known sockets (connection
               points for clients), but establishes at least
               one.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-XpFile <replaceable>file</replaceable></option>
        </term>
        <listitem>
          <para>Sets an alternate Xprinters file (see section FILES).</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-XpSpoolerType <replaceable>spoolername</replaceable></option>
        </term>
        <listitem>
          <para>
            Defines the spooler system to be used for print job spooling.
            Supported values in xprint.mozdev.org release 009 are:
            <simplelist type="vert">
              <member>aix</member>
              <member>aix4</member>
              <member>bsd</member>
              <member>osf</member>
              <member>solaris</member>
              <member>sysv</member>
              <member>uxp</member>
              <member>cups</member>
              <member>lprng</member>
              <member>other</member>
              <member>none</member>
            </simplelist>
            (multiple values can be specified, separated by ':', the first active spooler will be chosen).
            The default value is platform-specific and can be obtained via
            <programlisting>Xprt -h</programlisting>.
          </para>
        </listitem>
      </varlistentry>      
    </variablelist>
  </refsect1>

  <refsect1>
    <title>ENVIRONMENT</title>
    <para>
      The following environment variables are recognized by the X print server
      (environment variables recognized by Xprint clients are described in 
      <citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry>):

      <variablelist>
        <varlistentry>
          <term><envar>${XPCONFIGDIR}</envar></term>
          <listitem>
            <para> This environment variable points to the  root
	      of  the Xprint server configuration directory hierarchy.
	      If the variable is not defined,  the  default
	      path  is be assumed.  The default path may be
              <filename>/usr/X11R6/lib/X11/xserver/</filename>, 
              <filename>/usr/lib/X11/xserver/</filename>,
              <filename>/usr/share/Xprint/xserver/</filename> or
              <filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the
	      system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><envar>${LANG}</envar></term>
          <listitem>
            <para>
              This environment variable selects the locale settings used by the Xprint server.
              Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>)
              which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>).
              If <envar>${LANG}</envar> is not set "C" is assumed.
            </para>
          </listitem>
        </varlistentry>
      </variablelist>
    </para>
  </refsect1>

  <refsect1>
    <title>FILES</title>

    <variablelist>
      <varlistentry>
        <term><filename>${XPCONFIGDIR}/${LANG}/print/Xprinters</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
        <listitem>
          <para>
            `Xprinters' is the top most configuration file.  It tells
            Xprt which specific printer names (e.g.  mylaser) should
            be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands
            should be used to automatically supplement the list of
            printers.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><filename>${XPCONFIGDIR}/${LANG}/print/attributes/printer</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
        <listitem>
          <para>
            The `printer' file maps printer names to model
            configurations (see `model-config' below).  For example,
            "mylaser" could be mapped to a "HPDJ1600C", and all other
            arbitrary printers could be mapped to a default, such as
            "HPLJ4SI".  When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters
            file, setting up defaults in `printer' becomes all the
            more important.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><filename>${XPCONFIGDIR}/${LANG}/print/attributes/document</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
        <listitem>
          <para>
            The `document' file specifies the initial document values
            for any print jobs.  For example, which paper tray to
            use, what default resolution, etc.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><filename>${XPCONFIGDIR}/${LANG}/print/attributes/job</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
        <listitem>
          <para>
            The `job' file specifies the initial job values for any
            print jobs.  For example, "notification-profile" can be
            set so that when a print job is successfully sent to a
            printer, e-mail is sent to the user.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term>

        <listitem>
          <para>
            The `model-config' file has attributes that describe the
            printer model's capabilities and default settings.
            Printer model fonts may also be present.  The model-config
            file also identifies the print ddx driver to be used.

            For each printer model supported, a complete hierarchy of
            files should exist.  In most cases, these files do not
            need to be modified.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term>
        <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term>

        <listitem>
          <para>
            The print ddx drivers can have highly specific
            configuration files to control their behavior.  In most
            cases, these files do not need to be modified.
          </para>
        </listitem>
      </varlistentry>

    </variablelist>
  </refsect1>

  <refsect1>
    <title>SEE ALSO</title>
    <para>
      <simplelist type="inline">
        <!-- specific references -->
        <!-- none -->
        
        <!-- Xprint general references -->
        <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
<!--
        <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
-->
        <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) -->
        <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
        <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
        <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member>
        <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member>
      </simplelist>
    </para>
  </refsect1>

  <refsect1>
    <title>AUTHORS</title>
    <para>
      This manual page was written by 
      Drew Parsons <email>dparsons@debian.org</email> and
      Roland Mainz <email>roland.mainz@nrubsig.org</email>,
      with some help from the man page at
      <ulink url="http://www.sins.com.au/unix/manpages/Xprt.html">http://www.sins.com.au/unix/manpages/Xprt.html</ulink> and the XFree86
      man page for <citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
    </para>
  </refsect1>
</refentry>