[cd8a01b8] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
[6732c094] | 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
| 3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
[73ddd1a0] | 4 | <!ENTITY % general-entities SYSTEM "../../general.ent">
|
---|
| 5 | %general-entities;
|
---|
[1da819b] | 6 |
|
---|
[1d615c21] | 7 | <!ENTITY cups-download-http "https://github.com/apple/cups/releases/download/v&cups-version;/cups-&cups-version;-source.tar.gz">
|
---|
[5ddee7fb] | 8 | <!ENTITY cups-download-ftp " ">
|
---|
[f50f3f3] | 9 | <!ENTITY cups-md5sum "7afbbcd2497e7d742583c492f6de40cd">
|
---|
[94a993c5] | 10 | <!ENTITY cups-size "9.9 MB">
|
---|
[f50f3f3] | 11 | <!ENTITY cups-buildsize "63 MB (Add 39 MB for tests)">
|
---|
| 12 | <!ENTITY cups-time "0.5 SBU (Add 0.9 SBU for tests)">
|
---|
[73ddd1a0] | 13 | ]>
|
---|
| 14 |
|
---|
[47dc0bf] | 15 | <sect1 id="cups" xreflabel="Cups-&cups-version;">
|
---|
[536fac5] | 16 | <?dbhtml filename="cups.html"?>
|
---|
| 17 |
|
---|
| 18 | <sect1info>
|
---|
| 19 | <othername>$LastChangedBy$</othername>
|
---|
| 20 | <date>$Date$</date>
|
---|
| 21 | </sect1info>
|
---|
| 22 |
|
---|
[47dc0bf] | 23 | <title>Cups-&cups-version;</title>
|
---|
[536fac5] | 24 |
|
---|
| 25 | <indexterm zone="cups">
|
---|
[47dc0bf] | 26 | <primary sortas="a-Cups">Cups</primary>
|
---|
[536fac5] | 27 | </indexterm>
|
---|
| 28 |
|
---|
| 29 | <sect2 role="package">
|
---|
[47dc0bf] | 30 | <title>Introduction to Cups</title>
|
---|
[536fac5] | 31 |
|
---|
[89475857] | 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>
|
---|
[536fac5] | 38 |
|
---|
[38489aa0] | 39 | &lfs84_checked;
|
---|
[14d01d8] | 40 |
|
---|
[536fac5] | 41 | <bridgehead renderas="sect3">Package Information</bridgehead>
|
---|
| 42 | <itemizedlist spacing="compact">
|
---|
| 43 | <listitem>
|
---|
[89475857] | 44 | <para>
|
---|
| 45 | Download (HTTP): <ulink url="&cups-download-http;"/>
|
---|
| 46 | </para>
|
---|
[536fac5] | 47 | </listitem>
|
---|
| 48 | <listitem>
|
---|
[89475857] | 49 | <para>
|
---|
| 50 | Download (FTP): <ulink url="&cups-download-ftp;"/>
|
---|
| 51 | </para>
|
---|
[536fac5] | 52 | </listitem>
|
---|
| 53 | <listitem>
|
---|
[89475857] | 54 | <para>
|
---|
| 55 | Download MD5 sum: &cups-md5sum;
|
---|
| 56 | </para>
|
---|
[536fac5] | 57 | </listitem>
|
---|
| 58 | <listitem>
|
---|
[89475857] | 59 | <para>
|
---|
| 60 | Download size: &cups-size;
|
---|
| 61 | </para>
|
---|
[536fac5] | 62 | </listitem>
|
---|
| 63 | <listitem>
|
---|
[89475857] | 64 | <para>
|
---|
| 65 | Estimated disk space required: &cups-buildsize;
|
---|
| 66 | </para>
|
---|
[536fac5] | 67 | </listitem>
|
---|
| 68 | <listitem>
|
---|
[89475857] | 69 | <para>
|
---|
| 70 | Estimated build time: &cups-time;
|
---|
| 71 | </para>
|
---|
[536fac5] | 72 | </listitem>
|
---|
| 73 | </itemizedlist>
|
---|
[852554e1] | 74 |
|
---|
[47dc0bf] | 75 | <bridgehead renderas="sect3">Cups Dependencies</bridgehead>
|
---|
[536fac5] | 76 |
|
---|
[53debf3] | 77 | <bridgehead renderas="sect4">Required</bridgehead>
|
---|
| 78 | <para role="required">
|
---|
| 79 | <xref linkend="gnutls"/>
|
---|
| 80 | </para>
|
---|
| 81 |
|
---|
[536fac5] | 82 | <bridgehead renderas="sect4">Recommended</bridgehead>
|
---|
[14d01d8] | 83 | <para role="recommended">
|
---|
[54666831] | 84 | <xref linkend="colord"/>,
|
---|
[66d9ef8] | 85 | <xref linkend="dbus"/>,
|
---|
[905e8ca] | 86 | <xref linkend="libusb"/>,
|
---|
| 87 | <xref linkend="linux-pam"/>, and
|
---|
[66d9ef8] | 88 | <xref linkend="xdg-utils"/>
|
---|
[14d01d8] | 89 | </para>
|
---|
[536fac5] | 90 |
|
---|
| 91 | <bridgehead renderas="sect4">Optional</bridgehead>
|
---|
[bc6e56d] | 92 | <para role="optional">
|
---|
[5e7d3013] | 93 | <xref linkend="avahi"/>,
|
---|
[1ecdb18] | 94 | <xref linkend="libpaper"/>,
|
---|
[89475857] | 95 | <xref linkend="mitkrb"/>,
|
---|
| 96 | <xref linkend="openjdk"/>,
|
---|
[66d9ef8] | 97 | <xref linkend="php"/>, and
|
---|
| 98 | <xref linkend="python2"/>
|
---|
[14d01d8] | 99 | </para>
|
---|
[536fac5] | 100 |
|
---|
[5f83175] | 101 | <bridgehead renderas="sect4">Required (Postinstall)</bridgehead>
|
---|
[1051f94e] | 102 | <para role="required">
|
---|
| 103 | <xref role="runtime" linkend="cups-filters"/>
|
---|
[dcbd2c6] | 104 | </para>
|
---|
| 105 |
|
---|
[5f83175] | 106 | <bridgehead renderas="sect4">Optional (Postinstall)</bridgehead>
|
---|
[1051f94e] | 107 | <para role="optional">
|
---|
| 108 | <xref role="runtime" linkend="gutenprint"/> and
|
---|
| 109 | <ulink role="runtime" url="http://hplipopensource.com/hplip-web/index.html">hplip</ulink> (HP printers)
|
---|
[5f83175] | 110 | </para>
|
---|
[7b88d5a] | 111 |
|
---|
[977061b0] | 112 | <para condition="html" role="usernotes">User Notes:
|
---|
[89475857] | 113 | <ulink url="&blfs-wiki;/cups"/>
|
---|
| 114 | </para>
|
---|
[536fac5] | 115 | </sect2>
|
---|
| 116 |
|
---|
[47dc0bf] | 117 | <sect2 role="kernel" id="cups-kernel">
|
---|
| 118 | <title>Kernel Configuration</title>
|
---|
| 119 |
|
---|
[89475857] | 120 | <note>
|
---|
| 121 | <para>
|
---|
[ae2cb05] | 122 | There used to be a conflict between the <application>Cups</application>
|
---|
[5618cdc] | 123 | <application>libusb</application> backend and the usblp kernel driver.
|
---|
| 124 | This is no longer the case and cups will work with both of these
|
---|
[ae2cb05] | 125 | enabled.
|
---|
[89475857] | 126 | </para>
|
---|
| 127 | </note>
|
---|
| 128 |
|
---|
| 129 | <para>
|
---|
[ae2cb05] | 130 | If you want to use the kernel usblp driver (for example, if you wish to
|
---|
[5618cdc] | 131 | use <application>escputil</application> from <xref
|
---|
| 132 | linkend="gutenprint"/>) enable the following options in your kernel
|
---|
| 133 | configuration and recompile the kernel:
|
---|
[89475857] | 134 | </para>
|
---|
[47dc0bf] | 135 |
|
---|
[5f83175] | 136 | <screen><literal>Device Drivers --->
|
---|
[38155d1] | 137 | [*] USB support ---> [CONFIG_USB_SUPPORT]
|
---|
| 138 | <*/M> OHCI HCD (USB 1.1) support [CONFIG_USB_OHCI_HCD]
|
---|
| 139 | <*/M> UHCI HCD (most Intel and VIA) support [CONFIG_USB_UHCI_HCD]
|
---|
| 140 | <*/M> USB Printer support [CONFIG_USB_PRINTER]</literal></screen>
|
---|
[47dc0bf] | 141 |
|
---|
[89475857] | 142 | <para>
|
---|
[2946338a] | 143 | If you have a parallel printer, enable the following options in your
|
---|
[89475857] | 144 | kernel configuration and recompile the kernel:
|
---|
| 145 | </para>
|
---|
| 146 |
|
---|
| 147 | <screen><literal>Device Drivers --->
|
---|
[38155d1] | 148 | <*/M> Parallel port support ---> [CONFIG_PARPORT]
|
---|
| 149 | <*/M> PC-style hardware [CONFIG_PARPORT_PC]
|
---|
[89475857] | 150 | Character devices --->
|
---|
[38155d1] | 151 | <*/M> Parallel printer support [CONFIG_PRINTER]</literal></screen>
|
---|
[89475857] | 152 |
|
---|
[47dc0bf] | 153 | <indexterm zone="cups cups-kernel">
|
---|
| 154 | <primary sortas="d-cups">cups</primary>
|
---|
| 155 | </indexterm>
|
---|
| 156 |
|
---|
| 157 | </sect2>
|
---|
| 158 |
|
---|
[536fac5] | 159 | <sect2 role="installation">
|
---|
[47dc0bf] | 160 | <title>Installation of Cups</title>
|
---|
[536fac5] | 161 |
|
---|
[89475857] | 162 | <para>
|
---|
[2946338a] | 163 | You will need to add an <systemitem class="username">lp</systemitem>
|
---|
[89475857] | 164 | user, as <application>Cups</application> will create some files owned
|
---|
| 165 | by this user. (The <systemitem class="username">lp</systemitem> user
|
---|
| 166 | is the default used by <application>Cups</application>, but may be
|
---|
| 167 | changed to a different user by passing a parameter to the
|
---|
| 168 | <command>configure</command> script.) Use the following command as
|
---|
| 169 | the <systemitem class="username">root</systemitem> user:
|
---|
| 170 | </para>
|
---|
| 171 |
|
---|
| 172 | <screen role="root"><userinput>useradd -c "Print Service User" -d /var/spool/cups -g lp -s /bin/false -u 9 lp</userinput></screen>
|
---|
[536fac5] | 173 |
|
---|
[89475857] | 174 | <para>
|
---|
[2946338a] | 175 | You will also need a dedicated group that will contain users allowed to
|
---|
[89475857] | 176 | do <application>Cups</application> administrative tasks. Add the group
|
---|
| 177 | by running the following command as the
|
---|
| 178 | <systemitem class="username">root</systemitem> user:
|
---|
| 179 | </para>
|
---|
[536fac5] | 180 |
|
---|
[89475857] | 181 | <screen role="root"><userinput>groupadd -g 19 lpadmin</userinput></screen>
|
---|
[536fac5] | 182 |
|
---|
[89475857] | 183 | <para>
|
---|
[2946338a] | 184 | If you want to add a user to the <application>Cups</application>
|
---|
[89475857] | 185 | administrative group, run the following command as the
|
---|
| 186 | <systemitem class="username">root</systemitem> user:
|
---|
| 187 | </para>
|
---|
| 188 |
|
---|
| 189 | <screen role="root"><userinput>usermod -a -G lpadmin <replaceable><username></replaceable></userinput></screen>
|
---|
| 190 |
|
---|
| 191 | <para>
|
---|
| 192 | If you didn't install <xref linkend="xdg-utils"/>, use the following
|
---|
| 193 | <command>sed</command> to change the default browser that will be used
|
---|
| 194 | to access the <application>Cups</application> web interface:
|
---|
| 195 | </para>
|
---|
| 196 |
|
---|
| 197 | <screen><userinput>sed -i 's#@CUPS_HTMLVIEW@#firefox#' desktop/cups.desktop.in</userinput></screen>
|
---|
| 198 |
|
---|
| 199 | <para>
|
---|
| 200 | Replace <command>firefox</command> with the web browser of your
|
---|
| 201 | choice.
|
---|
| 202 | </para>
|
---|
[ea48bbe] | 203 |
|
---|
[5618cdc] | 204 | <para>
|
---|
[5f83175] | 205 | Build <application>Cups</application> by running the following commands:
|
---|
[5618cdc] | 206 | </para>
|
---|
| 207 |
|
---|
[b256695] | 208 |
|
---|
[0e6eeb8] | 209 | <screen revision="sysv"><userinput>sed -i 's:444:644:' Makedefs.in &&
|
---|
[5a916f4] | 210 | sed -i '/MAN.EXT/s:.gz::' configure config-scripts/cups-manpages.m4 &&
|
---|
[9b463b1] | 211 | sed -i '/stat.h/a #include <asm-generic/ioctls.h>' test/ipptool.c &&
|
---|
[b88584a] | 212 |
|
---|
[5618cdc] | 213 | aclocal -I config-scripts &&
|
---|
[abc1ddb] | 214 | autoconf -I config-scripts &&
|
---|
[93343b6] | 215 |
|
---|
[8ccc682] | 216 | CC=gcc CXX=g++ \
|
---|
[5618cdc] | 217 | ./configure --libdir=/usr/lib \
|
---|
| 218 | --disable-systemd \
|
---|
| 219 | --with-rcdir=/tmp/cupsinit \
|
---|
| 220 | --with-system-groups=lpadmin \
|
---|
[2c1a7b7f] | 221 | --with-docdir=/usr/share/cups/doc-&cups-version; &&
|
---|
[536fac5] | 222 | make</userinput></screen>
|
---|
| 223 |
|
---|
[9b463b1] | 224 | <screen revision="systemd"><userinput>sed -i 's:555:755:g;s:444:644:g' Makedefs.in &&
|
---|
| 225 | sed -i '/MAN.EXT/s:.gz::' configure config-scripts/cups-manpages.m4 &&
|
---|
| 226 | sed -i '/stat.h/a #include <asm-generic/ioctls.h>' test/ipptool.c &&
|
---|
[0e6eeb8] | 227 |
|
---|
[3ace4c5] | 228 | aclocal -I config-scripts &&
|
---|
| 229 | autoconf -I config-scripts &&
|
---|
| 230 |
|
---|
| 231 | CC=gcc \
|
---|
| 232 | ./configure --libdir=/usr/lib \
|
---|
| 233 | --with-rcdir=/tmp/cupsinit \
|
---|
| 234 | --with-system-groups=lpadmin \
|
---|
| 235 | --with-docdir=/usr/share/cups/doc-&cups-version; &&
|
---|
| 236 | make</userinput></screen>
|
---|
| 237 |
|
---|
[a92a3a9] | 238 | <para>
|
---|
[e5e7a1d] | 239 | To test the results, issue: <command>make -k check</command>. An already
|
---|
[a92a3a9] | 240 | active graphical session with bus address is necessary to run the tests.
|
---|
| 241 | </para>
|
---|
[24962f9] | 242 |
|
---|
[89475857] | 243 | <para>
|
---|
[5f83175] | 244 | Now, as the <systemitem class="username">root</systemitem> user:
|
---|
[89475857] | 245 | </para>
|
---|
[536fac5] | 246 |
|
---|
[2cf3f8a] | 247 | <!-- dev note: make BUILDROOT=<DESTDIR> install -->
|
---|
| 248 |
|
---|
[5c52c23] | 249 | <screen role="root"><userinput>make install &&
|
---|
[89475857] | 250 | rm -rf /tmp/cupsinit &&
|
---|
[2c1a7b7f] | 251 | ln -svnf ../cups/doc-&cups-version; /usr/share/doc/cups-&cups-version;</userinput></screen>
|
---|
[89475857] | 252 |
|
---|
| 253 | <para>
|
---|
[5618cdc] | 254 | Create a basic <application>Cups</application> client configuration file
|
---|
| 255 | by running the following command as the <systemitem
|
---|
| 256 | class="username">root</systemitem> user:
|
---|
[3a55bfe] | 257 | </para>
|
---|
| 258 |
|
---|
| 259 | <screen role="root"><userinput>echo "ServerName /var/run/cups/cups.sock" > /etc/cups/client.conf</userinput></screen>
|
---|
| 260 |
|
---|
[2946338a] | 261 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
---|
| 262 | href="../../xincludes/gtk-update-icon-cache.xml"/>
|
---|
[6d8f6dc] | 263 |
|
---|
[536fac5] | 264 | </sect2>
|
---|
| 265 |
|
---|
| 266 | <sect2 role="commands">
|
---|
| 267 | <title>Command Explanations</title>
|
---|
| 268 |
|
---|
[5618cdc] | 269 | <para>
|
---|
[2c1a7b7f] | 270 | <command>sed ... Makedefs.in</command>: Fix files and directories
|
---|
| 271 | permissions.
|
---|
[5618cdc] | 272 | </para>
|
---|
| 273 |
|
---|
| 274 | <para>
|
---|
[2c1a7b7f] | 275 | <command>sed ... cups-manpages.m4</command>: This sed prevents
|
---|
| 276 | compression of the man pages by default.
|
---|
[5618cdc] | 277 | </para>
|
---|
[7081b02] | 278 |
|
---|
[93343b6] | 279 | <para>
|
---|
[7081b02] | 280 | <command>sed ... test/ipptool.c</command>: This sed fixes a bug caused
|
---|
| 281 | by Linux-5.2+ changing the user-space API for sockets.
|
---|
[93343b6] | 282 | </para>
|
---|
[f6d40b7d] | 283 |
|
---|
| 284 | <para>
|
---|
| 285 | <envar>CC=gcc</envar>: This environment variable ensures that gcc is used,
|
---|
| 286 | if clang is installed. Remove it, if you prefer to use clang. Using clang
|
---|
| 287 | almost doubles build time and slightly decreases build disk space.
|
---|
| 288 | Installed disk space is not appreciably modified.
|
---|
| 289 | </para>
|
---|
[a090d8b] | 290 |
|
---|
[3ace4c5] | 291 | <para revision="sysv">
|
---|
[5618cdc] | 292 | <parameter>--disable-systemd</parameter>: Systemd is not supported by
|
---|
[66d9ef8] | 293 | this version of BLFS.
|
---|
[5618cdc] | 294 | </para>
|
---|
| 295 |
|
---|
| 296 | <para>
|
---|
| 297 | <parameter>--with-rcdir=/tmp/cupsinit</parameter>: This switch tells the
|
---|
| 298 | build process to install the shipped bootscript into <filename
|
---|
| 299 | class="directory">/tmp</filename> instead of <filename
|
---|
| 300 | class="directory">/etc/rc.d</filename>.
|
---|
[89475857] | 301 | </para>
|
---|
| 302 |
|
---|
| 303 | <para>
|
---|
| 304 | <parameter>--with-system-groups=lpadmin</parameter>: This switch ensures
|
---|
[5618cdc] | 305 | that only <systemitem class="groupname">lpadmin</systemitem> will be used
|
---|
| 306 | as the <application>Cups</application> administrative group.
|
---|
[89475857] | 307 | </para>
|
---|
[47dc0bf] | 308 |
|
---|
[89475857] | 309 | <para>
|
---|
| 310 | <option>--disable-libusb</option>: Use this switch if you have installed
|
---|
| 311 | <xref linkend="libusb"/>, but wish to use the kernel usblp driver.
|
---|
| 312 | </para>
|
---|
[47dc0bf] | 313 |
|
---|
[89475857] | 314 | <para>
|
---|
| 315 | <option>--enable-libpaper</option>: Use this switch if you have installed
|
---|
| 316 | <application>libpaper</application> and wish to use it with
|
---|
| 317 | <application>Cups</application>.
|
---|
| 318 | </para>
|
---|
[47dc0bf] | 319 |
|
---|
[536fac5] | 320 | </sect2>
|
---|
| 321 |
|
---|
| 322 | <sect2 role="configuration">
|
---|
[47dc0bf] | 323 | <title>Configuring Cups</title>
|
---|
[536fac5] | 324 |
|
---|
[2cf3f8a] | 325 | <sect3 id="cups-config">
|
---|
| 326 | <title>Config Files</title>
|
---|
[89475857] | 327 |
|
---|
[2cf3f8a] | 328 | <para><filename>/etc/cups/*</filename></para>
|
---|
| 329 |
|
---|
| 330 | <indexterm zone="cups cups-config">
|
---|
| 331 | <primary sortas="e-etc-cups">/etc/cups/*</primary>
|
---|
| 332 | </indexterm>
|
---|
| 333 |
|
---|
| 334 | </sect3>
|
---|
| 335 |
|
---|
| 336 | <sect3>
|
---|
| 337 | <title>Configuration Information</title>
|
---|
| 338 |
|
---|
[5f83175] | 339 | <para>
|
---|
| 340 | Normally, printers are set up via a web browser. The
|
---|
| 341 | <application>Cups</application> server will normally connect via
|
---|
| 342 | the url http://localhost:631. From there printers, print
|
---|
| 343 | jobs, and the server configuration can be set up and managed.
|
---|
| 344 | Remote system administration can also be set up. Configuration
|
---|
[7b88d5a] | 345 | can also be done from the command line via the
|
---|
| 346 | <command>lpadmin</command>, <command>lpoptions</command>,
|
---|
[5f83175] | 347 | and <command>lpstat</command> commands.
|
---|
| 348 | </para>
|
---|
| 349 |
|
---|
[2cf3f8a] | 350 | <para>
|
---|
| 351 | Configuration of <application>Cups</application> is dependent on
|
---|
| 352 | the type of printer and can be complex. Generally, PostScript printers
|
---|
| 353 | are easier. For detailed instructions on configuration and use of
|
---|
| 354 | <application>Cups</application>, see <ulink
|
---|
[7b88d5a] | 355 | url="http://www.cups.org/documentation.php"/>.
|
---|
[2cf3f8a] | 356 | </para>
|
---|
| 357 |
|
---|
| 358 | <para>
|
---|
| 359 | For non-PostScript printers to print with
|
---|
[5618cdc] | 360 | <application>Cups</application>, you need to install <xref
|
---|
| 361 | linkend="gs"/> to convert PostScript to raster images and a driver
|
---|
[5f83175] | 362 | (e.g. from <xref linkend="gutenprint"/>) to convert the resulting
|
---|
[5618cdc] | 363 | raster images to a form that the printer understands. <ulink
|
---|
| 364 | url="http://www.linuxprinting.org/foomatic.html">Foomatic</ulink>
|
---|
[5f83175] | 365 | drivers use <xref linkend="gs"/> to convert PostScript to a printable
|
---|
| 366 | form directly, but this is considered suboptimal by
|
---|
[5618cdc] | 367 | <application>Cups</application> developers.
|
---|
[2cf3f8a] | 368 | </para>
|
---|
| 369 |
|
---|
| 370 | </sect3>
|
---|
[89475857] | 371 |
|
---|
[2c1a7b7f] | 372 | <sect3>
|
---|
| 373 | <title>Linux PAM Configuration</title>
|
---|
| 374 |
|
---|
| 375 | <para>
|
---|
| 376 | If <application>CUPS</application> has been built with
|
---|
| 377 | <application>Linux PAM</application> support, you need to create a
|
---|
[5f83175] | 378 | <application>PAM</application> configuration file to get it working
|
---|
[2c1a7b7f] | 379 | correctly with BLFS.
|
---|
| 380 | </para>
|
---|
| 381 |
|
---|
| 382 | <para>
|
---|
| 383 | Issue the following command as the <systemitem
|
---|
| 384 | class="username">root</systemitem> user to create the configuration
|
---|
| 385 | file for <application>Linux PAM</application>:
|
---|
| 386 | </para>
|
---|
| 387 |
|
---|
[3503806d] | 388 | <screen role="root"><userinput>cat > /etc/pam.d/cups << "EOF"
|
---|
[2c1a7b7f] | 389 | <literal># Begin /etc/pam.d/cups
|
---|
| 390 |
|
---|
| 391 | auth include system-auth
|
---|
| 392 | account include system-account
|
---|
| 393 | session include system-session
|
---|
| 394 |
|
---|
| 395 | # End /etc/pam.d/cups</literal>
|
---|
| 396 | EOF</userinput></screen>
|
---|
| 397 |
|
---|
| 398 | </sect3>
|
---|
| 399 |
|
---|
[32d0e29] | 400 | <sect3 id="cups-init">
|
---|
[3ace4c5] | 401 | <title><phrase revision="sysv">Boot Script</phrase>
|
---|
| 402 | <phrase revision="systemd">Systemd Unit</phrase></title>
|
---|
[536fac5] | 403 |
|
---|
[3ace4c5] | 404 | <para revision="sysv">
|
---|
[2946338a] | 405 | If you want the <application>Cups</application> print service to start
|
---|
[3ace4c5] | 406 | automatically when the system is booted, install the init script
|
---|
| 407 | included in the <xref linkend="bootscripts"/> package:
|
---|
| 408 | </para>
|
---|
| 409 |
|
---|
[5ebb2cc] | 410 | <para revision="systemd">
|
---|
[3ace4c5] | 411 | To start the <command>cupsd</command> daemon when something tries to
|
---|
| 412 | access it, enable the previously installed systemd units by running
|
---|
| 413 | the following command as the
|
---|
| 414 | <systemitem class="username">root</systemitem> user:
|
---|
[89475857] | 415 | </para>
|
---|
[536fac5] | 416 |
|
---|
| 417 | <indexterm zone="cups cups-init">
|
---|
| 418 | <primary sortas="f-cups">cups</primary>
|
---|
| 419 | </indexterm>
|
---|
| 420 |
|
---|
[3ace4c5] | 421 | <screen role="root" revision="sysv"><userinput>make install-cups</userinput></screen>
|
---|
| 422 |
|
---|
| 423 | <screen role="root" revision="systemd"><userinput>systemctl enable org.cups.cupsd</userinput></screen>
|
---|
[536fac5] | 424 |
|
---|
| 425 | </sect3>
|
---|
| 426 |
|
---|
| 427 | </sect2>
|
---|
| 428 |
|
---|
| 429 | <sect2 role="content">
|
---|
| 430 | <title>Contents</title>
|
---|
| 431 |
|
---|
| 432 | <segmentedlist>
|
---|
| 433 | <segtitle>Installed Programs</segtitle>
|
---|
| 434 | <segtitle>Installed Libraries</segtitle>
|
---|
| 435 | <segtitle>Installed Directories</segtitle>
|
---|
| 436 |
|
---|
| 437 | <seglistitem>
|
---|
[89475857] | 438 | <seg>
|
---|
[5618cdc] | 439 | accept, cancel, cupsaccept, cupsaddsmb, cups-config, cupsctl, cupsd,
|
---|
| 440 | cupsdisable, cupsenable, cupsfilter, cupsreject, cupstestdsc,
|
---|
| 441 | cupstestppd, ippfind, ipptool, lp, lpadmin, lpc, lpinfo, lpmove,
|
---|
| 442 | lpoptions, lpq, lpr, lprm, lpstat, ppdc, ppdhtml, ppdi, ppdmerge,
|
---|
| 443 | ppdpo, and reject
|
---|
[89475857] | 444 | </seg>
|
---|
| 445 | <seg>
|
---|
| 446 | libcupscgi.so, libcupsimage.so, libcupsmime.so,
|
---|
[5618cdc] | 447 | libcupsppdc.so, and libcups.so
|
---|
[89475857] | 448 | </seg>
|
---|
| 449 | <seg>
|
---|
[52e175b] | 450 | /etc/cups,
|
---|
| 451 | /usr/{include,lib,share}/cups,
|
---|
| 452 | /usr/share/doc/cups-&cups-version;, and
|
---|
| 453 | /var/{cache,log,run,spool}/cups
|
---|
[89475857] | 454 | </seg>
|
---|
[536fac5] | 455 | </seglistitem>
|
---|
| 456 | </segmentedlist>
|
---|
| 457 |
|
---|
| 458 | <variablelist>
|
---|
| 459 | <bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
---|
| 460 | <?dbfo list-presentation="list"?>
|
---|
| 461 | <?dbhtml list-presentation="table"?>
|
---|
| 462 |
|
---|
| 463 | <varlistentry id="accept">
|
---|
| 464 | <term><command>accept</command></term>
|
---|
| 465 | <listitem>
|
---|
[89475857] | 466 | <para>
|
---|
| 467 | instructs the printing system to accept print jobs to the
|
---|
| 468 | specified destinations.
|
---|
| 469 | </para>
|
---|
[536fac5] | 470 | <indexterm zone="cups accept">
|
---|
| 471 | <primary sortas="b-accept">accept</primary>
|
---|
| 472 | </indexterm>
|
---|
| 473 | </listitem>
|
---|
| 474 | </varlistentry>
|
---|
| 475 |
|
---|
| 476 | <varlistentry id="cancel-cups">
|
---|
| 477 | <term><command>cancel</command></term>
|
---|
| 478 | <listitem>
|
---|
[89475857] | 479 | <para>
|
---|
| 480 | cancels existing print jobs from the print queues.
|
---|
| 481 | </para>
|
---|
[536fac5] | 482 | <indexterm zone="cups cancel-cups">
|
---|
| 483 | <primary sortas="b-cancel">cancel</primary>
|
---|
| 484 | </indexterm>
|
---|
| 485 | </listitem>
|
---|
| 486 | </varlistentry>
|
---|
| 487 |
|
---|
[298fee30] | 488 | <varlistentry id="cupsaccept">
|
---|
| 489 | <term><command>cupsaccept</command></term>
|
---|
| 490 | <listitem>
|
---|
| 491 | <para>
|
---|
| 492 | accept jobs sent to a destination.
|
---|
| 493 | </para>
|
---|
| 494 | <indexterm zone="cups cupsaccept">
|
---|
| 495 | <primary sortas="b-cupsaccept">cupsaccept</primary>
|
---|
| 496 | </indexterm>
|
---|
| 497 | </listitem>
|
---|
| 498 | </varlistentry>
|
---|
| 499 |
|
---|
[89475857] | 500 | <varlistentry id="cupsaddsmb">
|
---|
| 501 | <term><command>cupsaddsmb</command></term>
|
---|
| 502 | <listitem>
|
---|
| 503 | <para>
|
---|
| 504 | exports printers to the <application>Samba</application>
|
---|
| 505 | software for use with Windows clients.
|
---|
| 506 | </para>
|
---|
| 507 | <indexterm zone="cups cupsaddsmb">
|
---|
| 508 | <primary sortas="b-cupsaddsmb">cupsaddsmb</primary>
|
---|
| 509 | </indexterm>
|
---|
| 510 | </listitem>
|
---|
| 511 | </varlistentry>
|
---|
| 512 |
|
---|
[2cf3f8a] | 513 | <varlistentry id="cups-config-prog">
|
---|
[536fac5] | 514 | <term><command>cups-config</command></term>
|
---|
| 515 | <listitem>
|
---|
[89475857] | 516 | <para>
|
---|
| 517 | is a <application>Cups</application>
|
---|
| 518 | program configuration utility.
|
---|
| 519 | </para>
|
---|
[2cf3f8a] | 520 | <indexterm zone="cups cups-config-prog">
|
---|
[536fac5] | 521 | <primary sortas="b-cups-config">cups-config</primary>
|
---|
| 522 | </indexterm>
|
---|
| 523 | </listitem>
|
---|
| 524 | </varlistentry>
|
---|
| 525 |
|
---|
[89475857] | 526 | <varlistentry id="cupsctl">
|
---|
| 527 | <term><command>cupsctl</command></term>
|
---|
[536fac5] | 528 | <listitem>
|
---|
[89475857] | 529 | <para>
|
---|
| 530 | updates or queries the cupsd.conf file for a server.
|
---|
| 531 | </para>
|
---|
| 532 | <indexterm zone="cups cupsctl">
|
---|
| 533 | <primary sortas="b-cupsctl">cupsctl</primary>
|
---|
[536fac5] | 534 | </indexterm>
|
---|
| 535 | </listitem>
|
---|
| 536 | </varlistentry>
|
---|
| 537 |
|
---|
| 538 | <varlistentry id="cupsd">
|
---|
| 539 | <term><command>cupsd</command></term>
|
---|
| 540 | <listitem>
|
---|
[89475857] | 541 | <para>
|
---|
| 542 | is the scheduler for the Common Unix Printing System.
|
---|
| 543 | </para>
|
---|
[536fac5] | 544 | <indexterm zone="cups cupsd">
|
---|
| 545 | <primary sortas="b-cupsd">cupsd</primary>
|
---|
| 546 | </indexterm>
|
---|
| 547 | </listitem>
|
---|
| 548 | </varlistentry>
|
---|
| 549 |
|
---|
[298fee30] | 550 | <varlistentry id="cupsdisable">
|
---|
| 551 | <term><command>cupsdisable</command></term>
|
---|
| 552 | <listitem>
|
---|
| 553 | <para>
|
---|
| 554 | stop printers and classes.
|
---|
| 555 | </para>
|
---|
| 556 | <indexterm zone="cups cupsdisable">
|
---|
| 557 | <primary sortas="b-cupsdisable">cupsdisable</primary>
|
---|
| 558 | </indexterm>
|
---|
| 559 | </listitem>
|
---|
| 560 | </varlistentry>
|
---|
| 561 |
|
---|
| 562 | <varlistentry id="cupsenable">
|
---|
| 563 | <term><command>cupsenable</command></term>
|
---|
| 564 | <listitem>
|
---|
| 565 | <para>
|
---|
| 566 | start printers and classes.
|
---|
| 567 | </para>
|
---|
| 568 | <indexterm zone="cups cupsenable">
|
---|
| 569 | <primary sortas="b-cupsenable">cupsenable</primary>
|
---|
| 570 | </indexterm>
|
---|
| 571 | </listitem>
|
---|
| 572 | </varlistentry>
|
---|
| 573 |
|
---|
[89475857] | 574 | <varlistentry id="cupsfilter">
|
---|
| 575 | <term><command>cupsfilter</command></term>
|
---|
[536fac5] | 576 | <listitem>
|
---|
[89475857] | 577 | <para>
|
---|
[0d7900a] | 578 | is a front-end to the <application>Cups</application>
|
---|
[89475857] | 579 | filter subsystem which allows you to convert a file
|
---|
| 580 | to a specific format.
|
---|
| 581 | </para>
|
---|
| 582 | <indexterm zone="cups cupsfilter">
|
---|
| 583 | <primary sortas="b-cupsfilter">cupsfilter</primary>
|
---|
[536fac5] | 584 | </indexterm>
|
---|
| 585 | </listitem>
|
---|
| 586 | </varlistentry>
|
---|
| 587 |
|
---|
[298fee30] | 588 | <varlistentry id="cupsreject">
|
---|
| 589 | <term><command>cupsreject</command></term>
|
---|
| 590 | <listitem>
|
---|
| 591 | <para>
|
---|
| 592 | reject jobs sent to a destination.
|
---|
| 593 | </para>
|
---|
| 594 | <indexterm zone="cups cupsreject">
|
---|
| 595 | <primary sortas="b-cupsreject">cupsreject</primary>
|
---|
| 596 | </indexterm>
|
---|
| 597 | </listitem>
|
---|
| 598 | </varlistentry>
|
---|
| 599 |
|
---|
[89475857] | 600 | <varlistentry id="cupstestdsc">
|
---|
| 601 | <term><command>cupstestdsc</command></term>
|
---|
[536fac5] | 602 | <listitem>
|
---|
[89475857] | 603 | <para>
|
---|
| 604 | tests the conformance of PostScript files.
|
---|
| 605 | </para>
|
---|
| 606 | <indexterm zone="cups cupstestdsc">
|
---|
| 607 | <primary sortas="b-cupstestdsc">cupstestdsc</primary>
|
---|
| 608 | </indexterm>
|
---|
| 609 | </listitem>
|
---|
| 610 | </varlistentry>
|
---|
| 611 |
|
---|
| 612 | <varlistentry id="cupstestppd">
|
---|
| 613 | <term><command>cupstestppd</command></term>
|
---|
| 614 | <listitem>
|
---|
| 615 | <para>
|
---|
| 616 | tests the conformance of PPD files.
|
---|
| 617 | </para>
|
---|
| 618 | <indexterm zone="cups cupstestppd">
|
---|
| 619 | <primary sortas="b-cupstestppd">cupstestppd</primary>
|
---|
[536fac5] | 620 | </indexterm>
|
---|
| 621 | </listitem>
|
---|
| 622 | </varlistentry>
|
---|
| 623 |
|
---|
[95a4ee3] | 624 | <varlistentry id="ippfind">
|
---|
| 625 | <term><command>ippfind</command></term>
|
---|
| 626 | <listitem>
|
---|
| 627 | <para>
|
---|
| 628 | finds internet printing protocol printers.
|
---|
| 629 | </para>
|
---|
| 630 | <indexterm zone="cups ippfind">
|
---|
| 631 | <primary sortas="b-ippfind">ippfind</primary>
|
---|
| 632 | </indexterm>
|
---|
| 633 | </listitem>
|
---|
| 634 | </varlistentry>
|
---|
| 635 |
|
---|
[89475857] | 636 | <varlistentry id="ipptool">
|
---|
| 637 | <term><command>ipptool</command></term>
|
---|
[536fac5] | 638 | <listitem>
|
---|
[89475857] | 639 | <para>
|
---|
| 640 | sends IPP requests to the specified URI and tests
|
---|
| 641 | and/or displays the results.
|
---|
| 642 | </para>
|
---|
| 643 | <indexterm zone="cups ipptool">
|
---|
| 644 | <primary sortas="b-ipptool">ipptool</primary>
|
---|
[536fac5] | 645 | </indexterm>
|
---|
| 646 | </listitem>
|
---|
| 647 | </varlistentry>
|
---|
| 648 |
|
---|
| 649 | <varlistentry id="lp-cups">
|
---|
| 650 | <term><command>lp</command></term>
|
---|
| 651 | <listitem>
|
---|
[89475857] | 652 | <para>
|
---|
| 653 | submits files for printing or alters a pending job.
|
---|
| 654 | </para>
|
---|
[536fac5] | 655 | <indexterm zone="cups lp-cups">
|
---|
| 656 | <primary sortas="b-lp">lp</primary>
|
---|
| 657 | </indexterm>
|
---|
| 658 | </listitem>
|
---|
| 659 | </varlistentry>
|
---|
| 660 |
|
---|
| 661 | <varlistentry id="lpadmin">
|
---|
| 662 | <term><command>lpadmin</command></term>
|
---|
| 663 | <listitem>
|
---|
[89475857] | 664 | <para>
|
---|
| 665 | configures printer and class queues provided by
|
---|
| 666 | <application>Cups</application>.
|
---|
| 667 | </para>
|
---|
[536fac5] | 668 | <indexterm zone="cups lpadmin">
|
---|
| 669 | <primary sortas="b-lpadmin">lpadmin</primary>
|
---|
| 670 | </indexterm>
|
---|
| 671 | </listitem>
|
---|
| 672 | </varlistentry>
|
---|
| 673 |
|
---|
| 674 | <varlistentry id="lpc-cups">
|
---|
| 675 | <term><command>lpc</command></term>
|
---|
| 676 | <listitem>
|
---|
[89475857] | 677 | <para>
|
---|
| 678 | provides limited control over printer and class queues
|
---|
| 679 | provided by <application>Cups</application>.
|
---|
| 680 | </para>
|
---|
[536fac5] | 681 | <indexterm zone="cups lpc-cups">
|
---|
| 682 | <primary sortas="b-lpc">lpc</primary>
|
---|
| 683 | </indexterm>
|
---|
| 684 | </listitem>
|
---|
| 685 | </varlistentry>
|
---|
| 686 |
|
---|
| 687 | <varlistentry id="lpinfo">
|
---|
| 688 | <term><command>lpinfo</command></term>
|
---|
| 689 | <listitem>
|
---|
[89475857] | 690 | <para>
|
---|
| 691 | lists the available devices or drivers known to the
|
---|
| 692 | <application>Cups</application> server.
|
---|
| 693 | </para>
|
---|
[536fac5] | 694 | <indexterm zone="cups lpinfo">
|
---|
| 695 | <primary sortas="b-lpinfo">lpinfo</primary>
|
---|
| 696 | </indexterm>
|
---|
| 697 | </listitem>
|
---|
| 698 | </varlistentry>
|
---|
| 699 |
|
---|
| 700 | <varlistentry id="lpmove">
|
---|
| 701 | <term><command>lpmove</command></term>
|
---|
| 702 | <listitem>
|
---|
[89475857] | 703 | <para>
|
---|
| 704 | moves the specified job to a new destination.
|
---|
| 705 | </para>
|
---|
[536fac5] | 706 | <indexterm zone="cups lpmove">
|
---|
| 707 | <primary sortas="b-lpmove">lpmove</primary>
|
---|
| 708 | </indexterm>
|
---|
| 709 | </listitem>
|
---|
| 710 | </varlistentry>
|
---|
| 711 |
|
---|
| 712 | <varlistentry id="lpoptions">
|
---|
| 713 | <term><command>lpoptions</command></term>
|
---|
| 714 | <listitem>
|
---|
[89475857] | 715 | <para>
|
---|
| 716 | displays or sets printer options and defaults.
|
---|
| 717 | </para>
|
---|
[536fac5] | 718 | <indexterm zone="cups lpoptions">
|
---|
| 719 | <primary sortas="b-lpoptions">lpoptions</primary>
|
---|
| 720 | </indexterm>
|
---|
| 721 | </listitem>
|
---|
| 722 | </varlistentry>
|
---|
| 723 |
|
---|
| 724 | <varlistentry id="lpq-cups">
|
---|
| 725 | <term><command>lpq</command></term>
|
---|
| 726 | <listitem>
|
---|
[89475857] | 727 | <para>
|
---|
| 728 | shows the current print queue status on the named printer.
|
---|
| 729 | </para>
|
---|
[536fac5] | 730 | <indexterm zone="cups lpq-cups">
|
---|
| 731 | <primary sortas="b-lpq">lpq</primary>
|
---|
| 732 | </indexterm>
|
---|
| 733 | </listitem>
|
---|
| 734 | </varlistentry>
|
---|
| 735 |
|
---|
| 736 | <varlistentry id="lpr-cups">
|
---|
| 737 | <term><command>lpr</command></term>
|
---|
| 738 | <listitem>
|
---|
[89475857] | 739 | <para>
|
---|
| 740 | submits files for printing.
|
---|
| 741 | </para>
|
---|
[536fac5] | 742 | <indexterm zone="cups lpr-cups">
|
---|
| 743 | <primary sortas="b-lpr">lpr</primary>
|
---|
| 744 | </indexterm>
|
---|
| 745 | </listitem>
|
---|
| 746 | </varlistentry>
|
---|
| 747 |
|
---|
| 748 | <varlistentry id="lprm-cups">
|
---|
| 749 | <term><command>lprm</command></term>
|
---|
| 750 | <listitem>
|
---|
[89475857] | 751 | <para>
|
---|
| 752 | cancels print jobs that have been queued for printing.
|
---|
| 753 | </para>
|
---|
[536fac5] | 754 | <indexterm zone="cups lprm-cups">
|
---|
| 755 | <primary sortas="b-lprm">lprm</primary>
|
---|
| 756 | </indexterm>
|
---|
| 757 | </listitem>
|
---|
| 758 | </varlistentry>
|
---|
| 759 |
|
---|
| 760 | <varlistentry id="lpstat-cups">
|
---|
| 761 | <term><command>lpstat</command></term>
|
---|
| 762 | <listitem>
|
---|
[89475857] | 763 | <para>
|
---|
| 764 | displays status information about the current classes, jobs,
|
---|
| 765 | and printers.
|
---|
| 766 | </para>
|
---|
[536fac5] | 767 | <indexterm zone="cups lpstat-cups">
|
---|
| 768 | <primary sortas="b-lpstat">lpstat</primary>
|
---|
| 769 | </indexterm>
|
---|
| 770 | </listitem>
|
---|
| 771 | </varlistentry>
|
---|
| 772 |
|
---|
[89475857] | 773 | <varlistentry id="ppdc">
|
---|
| 774 | <term><command>ppdc</command></term>
|
---|
| 775 | <listitem>
|
---|
| 776 | <para>
|
---|
| 777 | compiles PPDC source files into one or more PPD files.
|
---|
| 778 | </para>
|
---|
| 779 | <indexterm zone="cups ppdc">
|
---|
| 780 | <primary sortas="b-ppdc">ppdc</primary>
|
---|
| 781 | </indexterm>
|
---|
| 782 | </listitem>
|
---|
| 783 | </varlistentry>
|
---|
| 784 |
|
---|
| 785 | <varlistentry id="ppdhtml">
|
---|
| 786 | <term><command>ppdhtml</command></term>
|
---|
| 787 | <listitem>
|
---|
| 788 | <para>
|
---|
| 789 | reads a driver information file and produces a HTML summary
|
---|
| 790 | page that lists all of the drivers in a file and the
|
---|
| 791 | supported options.
|
---|
| 792 | </para>
|
---|
| 793 | <indexterm zone="cups ppdhtml">
|
---|
| 794 | <primary sortas="b-ppdhtml">ppdhtml</primary>
|
---|
| 795 | </indexterm>
|
---|
| 796 | </listitem>
|
---|
| 797 | </varlistentry>
|
---|
| 798 |
|
---|
| 799 | <varlistentry id="ppdi">
|
---|
| 800 | <term><command>ppdi</command></term>
|
---|
| 801 | <listitem>
|
---|
| 802 | <para>
|
---|
| 803 | imports one or more PPD files into a PPD compiler source file.
|
---|
| 804 | </para>
|
---|
| 805 | <indexterm zone="cups ppdi">
|
---|
| 806 | <primary sortas="b-ppdi">ppdi</primary>
|
---|
| 807 | </indexterm>
|
---|
| 808 | </listitem>
|
---|
| 809 | </varlistentry>
|
---|
| 810 |
|
---|
| 811 | <varlistentry id="ppdmerge">
|
---|
| 812 | <term><command>ppdmerge</command></term>
|
---|
| 813 | <listitem>
|
---|
| 814 | <para>
|
---|
| 815 | merges two or more PPD files into a single, multi-language
|
---|
| 816 | PPD file.
|
---|
| 817 | </para>
|
---|
| 818 | <indexterm zone="cups ppdmerge">
|
---|
| 819 | <primary sortas="b-ppdmerge">ppdmerge</primary>
|
---|
| 820 | </indexterm>
|
---|
| 821 | </listitem>
|
---|
| 822 | </varlistentry>
|
---|
| 823 |
|
---|
| 824 | <varlistentry id="ppdpo">
|
---|
| 825 | <term><command>ppdpo</command></term>
|
---|
| 826 | <listitem>
|
---|
| 827 | <para>
|
---|
| 828 | extracts UI strings from PPDC source files and
|
---|
| 829 | updates either a GNU gettext or Mac OS X strings
|
---|
| 830 | format message catalog source file for translation.
|
---|
| 831 | </para>
|
---|
| 832 | <indexterm zone="cups ppdpo">
|
---|
| 833 | <primary sortas="b-ppdpo">ppdpo</primary>
|
---|
| 834 | </indexterm>
|
---|
| 835 | </listitem>
|
---|
| 836 | </varlistentry>
|
---|
| 837 |
|
---|
[536fac5] | 838 | <varlistentry id="reject">
|
---|
| 839 | <term><command>reject</command></term>
|
---|
| 840 | <listitem>
|
---|
[89475857] | 841 | <para>
|
---|
| 842 | instructs the printing system to reject print jobs to the
|
---|
| 843 | specified destinations.
|
---|
| 844 | </para>
|
---|
[536fac5] | 845 | <indexterm zone="cups reject">
|
---|
| 846 | <primary sortas="b-reject">reject</primary>
|
---|
| 847 | </indexterm>
|
---|
| 848 | </listitem>
|
---|
| 849 | </varlistentry>
|
---|
| 850 |
|
---|
[89475857] | 851 | <varlistentry id="libcups">
|
---|
| 852 | <term><filename class="libraryfile">libcups.so</filename></term>
|
---|
| 853 | <listitem>
|
---|
| 854 | <para>
|
---|
| 855 | contains the <application>Cups</application> API functions.
|
---|
| 856 | </para>
|
---|
| 857 | <indexterm zone="cups libcups">
|
---|
| 858 | <primary sortas="c-libcups">libcups.so</primary>
|
---|
| 859 | </indexterm>
|
---|
| 860 | </listitem>
|
---|
| 861 | </varlistentry>
|
---|
| 862 |
|
---|
[536fac5] | 863 | </variablelist>
|
---|
| 864 |
|
---|
| 865 | </sect2>
|
---|
[c78533e] | 866 |
|
---|
| 867 | </sect1>
|
---|