source: pst/printing/cups.xml@ c67fbf64

systemd-11177
Last change on this file since c67fbf64 was c67fbf64, checked in by Krejzi <krejzi@…>, 11 years ago

Remove packages that are now in lfs systemd from blfs.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@11302 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 23.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY cups-download-http "http://ftp.easysw.com/pub/cups/&cups-version;/cups-&cups-version;-source.tar.bz2">
8 <!ENTITY cups-download-ftp "ftp://ftp.easysw.com/pub/cups/&cups-version;/cups-&cups-version;-source.tar.bz2">
9 <!ENTITY cups-md5sum "13c8b2b2336d42001abe4899766b62dc">
10 <!ENTITY cups-size "8.0 MB">
11 <!ENTITY cups-buildsize "80 MB">
12 <!ENTITY cups-time "1.2 SBU">
13]>
14
15<sect1 id="cups" xreflabel="Cups-&cups-version;">
16 <?dbhtml filename="cups.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Cups-&cups-version;</title>
24
25 <indexterm zone="cups">
26 <primary sortas="a-Cups">Cups</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Cups</title>
31
32 <para>
33 The Common Unix Printing System (CUPS) is a print spooler and
34 associated utilities. It is based on the "Internet Printing
35 Protocol" and provides printing services to most PostScript
36 and raster printers.
37 </para>
38
39 &lfs73_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&cups-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&cups-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &cups-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &cups-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &cups-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &cups-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Required patch:
80 <ulink url="&patch-root;/cups-&cups-version;-blfs-1.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84
85 <bridgehead renderas="sect3">Cups Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="recommended">
89 <xref linkend="colord"/> and
90 <xref linkend="libusb"/>
91 </para>
92
93 <bridgehead renderas="sect4">Optional</bridgehead>
94 <para role="optional">
95 <xref linkend="avahi"/>,
96 <xref linkend="gnutls"/> or <xref linkend="openssl"/>,
97 <ulink
98 url="http://packages.debian.org/source/sid/libpaper">libpaper</ulink>,
99 <xref linkend="linux-pam"/>,
100 <xref linkend="mitkrb"/>,
101 <xref linkend="openjdk"/>,
102 <xref linkend="php"/>,
103 <xref linkend="python2"/> and
104 <xref linkend="xdg-utils"/>
105 </para>
106
107 <bridgehead renderas="sect4">Required (Runtime)</bridgehead>
108 <para role="optional"><!-- Yes, optional -->
109 <xref linkend="cups-filters"/>
110 </para>
111
112 <para condition="html" role="usernotes">User Notes:
113 <ulink url="&blfs-wiki;/cups"/>
114 </para>
115 </sect2>
116
117 <sect2 role="kernel" id="cups-kernel">
118 <title>Kernel Configuration</title>
119
120 <note>
121 <para>
122 There is a conflict between the <application>Cups</application>
123 <application>libusb</application> backend and the usblp kernel
124 driver. If you want to use <application>Cups</application> with
125 <application>libusb</application>, <emphasis>do not</emphasis>
126 enable USB Printer support in your kernel.
127 </para>
128 </note>
129
130 <para>
131 If you want to use the kernel usblp driver, enable the following
132 options in your kernel configuration and recompile the kernel:
133 </para>
134
135<screen>Device Drivers ---&gt;
136 [*] USB support ---&gt;
137...
138Enable support for either UHCI or OHCI, not both:
139 [*] OHCI HCD support
140 [*] UHCI HCD (most Intel and VIA) support
141...
142 [*] USB Printer support</screen>
143
144 <para>
145 If you have a parallel printer, enable the following options in your
146 kernel configuration and recompile the kernel:
147 </para>
148
149<screen><literal>Device Drivers ---&gt;
150 [*] Parallel port support ---&gt;
151 [*] PC-style hardware
152...
153 Character devices ---&gt;
154 [*] Parallel printer support</literal></screen>
155
156 <indexterm zone="cups cups-kernel">
157 <primary sortas="d-cups">cups</primary>
158 </indexterm>
159
160 </sect2>
161
162 <sect2 role="installation">
163 <title>Installation of Cups</title>
164
165 <para>
166 You will need to add an <systemitem class="username">lp</systemitem>
167 user, as <application>Cups</application> will create some files owned
168 by this user. (The <systemitem class="username">lp</systemitem> user
169 is the default used by <application>Cups</application>, but may be
170 changed to a different user by passing a parameter to the
171 <command>configure</command> script.) Use the following command as
172 the <systemitem class="username">root</systemitem> user:
173 </para>
174
175<screen role="root"><userinput>useradd -c "Print Service User" -d /var/spool/cups -g lp -s /bin/false -u 9 lp</userinput></screen>
176
177 <para>
178 You will also need a dedicated group that will contain users allowed to
179 do <application>Cups</application> administrative tasks. Add the group
180 by running the following command as the
181 <systemitem class="username">root</systemitem> user:
182 </para>
183
184<screen role="root"><userinput>groupadd -g 19 lpadmin</userinput></screen>
185
186 <para>
187 If you want to add a user to the <application>Cups</application>
188 administrative group, run the following command as the
189 <systemitem class="username">root</systemitem> user:
190 </para>
191
192<screen role="root"><userinput>usermod -a -G lpadmin <replaceable>&lt;username&gt;</replaceable></userinput></screen>
193
194 <para>
195 If you didn't install <xref linkend="xdg-utils"/>, use the following
196 <command>sed</command> to change the default browser that will be used
197 to access the <application>Cups</application> web interface:
198 </para>
199
200<screen><userinput>sed -i 's#@CUPS_HTMLVIEW@#firefox#' desktop/cups.desktop.in</userinput></screen>
201
202 <para>
203 Replace <command>firefox</command> with the web browser of your
204 choice.
205 </para>
206
207 <para>
208 Install <application>Cups</application> by running the
209 following commands:
210 </para>
211
212 <!-- docdir is also document root for cups administration interface, so
213 let's just put it in /usr/share/cups/doc and create symlink in
214 /usr/share/doc
215 When not using libdir switch, CUPS will install libraries into /usr/lib64
216 on a 64 bit system, and since /usr/lib64 is symlink to /usr/lib it might
217 introduce some difficulties with packaging -->
218<screen><userinput>patch -Np1 -i ../cups-&cups-version;-blfs-1.patch &amp;&amp;
219aclocal -I config-scripts &amp;&amp;
220autoconf -I config-scripts &amp;&amp;
221./configure --libdir=/usr/lib \
222 --with-rcdir=/tmp/cupsinit \
223 --with-docdir=/usr/share/cups/doc \
224 --with-system-groups=lpadmin &amp;&amp;
225make</userinput></screen>
226
227 <para>
228 This package does not have a working testsuite.
229 </para>
230
231 <para>
232 Now, as the <systemitem class="username">root</systemitem>
233 user:
234 </para>
235
236<screen role="root"><userinput>make install &amp;&amp;
237rm -rf /tmp/cupsinit &amp;&amp;
238ln -sv ../cups/doc /usr/share/doc/cups-&cups-version;</userinput></screen>
239
240 <para>
241 Create a basic <application>Cups</application> client configuration
242 file by running the following command as the
243 <systemitem class="username">root</systemitem> user:
244 </para>
245
246<screen role="root"><userinput>echo "ServerName /var/run/cups/cups.sock" > /etc/cups/client.conf</userinput></screen>
247
248 <para>
249 Remove filters that are now part of the <application>Cups Filters</application>
250 package by running the following commands as the
251 <systemitem class="username">root</systemitem> user:
252 </para>
253
254<screen role="root"><userinput>rm -rf /usr/share/cups/banners &amp;&amp;
255rm -rf /usr/share/cups/data/testprint</userinput></screen>
256
257 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
258 href="../../xincludes/gtk-update-icon-cache.xml"/>
259
260 </sect2>
261
262 <sect2 role="commands">
263 <title>Command Explanations</title>
264
265 <para>
266 <parameter>--with-rcdir=/tmp/cupsinit</parameter>: This switch tells
267 the build process to install the shipped bootscript into
268 <filename class="directory">/tmp</filename> instead of
269 <filename class="directory">/etc/rc.d</filename>.
270 </para>
271
272 <para>
273 <parameter>--with-system-groups=lpadmin</parameter>: This switch ensures
274 that only <systemitem class="groupname">lpadmin</systemitem> will be used as
275 the <application>Cups</application> administrative group.
276 </para>
277
278 <para>
279 <option>--disable-libusb</option>: Use this switch if you have installed
280 <xref linkend="libusb"/>, but wish to use the kernel usblp driver.
281 </para>
282
283 <para>
284 <option>--enable-libpaper</option>: Use this switch if you have installed
285 <application>libpaper</application> and wish to use it with
286 <application>Cups</application>.
287 </para>
288
289 <para>
290 <option>--disable-gnutls --enable-openssl</option>: This switch tells the build
291 process to use <xref linkend="openssl"/> instead of <xref linkend="gnutls"/>.
292 The current version of <application>GnuTLS</application> might produce lot of
293 warnings during the <application>Cups</application> build.
294 </para>
295
296 </sect2>
297
298 <sect2 role="configuration">
299 <title>Configuring Cups</title>
300
301 <para>
302 Configuration of <application>Cups</application> is dependent on
303 the type of printer and can be complex. Generally, PostScript printers
304 are easier. For detailed instructions on configuration and use of
305 <application>Cups</application>, see <ulink
306 url="http://www.cups.org/documentation.php"/>. The Software
307 Administrators Manual and Software Users Manual are particularly useful.
308 </para>
309
310 <para>
311 For non-PostScript printers to print with
312 <application>Cups</application>, you need to install <xref linkend="gs"/>
313 to convert PostScript to raster images and a driver (e.g., from
314 <xref linkend="gutenprint"/>) to convert the resulting raster images to a
315 form that the printer understands.
316 <ulink url="http://www.linuxprinting.org/foomatic.html">Foomatic</ulink>
317 drivers use Ghostscript to convert PostScript to a printable form directly,
318 but this is considered to be a hack by <application>Cups</application>
319 developers.
320 </para>
321
322 <sect3 id="cups-init">
323 <title>Boot Script</title>
324
325 <para>
326 If you want the <application>Cups</application> print service to start
327 automatically when the system is booted, install the init
328 script included in the <xref linkend="bootscripts"/>
329 package:
330 </para>
331
332 <indexterm zone="cups cups-init">
333 <primary sortas="f-cups">cups</primary>
334 </indexterm>
335
336<screen role="root"><userinput>make install-cups</userinput></screen>
337
338 </sect3>
339
340 </sect2>
341
342 <sect2 role="content">
343 <title>Contents</title>
344
345 <segmentedlist>
346 <segtitle>Installed Programs</segtitle>
347 <segtitle>Installed Libraries</segtitle>
348 <segtitle>Installed Directories</segtitle>
349
350 <seglistitem>
351 <seg>
352 accept, cancel, cupsaccept, cupsaddsmb, cups-config,
353 cupsctl, cupsd, cupsdisable, cupsenable, cupsfilter,
354 cupsreject, cupstestdsc, cupstestppd, ipptool, lp,
355 lpadmin, lpc, lpinfo, lpmove, lpoptions, lppasswd,
356 lpq, lpr, lprm, lpstat, ppdc, ppdhtml, ppdi, ppdmerge,
357 ppdpo and reject
358 </seg>
359 <seg>
360 libcupscgi.so, libcupsimage.so, libcupsmime.so,
361 libcupsppdc.so and libcups.so
362 </seg>
363 <seg>
364 /etc/cups,
365 /usr/include/cups,
366 /usr/lib/cups,
367 /usr/share/cups,
368 /usr/share/doc/cups-&cups-version;,
369 /var/cache/cups,
370 /var/log/cups,
371 /var/run/cups and
372 /var/spool/cups
373 </seg>
374 </seglistitem>
375 </segmentedlist>
376
377 <variablelist>
378 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
379 <?dbfo list-presentation="list"?>
380 <?dbhtml list-presentation="table"?>
381
382 <varlistentry id="accept">
383 <term><command>accept</command></term>
384 <listitem>
385 <para>
386 instructs the printing system to accept print jobs to the
387 specified destinations.
388 </para>
389 <indexterm zone="cups accept">
390 <primary sortas="b-accept">accept</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
395 <varlistentry id="cancel-cups">
396 <term><command>cancel</command></term>
397 <listitem>
398 <para>
399 cancels existing print jobs from the print queues.
400 </para>
401 <indexterm zone="cups cancel-cups">
402 <primary sortas="b-cancel">cancel</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 <varlistentry id="cupsaddsmb">
408 <term><command>cupsaddsmb</command></term>
409 <listitem>
410 <para>
411 exports printers to the <application>Samba</application>
412 software for use with Windows clients.
413 </para>
414 <indexterm zone="cups cupsaddsmb">
415 <primary sortas="b-cupsaddsmb">cupsaddsmb</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="cups-config">
421 <term><command>cups-config</command></term>
422 <listitem>
423 <para>
424 is a <application>Cups</application>
425 program configuration utility.
426 </para>
427 <indexterm zone="cups cups-config">
428 <primary sortas="b-cups-config">cups-config</primary>
429 </indexterm>
430 </listitem>
431 </varlistentry>
432
433 <varlistentry id="cupsctl">
434 <term><command>cupsctl</command></term>
435 <listitem>
436 <para>
437 updates or queries the cupsd.conf file for a server.
438 </para>
439 <indexterm zone="cups cupsctl">
440 <primary sortas="b-cupsctl">cupsctl</primary>
441 </indexterm>
442 </listitem>
443 </varlistentry>
444
445 <varlistentry id="cupsd">
446 <term><command>cupsd</command></term>
447 <listitem>
448 <para>
449 is the scheduler for the Common Unix Printing System.
450 </para>
451 <indexterm zone="cups cupsd">
452 <primary sortas="b-cupsd">cupsd</primary>
453 </indexterm>
454 </listitem>
455 </varlistentry>
456
457 <varlistentry id="cupsfilter">
458 <term><command>cupsfilter</command></term>
459 <listitem>
460 <para>
461 is a front-end to the <application>Cups</application>
462 filter subsystem which allows you to convert a file
463 to a specific format.
464 </para>
465 <indexterm zone="cups cupsfilter">
466 <primary sortas="b-cupsfilter">cupsfilter</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 <varlistentry id="cupstestdsc">
472 <term><command>cupstestdsc</command></term>
473 <listitem>
474 <para>
475 tests the conformance of PostScript files.
476 </para>
477 <indexterm zone="cups cupstestdsc">
478 <primary sortas="b-cupstestdsc">cupstestdsc</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>
482
483 <varlistentry id="cupstestppd">
484 <term><command>cupstestppd</command></term>
485 <listitem>
486 <para>
487 tests the conformance of PPD files.
488 </para>
489 <indexterm zone="cups cupstestppd">
490 <primary sortas="b-cupstestppd">cupstestppd</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry id="ipptool">
496 <term><command>ipptool</command></term>
497 <listitem>
498 <para>
499 sends IPP requests to the specified URI and tests
500 and/or displays the results.
501 </para>
502 <indexterm zone="cups ipptool">
503 <primary sortas="b-ipptool">ipptool</primary>
504 </indexterm>
505 </listitem>
506 </varlistentry>
507
508 <varlistentry id="lp-cups">
509 <term><command>lp</command></term>
510 <listitem>
511 <para>
512 submits files for printing or alters a pending job.
513 </para>
514 <indexterm zone="cups lp-cups">
515 <primary sortas="b-lp">lp</primary>
516 </indexterm>
517 </listitem>
518 </varlistentry>
519
520 <varlistentry id="lpadmin">
521 <term><command>lpadmin</command></term>
522 <listitem>
523 <para>
524 configures printer and class queues provided by
525 <application>Cups</application>.
526 </para>
527 <indexterm zone="cups lpadmin">
528 <primary sortas="b-lpadmin">lpadmin</primary>
529 </indexterm>
530 </listitem>
531 </varlistentry>
532
533 <varlistentry id="lpc-cups">
534 <term><command>lpc</command></term>
535 <listitem>
536 <para>
537 provides limited control over printer and class queues
538 provided by <application>Cups</application>.
539 </para>
540 <indexterm zone="cups lpc-cups">
541 <primary sortas="b-lpc">lpc</primary>
542 </indexterm>
543 </listitem>
544 </varlistentry>
545
546 <varlistentry id="lpinfo">
547 <term><command>lpinfo</command></term>
548 <listitem>
549 <para>
550 lists the available devices or drivers known to the
551 <application>Cups</application> server.
552 </para>
553 <indexterm zone="cups lpinfo">
554 <primary sortas="b-lpinfo">lpinfo</primary>
555 </indexterm>
556 </listitem>
557 </varlistentry>
558
559 <varlistentry id="lpmove">
560 <term><command>lpmove</command></term>
561 <listitem>
562 <para>
563 moves the specified job to a new destination.
564 </para>
565 <indexterm zone="cups lpmove">
566 <primary sortas="b-lpmove">lpmove</primary>
567 </indexterm>
568 </listitem>
569 </varlistentry>
570
571 <varlistentry id="lpoptions">
572 <term><command>lpoptions</command></term>
573 <listitem>
574 <para>
575 displays or sets printer options and defaults.
576 </para>
577 <indexterm zone="cups lpoptions">
578 <primary sortas="b-lpoptions">lpoptions</primary>
579 </indexterm>
580 </listitem>
581 </varlistentry>
582
583 <varlistentry id="lppasswd">
584 <term><command>lppasswd</command></term>
585 <listitem>
586 <para>
587 adds, changes or deletes passwords in the
588 <application>Cups</application> digest password file
589 <filename>passwd.md5</filename>.
590 </para>
591 <indexterm zone="cups lppasswd">
592 <primary sortas="b-lppasswd">lppasswd</primary>
593 </indexterm>
594 </listitem>
595 </varlistentry>
596
597 <varlistentry id="lpq-cups">
598 <term><command>lpq</command></term>
599 <listitem>
600 <para>
601 shows the current print queue status on the named printer.
602 </para>
603 <indexterm zone="cups lpq-cups">
604 <primary sortas="b-lpq">lpq</primary>
605 </indexterm>
606 </listitem>
607 </varlistentry>
608
609 <varlistentry id="lpr-cups">
610 <term><command>lpr</command></term>
611 <listitem>
612 <para>
613 submits files for printing.
614 </para>
615 <indexterm zone="cups lpr-cups">
616 <primary sortas="b-lpr">lpr</primary>
617 </indexterm>
618 </listitem>
619 </varlistentry>
620
621 <varlistentry id="lprm-cups">
622 <term><command>lprm</command></term>
623 <listitem>
624 <para>
625 cancels print jobs that have been queued for printing.
626 </para>
627 <indexterm zone="cups lprm-cups">
628 <primary sortas="b-lprm">lprm</primary>
629 </indexterm>
630 </listitem>
631 </varlistentry>
632
633 <varlistentry id="lpstat-cups">
634 <term><command>lpstat</command></term>
635 <listitem>
636 <para>
637 displays status information about the current classes, jobs,
638 and printers.
639 </para>
640 <indexterm zone="cups lpstat-cups">
641 <primary sortas="b-lpstat">lpstat</primary>
642 </indexterm>
643 </listitem>
644 </varlistentry>
645
646 <varlistentry id="ppdc">
647 <term><command>ppdc</command></term>
648 <listitem>
649 <para>
650 compiles PPDC source files into one or more PPD files.
651 </para>
652 <indexterm zone="cups ppdc">
653 <primary sortas="b-ppdc">ppdc</primary>
654 </indexterm>
655 </listitem>
656 </varlistentry>
657
658 <varlistentry id="ppdhtml">
659 <term><command>ppdhtml</command></term>
660 <listitem>
661 <para>
662 reads a driver information file and produces a HTML summary
663 page that lists all of the drivers in a file and the
664 supported options.
665 </para>
666 <indexterm zone="cups ppdhtml">
667 <primary sortas="b-ppdhtml">ppdhtml</primary>
668 </indexterm>
669 </listitem>
670 </varlistentry>
671
672 <varlistentry id="ppdi">
673 <term><command>ppdi</command></term>
674 <listitem>
675 <para>
676 imports one or more PPD files into a PPD compiler source file.
677 </para>
678 <indexterm zone="cups ppdi">
679 <primary sortas="b-ppdi">ppdi</primary>
680 </indexterm>
681 </listitem>
682 </varlistentry>
683
684 <varlistentry id="ppdmerge">
685 <term><command>ppdmerge</command></term>
686 <listitem>
687 <para>
688 merges two or more PPD files into a single, multi-language
689 PPD file.
690 </para>
691 <indexterm zone="cups ppdmerge">
692 <primary sortas="b-ppdmerge">ppdmerge</primary>
693 </indexterm>
694 </listitem>
695 </varlistentry>
696
697 <varlistentry id="ppdpo">
698 <term><command>ppdpo</command></term>
699 <listitem>
700 <para>
701 extracts UI strings from PPDC source files and
702 updates either a GNU gettext or Mac OS X strings
703 format message catalog source file for translation.
704 </para>
705 <indexterm zone="cups ppdpo">
706 <primary sortas="b-ppdpo">ppdpo</primary>
707 </indexterm>
708 </listitem>
709 </varlistentry>
710
711 <varlistentry id="reject">
712 <term><command>reject</command></term>
713 <listitem>
714 <para>
715 instructs the printing system to reject print jobs to the
716 specified destinations.
717 </para>
718 <indexterm zone="cups reject">
719 <primary sortas="b-reject">reject</primary>
720 </indexterm>
721 </listitem>
722 </varlistentry>
723
724 <varlistentry id="libcups">
725 <term><filename class="libraryfile">libcups.so</filename></term>
726 <listitem>
727 <para>
728 contains the <application>Cups</application> API functions.
729 </para>
730 <indexterm zone="cups libcups">
731 <primary sortas="c-libcups">libcups.so</primary>
732 </indexterm>
733 </listitem>
734 </varlistentry>
735
736 </variablelist>
737
738 </sect2>
739
740</sect1>
Note: See TracBrowser for help on using the repository browser.