mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-08 02:07:57 +08:00
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10274 af4574ff-66df-0310-9fd7-8a98e5e911e0
492 lines
18 KiB
XML
492 lines
18 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY cups-download-http "http://ftp.easysw.com/pub/cups/&cups-version;/cups-&cups-version;-source.tar.bz2">
|
|
<!ENTITY cups-download-ftp "ftp://ftp.easysw.com/pub/cups/&cups-version;/cups-&cups-version;-source.tar.bz2">
|
|
<!ENTITY cups-md5sum "e54ed09ede2340fc3014913333520fe4">
|
|
<!ENTITY cups-size "3.9 MB">
|
|
<!ENTITY cups-buildsize "91 MB">
|
|
<!ENTITY cups-time "0.7 SBU">
|
|
]>
|
|
|
|
<sect1 id="cups" xreflabel="Cups-&cups-version;">
|
|
<?dbhtml filename="cups.html"?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>Cups-&cups-version;</title>
|
|
|
|
<indexterm zone="cups">
|
|
<primary sortas="a-Cups">Cups</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to Cups</title>
|
|
|
|
<para>The Common Unix Printing System (CUPS) is a print spooler and
|
|
associated utilities. It is based on the "Internet Printing
|
|
Protocol" and provides printing services to most PostScript and raster
|
|
printers.</para>
|
|
|
|
&lfs71_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>Download (HTTP): <ulink url="&cups-download-http;"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download (FTP): <ulink url="&cups-download-ftp;"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download MD5 sum: &cups-md5sum;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download size: &cups-size;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Estimated disk space required: &cups-buildsize;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Estimated build time: &cups-time;</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Cups Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="libjpeg"/>,
|
|
<xref linkend="libpng"/>, and
|
|
<xref linkend="libtiff"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional"><!-- <xref linkend="pkgconfig"/>, -->
|
|
<xref linkend="tcpwrappers"/>,
|
|
<xref linkend="dbus"/>,
|
|
<xref linkend="libusb"/>,
|
|
<xref linkend="acl"/>,
|
|
<xref linkend="linux-pam"/>,
|
|
<xref linkend="openldap"/>,
|
|
<xref linkend="gnutls"/> or <xref linkend="openssl"/> (looked for in that
|
|
order), <xref linkend="mitkrb"/>,
|
|
<xref linkend="php"/>,
|
|
<xref linkend="gs"/>,
|
|
<xref linkend="python2"/>,
|
|
<xref linkend="openjdk"/><!-- or <xref linkend="jdk"/>-->,
|
|
<ulink url="http://portland.freedesktop.org/wiki/">Xdg-utils</ulink>,
|
|
<ulink url="http://www.openslp.org/">OpenSLP</ulink>,
|
|
<ulink
|
|
url="http://packages.debian.org/unstable/source/libpaper">libpaper</ulink>,
|
|
<ulink url="http://www.easysw.com/htmldoc/">HTMLDOC</ulink>, and
|
|
<ulink url="http://valgrind.org/">Valgrind</ulink> (optionally used if
|
|
running the test suites)
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/cups"/></para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="kernel" id="cups-kernel">
|
|
<title>Kernel Configuration</title>
|
|
|
|
<para>If you have a parallel printer enable the following options in your
|
|
kernel configuration and recompile the kernel:</para>
|
|
|
|
<screen><literal>Device Drivers --->
|
|
[*] Parallel port support --->
|
|
[*] PC-style hardware
|
|
...
|
|
Character devices --->
|
|
[*] Parallel printer support</literal></screen>
|
|
|
|
<note><para>If you have a USB printer there is a conflict between the
|
|
<application>Cups</application> <application>libusb</application>
|
|
backend and the kernel driver. If you want to use
|
|
<application>Cups</application> with <application>libusb</application>
|
|
support <emphasis>do not</emphasis> enable USB Printer support in your
|
|
kernel and remove the <option>--disable-libusb</option> when you
|
|
configure <application>Cups</application>.</para></note>
|
|
|
|
<para>If you want to use the kernel usblp driver enable the following
|
|
options in your kernel configuration and recompile the kernel:</para>
|
|
|
|
<screen>Device Drivers --->
|
|
[*] USB support --->
|
|
...
|
|
Enable support for either UHCI or OHCI, not both:
|
|
[*] OHCI HCD support
|
|
[*] UHCI HCD (most Intel and VIA) support
|
|
...
|
|
[*] USB Printer support</screen>
|
|
|
|
<indexterm zone="cups cups-kernel">
|
|
<primary sortas="d-cups">cups</primary>
|
|
</indexterm>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of Cups</title>
|
|
|
|
<para>Create an <systemitem class="username">lp</systemitem> user, as
|
|
<application>Cups</application> will create some files owned by this user.
|
|
(The <systemitem class="username">lp</systemitem> user is the default used
|
|
by <application>Cups</application>, but may be changed to a different user
|
|
by passing a parameter to the <command>configure</command> script.) Use the
|
|
following command as the <systemitem class="username">root</systemitem>
|
|
user:</para>
|
|
|
|
<screen role="root"><userinput>useradd -c "Print Service User" -d /dev/null -g lp -s /bin/false -u 9 lp</userinput></screen>
|
|
|
|
<para>Install <application>Cups</application> by running the
|
|
following commands:</para>
|
|
|
|
<screen><userinput>sed -i 's#@CUPS_HTMLVIEW@#firefox#' desktop/cups.desktop.in &&
|
|
./configure --localstatedir=/var \
|
|
--disable-libusb \
|
|
--with-rcdir=/tmp/cupsinit \
|
|
--with-docdir=/usr/share/doc/cups-&cups-version; &&
|
|
make</userinput></screen>
|
|
|
|
<para>To test the results, issue: <command>make check</command>. This will
|
|
run a basic test suite without any load testing. If you wish to run the
|
|
tests specifying non-default parameters, issue:
|
|
<command>make test</command>. Note that the <quote>torture load
|
|
testing</quote> test uses more resources than those displayed in the
|
|
prompt.</para>
|
|
|
|
<para>Now, as the <systemitem class="username">root</systemitem>
|
|
user:</para>
|
|
|
|
<screen role="root"><userinput>make install &&
|
|
rm -rf /tmp/cupsinit</userinput></screen>
|
|
|
|
<para>The <application>man</application> files are installed in compressed
|
|
(<filename class="extension">.gz</filename>) format. If desired, use the
|
|
following commands to uncompress them as the
|
|
<systemitem class="username">root</systemitem> user:</para>
|
|
|
|
<screen role="root"><userinput>pushd /usr/share/man/ &&
|
|
find -name cups\*gz -type l -print -delete &&
|
|
find -name \*gz -exec gunzip -v {} \; &&
|
|
popd &&
|
|
|
|
ln -v -s cupsaccept.8 /usr/share/man/man8/reject.8 &&
|
|
ln -v -s cupsaccept.8 /usr/share/man/man8/cupsreject.8 &&
|
|
ln -v -s cupsaccept.8 /usr/share/man/man8/accept.8 &&
|
|
ln -v -s cupsenable.8 /usr/share/man/man8/cupsdisable.8</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para><command>sed -i 's#@CUPS_HTMLVIEW@#firefox#' ...</command>: This
|
|
changes the browser that the <application>Cups</application> desktop file
|
|
uses for its web interface.</para>
|
|
|
|
<para><option>--localstatedir=/var</option>: This changes the location of
|
|
the cache, log, run and spool directories from /usr/var to /var.</para>
|
|
|
|
<para><option>--disable-libusb</option>: This disables the
|
|
<application>Cups</application> <application>libusb</application> backend.
|
|
If you'd like <application>Cups</application> to use
|
|
<application>libusb</application>, delete this option and make sure you
|
|
compile your kernel with: # CONFIG_USB_PRINTER is not set</para>
|
|
|
|
<para><option>--with-rcdir=/tmp/cupsinit</option>: This option makes it install its
|
|
bootscript into <filename class="directory">/tmp</filename> instead of
|
|
<filename class="directory">/etc/rc.d</filename>.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring Cups</title>
|
|
|
|
<para>Configuration of <application>Cups</application> is dependent on
|
|
the type of printer and can be complex. Generally, PostScript printers
|
|
are easier. For detailed instructions on configuration and use of
|
|
<application>Cups</application>, see <ulink
|
|
url="http://www.cups.org/documentation.php"/>. The Software Administrators
|
|
Manual and Software Users Manual are particularly useful.</para>
|
|
|
|
<para>For non-PostScript printers to print with
|
|
<application>Cups</application>, you need to install <xref linkend="gs"/>
|
|
to convert PostScript to raster images and a driver (e.g., from
|
|
<xref linkend="gutenprint"/>) to convert the resulting raster images to a
|
|
form that the printer understands.
|
|
<ulink url="http://www.linuxprinting.org/foomatic.html">Foomatic</ulink>
|
|
drivers use Ghostscript to convert PostScript to a printable form directly,
|
|
but this is considered to be a hack by
|
|
<application>Cups</application> developers.</para>
|
|
|
|
<sect3 id="cups-init">
|
|
<title>Boot Script</title>
|
|
|
|
<para>If you want the <application>Cups</application> to start
|
|
automatically when the system is booted, install the init script included
|
|
in the <xref linkend="bootscripts"/> package:</para>
|
|
|
|
<indexterm zone="cups cups-init">
|
|
<primary sortas="f-cups">cups</primary>
|
|
</indexterm>
|
|
|
|
<screen role="root"><userinput>make install-cups</userinput></screen>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>accept, cancel, cups-config, cupsaccept, cupsaddsmb, cupsctl,
|
|
cupsd, cupsdisable, cupsenable, cupsfilter, cupsreject, cupstestdsc,
|
|
cupstestppd, lp, lpadmin, lpc, lpinfo, lpmove, lpoptions, lppasswd,
|
|
lpq, lpr, lprm, lpstat, ppdc, ppdhtml, ppdi, ppdmerge, ppdpo,
|
|
reject</seg>
|
|
<seg>libcups.so, libcupscgi.so, libcupsdriver.so,
|
|
libcupsimage.so, libcupsmime.so, libcupsppdc.so, and
|
|
various filters and backend drivers</seg>
|
|
<seg>/etc/cups, /usr/include/cups, /usr/lib/cups, /usr/share/cups,
|
|
/usr/share/doc/cups-&cups-version;, /var/cache/cups, /var/log/cups,
|
|
/var/run/cups and /var/spool/cups.</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="accept">
|
|
<term><command>accept</command></term>
|
|
<listitem>
|
|
<para>instructs the printing system to accept print jobs to the
|
|
specified destinations.</para>
|
|
<indexterm zone="cups accept">
|
|
<primary sortas="b-accept">accept</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="cancel-cups">
|
|
<term><command>cancel</command></term>
|
|
<listitem>
|
|
<para>cancels existing print jobs from the print queues.</para>
|
|
<indexterm zone="cups cancel-cups">
|
|
<primary sortas="b-cancel">cancel</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="cups-config">
|
|
<term><command>cups-config</command></term>
|
|
<listitem>
|
|
<para>is a <application>Cups</application>
|
|
program configuration utility.</para>
|
|
<indexterm zone="cups cups-config">
|
|
<primary sortas="b-cups-config">cups-config</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="cupsaddsmb">
|
|
<term><command>cupsaddsmb</command></term>
|
|
<listitem>
|
|
<para>exports printers to the <application>Samba</application>
|
|
software for use with Windows clients.</para>
|
|
<indexterm zone="cups cupsaddsmb">
|
|
<primary sortas="b-cupsaddsmb">cupsaddsmb</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="cupsd">
|
|
<term><command>cupsd</command></term>
|
|
<listitem>
|
|
<para>is the scheduler for the Common Unix Printing System.</para>
|
|
<indexterm zone="cups cupsd">
|
|
<primary sortas="b-cupsd">cupsd</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="cupstestppd">
|
|
<term><command>cupstestppd</command></term>
|
|
<listitem>
|
|
<para>tests the conformance of PPD files.</para>
|
|
<indexterm zone="cups cupstestppd">
|
|
<primary sortas="b-cupstestppd">cupstestppd</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="disable">
|
|
<term><command>disable</command></term>
|
|
<listitem>
|
|
<para>stops the named printers or classes.</para>
|
|
<indexterm zone="cups disable">
|
|
<primary sortas="b-disable">disable</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="enable">
|
|
<term><command>enable</command></term>
|
|
<listitem>
|
|
<para>starts the named printers or classes.</para>
|
|
<indexterm zone="cups enable">
|
|
<primary sortas="b-enable">enable</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lp-cups">
|
|
<term><command>lp</command></term>
|
|
<listitem>
|
|
<para>submits files for printing or alters a pending job.</para>
|
|
<indexterm zone="cups lp-cups">
|
|
<primary sortas="b-lp">lp</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lpadmin">
|
|
<term><command>lpadmin</command></term>
|
|
<listitem>
|
|
<para>configures printer and class queues provided by
|
|
<application>Cups</application>.</para>
|
|
<indexterm zone="cups lpadmin">
|
|
<primary sortas="b-lpadmin">lpadmin</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lpc-cups">
|
|
<term><command>lpc</command></term>
|
|
<listitem>
|
|
<para> provides limited control over printer and class queues
|
|
provided by <application>Cups</application>.</para>
|
|
<indexterm zone="cups lpc-cups">
|
|
<primary sortas="b-lpc">lpc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lpinfo">
|
|
<term><command>lpinfo</command></term>
|
|
<listitem>
|
|
<para>lists the available devices or drivers known to the
|
|
<application>Cups</application> server.</para>
|
|
<indexterm zone="cups lpinfo">
|
|
<primary sortas="b-lpinfo">lpinfo</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lpmove">
|
|
<term><command>lpmove</command></term>
|
|
<listitem>
|
|
<para>moves the specified job to a new destination.</para>
|
|
<indexterm zone="cups lpmove">
|
|
<primary sortas="b-lpmove">lpmove</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lpoptions">
|
|
<term><command>lpoptions</command></term>
|
|
<listitem>
|
|
<para>displays or sets printer options and defaults.</para>
|
|
<indexterm zone="cups lpoptions">
|
|
<primary sortas="b-lpoptions">lpoptions</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lppasswd">
|
|
<term><command>lppasswd</command></term>
|
|
<listitem>
|
|
<para>adds, changes or deletes passwords in the
|
|
<application>Cups</application> digest password file
|
|
<filename>passwd.md5</filename>.</para>
|
|
<indexterm zone="cups lppasswd">
|
|
<primary sortas="b-lppasswd">lppasswd</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lpq-cups">
|
|
<term><command>lpq</command></term>
|
|
<listitem>
|
|
<para>shows the current print queue status on the named printer.</para>
|
|
<indexterm zone="cups lpq-cups">
|
|
<primary sortas="b-lpq">lpq</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lpr-cups">
|
|
<term><command>lpr</command></term>
|
|
<listitem>
|
|
<para>submits files for printing.</para>
|
|
<indexterm zone="cups lpr-cups">
|
|
<primary sortas="b-lpr">lpr</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lprm-cups">
|
|
<term><command>lprm</command></term>
|
|
<listitem>
|
|
<para>cancels print jobs that have been queued for printing.</para>
|
|
<indexterm zone="cups lprm-cups">
|
|
<primary sortas="b-lprm">lprm</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lpstat-cups">
|
|
<term><command>lpstat</command></term>
|
|
<listitem>
|
|
<para>displays status information about the current classes, jobs,
|
|
and printers.</para>
|
|
<indexterm zone="cups lpstat-cups">
|
|
<primary sortas="b-lpstat">lpstat</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="reject">
|
|
<term><command>reject</command></term>
|
|
<listitem>
|
|
<para>instructs the printing system to reject print jobs to the
|
|
specified destinations.</para>
|
|
<indexterm zone="cups reject">
|
|
<primary sortas="b-reject">reject</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|