#CONTENTSCUPS - Manuel de l'administrateur CUPSCUPS - Manuel de l'administrateur CUPS
CUPS-SAM-1.1.14
Easy Software Products
Copyright 1997-2003, All Rights Reserved
Table des matières 
#1Préface #1_1Aperçu du système #1_2Aperçu du document #1_3Conventions d'écriture #1_4Abréviations #1_5Autres références #OVERVIEW1 - Aperçu du système d'impression #2_1Le problème d'impression #2_2La technologie #2_3Travaux d'impression #2_4Classes d'imprimantes #2_5Filtres #2_6Programmes d'arrière-plan (Backends) #2_7Pilotes d'imprimantes #2_8Réseau #BUILDING_INSTALLING2 - Construire et installer CUPS #3_1Installer à partir d'une distribution du code source #REQUIREMENTSConditions nécessaires #COMPILINGCompiler CUPS #INSTALLINGInstaller le logiciel #RUNNINGExécuter le logiciel #BINARYInstaller une distribution binaire du logiciel #PORTABLE-BINARYInstaller une distribution portable #RPM-BINARYInstaller une distribution de type RPM #DPKG-BINARYInstaller une distribution de type DEBIAN #MANAGING_PRINTERS3 - Administration les imprimantes #4_1Les bases #4_2Ajouter votre première imprimante #4_2_1Ajouter votre première imprimante depuis la ligne
 de commande
#ADD_WEBAjouter votre première imprimante depuis
 l'interface "web"
#4_3Administrer les imprimantes depuis la ligne de
 commande
#4_3_1Ajouter et modifier des imprimantes #4_3_2Supprimer des imprimantes #4_3_3Choisir l'imprimante implicite #4_3_4Démarrer et arrêter des imprimantes #4_3_5Accepter et rejeter les travaux d'impression #4_4Administrer les imprimantes depuis l'interface "web" #PRINTER_CLASSES4 - Classes d'imprimantes #5_1Les bases #5_2Administrer les classes d'imprimantes depuis la ligne
 de commande
#5_3Administrer les classes d'imprimante depuis
 l'interface "web"
#5_4Classes implicites #CLIENT_SETUP5 - Configuration côté client #6_1Les bases #CLIENT_MANUALConfiguration manuelle des files
 d'impression
#CLIENT_SERVERChoix d'un serveur unique pour l'impression #CLIENT_AUTOConfiguration automatique des files
 d'impression
#CLIENT_POLLChoix de plusieurs serveurs pour l'impression #PRINTING_MANAGEMENT6 - Administration du système
 d'impression
#7_1Les bases #RESTARTINGRedémarrer le serveur CUPS #7_3Changer la configuration du serveur #7_4Directives de configuration du serveur #AccessLogAccessLog #AllowAllow #AuthClassAuthClass #AuthGroupNameAuthGroupName #AuthTypeAuthType #AutoPurgeJobsAutoPurgeJobs #BrowseAddressBrowseAddress #BrowseAllowBrowseAllow #BrowseDenyBrowseDeny #BrowseOrderBrowseOrder #BrowseIntervalBrowseInterval #BrowsePollBrowsePoll #BrowsePortBrowsePort #BrowseProtocolsBrowseProtocols #BrowseRelayBrowseRelay #BrowseShortNamesBrowseShortNames #BrowseTimeoutBrowseTimeout #BrowsingBrowsing #ClassificationClassification #ClassifyOverrideClassifyOverride #DataDirDataDir #DefaultCharsetDefaultCharset #DefaultLanguageDefaultLanguage #DenyDeny #DocumentRootDocumentRoot #EncryptionEncryption #ErrorLogErrorLog #FilterLimitFilterLimit #FontPathFontPath #GroupGroup #HideImplicitMembersHideImplicitMembers #HostNameLookupsHostNameLookups #ImplicitClassesImplicitClasses #ImplicitAnyClassesImplicitAnyClasses #IncludeInclude #KeepAliveKeepAlive #KeepAliveTimeoutKeepAliveTimeout #LimitLimit #LimitExceptLimitExcept #LimitRequestBodyLimitRequestBody #ListenListen #LocationLocation #LogLevelLogLevel #MaxClientsMaxClients #MaxJobsMaxJobs #MaxJobsPerPrinterMaxJobsPerPrinter #MaxJobsPerUserMaxJobsPerUser #MaxLogSizeMaxLogSize #MaxRequestSizeMaxRequestSize #OrderOrder #PageLogPageLog #PortPort #PreserveJobHistoryPreserveJobHistory #PreserveJobFilesPreserveJobFiles #PrintcapPrintcap #PrintcapFormatPrintcapFormat #PrintcapGUIPrintcapGUI #RemoteRootRemoteRoot #RequestRootRequestRoot #RequireRequire #RIPCacheRIPCache #RunAsUserRunAsUser #SatisfySatisfy #ServerAdminServerAdmin #ServerBinServerBin #ServerCertificateServerCertificate #ServerKeyServerKey #ServerNameServerName #ServerRootServerRoot #SSLListenSSLListen #SSLPortSSLPort #SystemGroupSystemGroup #TempDirTempDir #TimeoutTimeout #UserUser #PRINTING_SECURITYSécurité du système d'impression #CERTIFICATESAuthentification basée sur les certificats #7_5_2Utilisation de l'authentification "Basic" #7_5_3Utilisation de l'authentification "Digest" #7_5_4Authentifications "System" et "Group" #PRINTER_ACCOUNTINGSuivi/facturation de travaux et
 d'imprimantes
#7_6_1Le fichier access_log #7_6_2Le fichier error_log #7_6_3Le fichier page_log #FILE_TYPING_FILTERINGFiltrage et détermination des types
 de fichiers
#7_7_1Le fichier mime.types #7_7_2Le fichier mime.convs #7_7_3Ajouter des filtres et des types de fichiers #7_7_4Pilotes d'imprimantes et fichiers PPD #7_7_5Ecrire vos propres filtres ou pilotes d'imprimantes #PRINTING_OTHER7 - Imprimer depuis et vers d'autres
 systèmes
#8_1Les bases #8_2Imprimer depuis des clients LPD #8_3Imprimer vers des serveurs LPD #8_4Imprimer depuis des client Mac OS #8_4_1Columbia Appletalk Package (CAP) #8_4_2XINET KA/Spool #8_4_3NetATalk #8_5Imprimer vers des serveurs d'impression Mac OS #8_6Imprimer depuis des clients Windows #8_6_1Exporter les pilotes d'imprimantes #8_7Imprimer vers des serveurs d'impression Windows #LICENSEA - Licence d'utilisation du logiciel #9_1Common UNIX Printing System License Agreement #9_1_1Introduction #9_1_2Trademarks #9_1_3Binary Distribution Rights #9_1_4Support #9_2GNU GENERAL PUBLIC LICENSE #9_2_1Preamble #9_3GNU LIBRARY GENERAL PUBLIC LICENSE #9_3_1Preamble #COMMON_NETWORKB - Réglages réseau courants #10_1Configurer une interface réseau #10_1_1Configuration de l'adresse IP utilisant ARP #10_1_2Configuration de l'adresse IP utilisant RARP #10_1_3Configuration de l'adresse IP utilisant BOOTP #10_2Vérifier la connexion de l'imprimante #10_3Réglages d'interfaces réseau et serveur d'impression
 courants
#AXISConfiguration de serveurs d'impression Axis #LINKSYSConfiguration de serveurs d'impression Linksys #PRINTER_DRIVERSC - Pilotes d'imprimantes #11_1Pilotes d'imprimantes #EPSON9EPSON 9-pin Dot Matrix #EPSON24EPSON 24-pin Dot Matrix #STCOLOREPSON Stylus Color #STPHOTOEPSON Stylus Photo #DESKJETHP DeskJet #LASERJETHP LaserJet #FILESD - Liste des fichiers #FAQE - Résoudre les problèmes courants #13_1Mes applications ne voient pas les imprimantes
 disponibles
#13_2CUPS ne reconnaît pas mon nom d'utilisateur et mon
 mot de passe!
#ALLOW_REMOTEJe ne peux pas effectuer de tâches
 d'administration depuis un poste distant!
#13_4Je ne peux pas effectuer de tâches d'administration
 depuis mon navigateur "web"!
#13_5Messages "Connection Refused" #13_6Message "Write Error" Préface 
Ce manuel de l'administrateur fournit les informations
 d'administration pour le système d'impression CUPS
TM (Common
 UNIX Printing System
TM) version 1.1.14.
Note du traducteur : Amies lectrices, amis lecteurs, j'ai fait le choix de
 ne pas
 traduire
 l'expression anglaise "default" par la version
 française habituellent utilisée
 "par défaut" que l'on doit,
 entre autres, à la documentation d'un célèbre système d'exploitation
 "ouvert à tous vents".
 En effet, l'expression "par défaut" est normalement utilisée en
 mathématiques (arrondi "par défaut" ou "par excès", personnellement je
 cherche encore mon "imprimante par excès" !) mais elle est abusivement
 employée en informatique pour signifier "donnée/comportement qui
 s'applique si l'on n'en précise pas
 explicitement la
 valeur/nature/teneur".
 Or la langue française possède justement un mot pout exprimer ce
 concept : "implicite" (Larousse 1998 : "Qui est contenu dans une
 proposition sans être exprimé en termes précis formels; qui est la
 conséquence nécessaire."). Dans la mesure du possible, j'utiliserai cet
 adjectif sauf dans les cas où son emploi n'est pas suffisamment
 explicite
 (sic !). Je lui préfèrerai alors l'expression "... de
 base ..." ou l'adjectif "standard".
 Ce choix est totalement personnel et le fait que j'ai fait l'effort
 (non négligeable) de traduire ces lignes pour vos yeux délicats suffit
 à le justifier! Si, par malheur, ma prose vous est insupportable, je ne
 vous empêche aucunement de vous reporter à la version originale où vous
 retrouverez "default" entouré de tout le reste... en anglais, bien sûr.
 Enfin, si vous avez une meilleure traduction, je suis preneur !
 Malgré les très nombreuses relectures et corrections, certaines
 fautes de frappe, d'orthographe ou de grammaire ont pu échapper à ma
 vigilance (ou à celles de mes relecteurs/correcteurs). Merci de me les
 signaler afin de contribuer à l'amélioration constante de la qualité du
 présent manuel.
 Bonne lecture ! Aperçu du système 
CUPS fournit une couche d'impression portable pour les systèmes
 d'exploitation de type UNIX®. Il a été développé par 
http://www.easysw.comEasy Software Products
 pour promouvoir une solution d'impression
 standard pour tous les vendeurs et utilisateurs d'UNIX. CUPS fournit
 des interfaces en ligne de commande de type System V et Berkeley.
CUPS utilise le protocol IPP (Internet Printing Protocol) comme base
 de l'administration des travaux et files d'impression. Les protocoles
 LPD ("Line Printer Daemon"), SMB ("Server Message Block"), et AppSocket
 (JetDirect) sont également pris en charge avec des fontionnalités
 réduites. CUPS ajoute l'exploration réseau des imprimantes ("network
 printer browsing") et des options d'impression basées sur PPD
 ("PostScript Printer Definition") pour prendre en charge l'impression
 "dans le monde réel" sous UNIX.
CUPS inclut également une version adaptée de GNU/Ghostscript
 (actuellement basée sur la version 5.50) et un module de rendu (RIP -
 Raster Image Processor) pour fichier image qui sont utilisés pour
 prendre en charge les imprimantes non-PostScript. Des pilotes d'exemple
 (incluant ces filtres) pour imprimantes HP et EPSON sont également
 inclus.
Aperçu du document 
 Ce manuel de l'administrateur est organisé de la manière suivante:
#OVERVIEW1 - Aperçu du système d'impression #BUILDING_INSTALLING2 - Construire et installer CUPS #MANAGING_PRINTERS3 - Administration des imprimantes #PRINTER_CLASSES4 - Classes d'imprimantes #CLIENT_SETUP5 - Configuration côté client #PRINTING_MANAGEMENT6 - Administration du système
 d'impression
#PRINTING_OTHER7 - Imprimer depuis et vers d'autres
 système
#LICENSEA - Licence d'utilisation du logiciel (NdT : en
 anglais)
#COMMON_NETWORKB - Réglages réseau courants #PRINTER_DRIVERSC - Pilotes d'imprimantes #FILESD - Liste des fichiers #FAQE - Résoudre les problèmes courants Conventions d'écriture 
Abréviations 
 Les abréviations suivantes sont utilisées au cours de ce manuel:
koKilo-octets, ou 1024 octets
  MoMéga-octets, ou 1048576 octets
  GoGiga-octets, ou 1073741824 octets
  Autres références 
CUPS - Manuel du programmeur (en anglais)Un guide du programmeur pour interagir avec CUPS ou y ajouter des
 extensions.
  CUPS - Manuel de l'utilisateurUn guide d'utilisation pour l'utilisateur final du logiciel CUPS.
  1 - Aperçu du système d'impression 
Ce chapitre fournit un aperçu de la manière dont CUPS fonctionne.
Le problème d'impression 
Depuis des années le problème d'impression a empoisonné le
 monde UNIX. Contrairement à Microsoft® Windows® ou Mac OS, UNIX n'a pas
 d'interface standard ou de système en place pour prendre en charge les
 imprimantes. Parmi les solutions actuellement disponibles, les systèmes
 Berkeley et System V sont prédominants.
 Ces systèmes d'impressions prennent en charge les imprimantes de
 type matriciel texte ou les imprimantes PostScript (texte et
 graphique), et avec quelques ajustements il peuvent prendre en charge
 un grand nombre d'imprimantes et de formats de fichiers. Cependant,
 puisque chaque version de système d'exploitation UNIX utilise un
 système d'impression différent de celui de son voisin, il est
 extrêmement difficile de développer des pilotes d'imprimantes pour une
 vaste gamme d'imprimantes et de systèmes d'exploitation. Ceci, combiné
 au faible nombre de clients pour chaque variante d'UNIX, a poussé les
 fabricants d'imprimantes à abandonner la prise en charge globale de
 tous les UNIX.
 CUPS est conçu pour éliminer le problème d'impression. Un
 système d'impression commun peut être utilisé par toutes les variantes
 d'UNIX pour prendre en charge les capacités d'impression dont les
 utilisateurs ont besoin. Les fabricants d'imprimantes peuvent utiliser
 l'interface modulaire des filtres pour développer un unique pilote qui
 prend en charge une large gamme de formats de fichiers et ce, sans
 presque aucun effort. Etant donné que CUPS fournit une interface
 compatible avec les commandes Berkeley et System V, les utilisateurs
 (et les applications) peuvent tirer bénéfice de cette nouvelle
 technologie sans avoir à faire de changements.
La technologie 
 CUPS est basé sur un standard émergeant d'Internet appelé IPP
 (Internet Printing Protocol). IPP a été adopté par des douzaines de
 fabricants d'imprimantes et de serveurs d'impression et est pris en
 charge par Microsoft Windows 2000.
 IPP définit un protocole standard pour imprimer ainsi qu'administrer
 les travaux d'impression et les options des imprimantes telles que la
 taille du support d'impression, la résolution, etc. Comme tout
 protocole de la pile TCP/IP, IPP peut être utilisé localement ou à
 travers Internet pour atteindre des imprimantes éloignées de centaines
 ou de milliers de kilomètres. Contrairement à d'autres protocoles de la
 pile TCP/IP, IPP prend en charge le contrôle d'accès,
 l'authentification et l'encryptage, ce qui fait de lui une solution
 d'impression bien plus efficace et sécurisée que ses ancêtres.
 IPP est une surcouche ajoutée au-dessus du protocole HTTP (HyperText
 Transport Protocol) qui est à la base des serveurs "web" sur
 l'Internet. Ceci permet aux utilisateurs de lire la documentation,
 vérifier les informations sur l'état des imprimantes ou du serveur,
 administrer les imprimantes, les classes d'imprimantes et les travaux
 d'impression en utilisant leur navigateur "web".
 CUPS fournit un système d'impression complet basé sur IPP/1.1
 prenant en charge l'authentification "Basic", "Digest" et par
 certificats locaux ainsi qu'un contrôle d'accès basé sur l'utilisateur,
 le domaine ou l'adresse IP. L'encryptage TLS sera disponible dans une
 future version de CUPS.
Travaux d'impression 
 Tout fichier ou groupe de fichiers soumis à l'impression est appelé
 un
 travail d'impression. Les travaux d'impression sont
 identifiés par un nombre unique en commençant à 1 et sont affectés à
 une destination particulière, généralement une imprimante. Les travaux
 d'impression peuvent également inclure des options associées telles que
 la taille du support d'impression, le nombre de copies et la priorité
 dans la file d'impression.
Classes d'imprimantes 
 CUPS prend en charge des collections d'imprimantes connues sous le
 nom de
 classes. Les travaux d'impression transmis à une classe
 d'imprimantes sont envoyés à la première imprimante disponible dans la
 classe.
Filtres 
Les filtres permettent à un utilisateur ou une application d'imprimer
 de nombreux types de documents sans effort supplémentaire. Les travaux
 d'impressions envoyés au serveur CUPS sont filtrés avant d'être envoyés
 à l'imprimante. Certains filtres convertissent les fichiers de travaux
 d'impression dans différents formats que l'imprimante peut comprendre.
 D'autres ne font que des sélections de page et des tris.
CUPS fournit des filtres pour imprimer de nombreux types de fichiers
 image, des fichier HP-GL/2, fichiers PDF et texte. CUPS fournit
 également des filtres PostScript et RIP (Raster Image Processor) qui
 convertissent les fichiers PostScript ou image en format "bitmap" qui
 peut être envoyé à une imprimante de type "matriciel" (NdT : il s'agit
 ici, des imprimantes dont l'impression est générée au moyen d'une
 grille de points comme l'étaient les vénérables imprimantes à aiguilles
 de notre enfance, mais pas seulement elles puisque les imprimantes à
 jet d'encre actuelles sont également de type matriciel... par
 opposition aux imprimantes laser dont la méthode de génération
 d'impression est différente.)
Programmes d'arrière-plan (Backends) 
Les programmes d'arrière-plan effectuent le travail le plus important
 : ils envoient les données d'impression à l'imprimante.
CUPS fournit des programmes d'arrière-plan pour imprimer via des
 ports de type parallèle, série, USB et à travers un réseau au moyen des
 protocoles IPP, JetDirect (AppSocket) et LPD (Line Printer Daemon). Des
 programmes d'arrière-plan additionnels sont disponibles sous forme de
 paquetage de service réseau comme le programme d'arrière_plan SMB
 inclus dans le célèbre logiciel SAMBA.
Les programmes d'arrière-plan sont également utilisés pour déterminer
 les périphériques disponibles. Au démarrage, chaque programme
 d'arrière-plan est interrogé afin de déterminer la liste des
 périphériques qu'il prend en charge, ainsi que toute information
 disponible. Cela permet au programme d'arrière-plan de gestion du port
 parallère d'indiquer à CUPS qu'une imprimante EPSON Stylus Color 600
 est branchée sur le port parallèle 1, par exemple.
Pilotes d'imprimantes 
Les pilotes d'imprimantes de CUPS consistent en un ou plusieurs
 filtres spécifiques à une imprimante. CUPS inclut des pilotes
 d'imprimantes d'exemple pour les imprimantes Deskjet et LaserJet
 Hewlett-Packard et les imprimantes EPSON jet d'encre couleur Stylus
 Color, Stylus Photo et les modèles 9 et 24 aiguilles matricielles. Bien
 que ces pilotes ne produisent pas des impressions de qualité optimale
 pour les différents modèles d'imprimantes, ils fournissent une
 impression de base et démontrent comment vous pouvez écrire vos propres
 pilotes d'imprimantes et les incorporer dans CUPS.
Réseau 
Les imprimantes et classes d'imprimantes sur le système local sont
 automatiquement partagées avec les autres systèmes sur le réseau. Cela
 vous permet de configurer un système hôte pour tous les autres. Les
 utilisateurs pourront sélectionner une imprimante locale par son nom ou
 une imprimante à distance en utilisant la syntaxe
 "nom_imprimante@serveur".
CUPS fournit également des classes d'imprimantes implicites (NdT : le terme "implicite" est ici la traduction litérale du même mot
 anglais "implicit" et non celle de l'expression "default". cf. ma
 remarque dans la préface du présent manuel. De toute façon, CUPS ne
 prévoit pas de "default class" c'est-à-dire de "classe de base", donc
 aucune ambiguïté possible ici.), qui sont des collections d'imprimantes
 ou de classes d'imprimantes qui portent le même nom. Cela vous permet
 de configurer de multiples serveurs pointant vers la même imprimante
 réseau physique, par exemple, de sorte que vous ne dépendez pas d'un
 seul serveur pour pouvoir imprimer. Etant donné que cette méthode vous
 permet de travailler avec des classes d'imprimantes, vous pouvez
 configurer de multiples serveurs et imprimantes sans jamais vous
 soucier d'un simple point en panne tant que tous les autres serveurs ne
 tombent pas en panne en même temps.
2 - Construire et
 installer CUPS
Ce chapitre décrit comment construire et installer CUPS. Si vous
 installez une distribution binaire (précompilée) du produit, veuillez
 vous reporter à la section,
#BINARY Installer une
 distribution binaire
.
Installer à partir d'une distribution du code source 
Cette section décrit comment compiler et installer CUPS sur votre
 système à partir du code source du produit.
Conditions nécessaires 
Vous aurez besoin d'un compilateur C et C++ conforme à la norme ANSI
 pour construire CUPS sur votre système. Comme son nom l'indique, CUPS
 est conçu pour fonctionner sur le système d'exploitation UNIX,
 cependant la plupart des librairies, des filtres et des programmes
 d'arrière-plan devraient également se compiler et fonctionner sous
 Microsoft Windows.
Pour les filtres de fichiers image et PostScript, vous aurez besoin
 des librairies JPEG, PNG, TIFF et ZLIB. CUPS se construira sans elles
 mais avec des fonctionnalités singulièrement réduites. Easy Software
 Products maintient un miroir des versions actuelles de ces librairies à
 l'adresse:
ftp://ftp.easysw.com/pub/librariesftp://ftp.easysw.com/pub/libraries Si vous faîtes des changements dans les pages de manuel vous aurez
 besoin de GNU groff ou d'un autre paquetage compatible nroff. GNU groff
 est disponible à l'adresse:
ftp://ftp.gnu.org/pub/groffftp://ftp.gnu.org/pub/groff La documentation est formatée en utilisant le programme HTMLDOC. Si
 vous voulez faire des changements, vous pouvez obtenir le programme
 HTMLDOC à l'adresse:
http://www.easysw.com/htmldochttp://www.easysw.com/htmldoc Enfin, vous aurez besoin d'un programme make qui
 comprend les directives 
include - les développeurs
 FreeBSD, NetBSD et OpenBSD devraient utiliser le programme 
gmake.
Compiler CUPS 
CUPS utilise GNU autoconf pour configurer les "makefiles" et le code
 source pour votre système. Tapez simplement la commande suivante pour
 configurer CUPS pour votre système:
./configure ENTREEL'installation standard installera CUPS dans les répertoires /etc
, /usr, et /var de votre système, ce
 qui écrasera toute commande d'impression existant déjà dans votre
 système. Utilisez l'option 
--prefix pour installer CUPS à
 un autre emplacement:
./configure --prefix=/autre/répertoire ENTREESi les librairies PNG, JPEG, TIFF, et ZLIB ne sont pas installées à
 un emplacement habituel du système (généralement il s'agit de
 /usr/include
 et /usr/lib) vous devrez définir les
 variables d'environnement 
CFLAGS, CXXFLAGS,
 et 
LDFLAGS avant d'exécuter la commande configure:
setenv CFLAGS "-I/some/directory" ENTREEsetenv CXXFLAGS "-I/some/directory" ENTREEsetenv LDFLAGS "-L/some/directory" ENTREEsetenv DSOFLAGS "-L/some/directory" ENTREE./configure ... ENTREEou:
CFLAGS="-I/some/directory"; export CFLAGS ENTREECXXFLAGS="-I/some/directory"; export CXXFLAGS ENTREELDFLAGS="-L/some/directory"; export LDFLAGS ENTREEDSOFLAGS="-L/some/directory"; export DSOFLAGS ENTREE./configure ... ENTREEPour activer le support de l'encryptage, vous devrez également
 activer l'option "--enable-ssl":
./configure --enable-ssl
La prise en charge SSL et TLS nécessite la librairie OpenSSL,
 disponible à l'adresse:
http://www.openssl.orghttp://www.openssl.org Si les en-têtes et les librairies OpenSSL ne sont pas installées dans
 les répertoires standards, utilisez les options 
--with-openssl-includes
 et --with-openssl-libs:
./configure --enable-ssl \
    --with-openssl-includes=/foo/bar/include \
    --with-openssl-libs=/foo/bar/lib
Une fois que vous avez configuré toutes ces choses, tapez simplement:
make ENTERpour compiler le logiciel.
Installer le logiciel 
Utilisez la cible "install" pour installer le logiciel:
make install ENTREE  AVERTISSEMENT:Installer CUPS écrasera votre système d'impression précédent. Si vous
 rencontrez des difficultés avec le logiciel CUPS et devez revenir à
 votre ancien système d'impression, vous devrez réinstaller celui-ci à
 partir de CD originaux de votre système d'exploitation.
Exécuter le logiciel 
Une fois que vous avez installé le logiciel vous pouvez démarrer le
 serveur CUPS en tapant:
/usr/sbin/cupsd ENTREE Installer une distribution binaire du logiciel 
CUPS est fourni dans une variété de formats binaires. Easy Software
 Products fournit des binaires sous forme d'archives au format TAR avec
 des scripts d'installation et de désinstallation (distributiond dites
 "portables"), sous forme de format RPM et DPKG pour les distributions
 RedHat et Debian. Les distributions portables sont disponibles pour
 toutes les plateformes tandis que les distributions RPM et DPKG ne le
 sont que pour GNU/Linux
 AVERTISSEMENT:Installer CUPS écrasera votre système d'impression précédent. Si vous
 rencontrez des difficultés avec le logiciel CUPS et devez revenir à
 votre ancien système d'impression, vous devrez réinstaller celui-ci à
 partir de CD originaux de votre système d'exploitation.
Installer une distribution portable 
Pour installer le logiciel CUPS à partir d'une distribution portable
 vous devrez ouvrir une session en tant qu'utilisateur root; utiliser la
 commande 
su est suffisant. Une fois que vous êtes
 utilisateur root, lancer le script d'installation avec la commande:
./cups.install ENTREEAprès vous avoir posé quelques questions de type oui/non, le logiciel
 CUPS va s'installer et l'ordonnanceur sera démarré automatiquement.
Installer une distribution de type RPM 
Pour installer le logiciel CUPS à partir d'une distribution RPM vous
 devez ouvrir une session en tant qu'utilisateur root; utiliser la
 commande 
su est suffisant. Une fois connecté en tant
 qu'utilisateur root, lancez simplement RPM au moyen de la commande:
rpm -e lprrpm -i cups-1.1-linux-M.m.n-intel.rpm ENTREEAprès un petit délai, le logiciel CUPS sera installé et
 l'ordonnanceur sera démarré automatiquement.
Installer une distribution de type DEBIAN 
Pour installer le logiciel CUPS à partir d'une distribution DEBIAN
 vous devez ouvrir une session en tant qu'utilisateur root; utiliser la
 commande 
su est suffisant. Une fois connecté en tant
 qu'utilisateur root, lancez simplement dpkg au moyen de la commande:
dpkg -i cups-1.1-linux-M.m.n-intel.deb ENTREEAprès un court délai, le logiciel CUPS sera installé et
 l'ordonnanceur sera automatiquement démarré.
3 - Administration les
 imprimantes
Ce chapitre décrit comment ajouter votre première imprimante et
 comment administrer vos imprimantes.
Les bases 
Chaque file d'impression a un nom associé; le nom de l'imprimante
 doit commencer avec une lettre et peut comporter jusqu'à 127 lettres,
 des chiffres ou un caractère de soulignement "_" ("underscore"). La
 casse des caractères n'est pas significative, par exemple les chaînes
 de caractères "IMPRIMANTE", "Imprimante" et "imprimante" sont
 considérées comme le même nom.
Les files d'impression ont également un périphérique associé. Ce
 périphérique peut être un port parallèle, une interface réseau, etc.
 Les périphériques dans CUPS utilisent des URI (Uniform Resource
 Identifiers) qui sont une forme plus générale des URL (Uniform Resource
 Locator) qui sont utilisés par votre noavigateur "web". Par exemple, le
 premier port parallèle dans GNU/Linux est habituellement désigné par
 l'URI de périphérique 
parallel:/dev/lp1.
Vous pouvez voir une liste complète des périphériques pris en charge
 en lançant la commande 
lpinfo(8):
lpinfo -v ENTREEfile file
network socket
network http
network ipp
network lpd
direct parallel:/dev/lp1
serial serial:/dev/ttyS1?baud=115200
serial serial:/dev/ttyS2?baud=115200
direct usb:/dev/usb/lp0
network smb
L'option -v indique que vous voulez la liste de tous les
 périphériques disponibles. Le premier mot de chaque ligne est le type
 de périphérique (direct, fichier, réseau, série) et est suivi par l'URI
 du périphérique ou le nom de la méthode d'accès à ce périphérique. Les
 périphériques de type fichier ont des URI de périphérique de la forme 
file:/répertoire/nom_fichier
 tandis que les périphériques réseau
 utilisent la forme plus familière 
methode://serveur ou méthode://serveur/chemin
.
Enfin, les files d'impression ont généralement un fichier PPD
 (PostScript Printer Definition) associé. Les fichiers PPD décrivent les
 capacités de chaque imprimante, les tailles de support prises en
 charge, etc., et sont utilisés pour les imprimantes PostScript et
 non-PostScript. CUPS inclut des fichiers PPD pour les imprimantes HP
 LaserJet et Deskjet, EPSON Stylus, et EPSON 9 et 24 aiguilles.
Ajouter votre première imprimante 
CUPS fournit deux méthodes pour ajouter des imprimantes : un
 programme en ligne de commande nommé 
lpadmin(8) et une
 inteface "web". La commande 
lpadmin vous permet
 d'effectuer la plupart des tâches d'administration d'imprimantes à
 partir de la ligne de commande, elle est située dans le répertoire
 /usr/sbin
. L'interface "web" est disponible à l'adresse:
http://localhost:631/adminhttp://localhost:631/admin et vous quide pas à pas au travers des étapes de configuration
 d'imprimante. Si vous n'aimez pas les interfaces en ligne de commande,
 essayez plutôt 
#ADD_WEBl'interface web .
Ajouter votre première imprimante depuis la ligne de
 commande
Exécutez la commande lpadmin avec l'option -p pour ajouter une imprimante à CUPS:
/usr/sbin/lpadmin -p imprimante -E -v périphérique -m ppd ENTREEPour une imprimante HP DeskJet connectée au port parallèle, la
 commande serait:
/usr/sbin/lpadmin -p DeskJet -E -v parallel:/dev/lp1 -m deskjet.ppd ENTREEDe la même manière, une imprimante HP LaserJet utilisant une
 interface réseau de type JetDirect à l'adresse IP 11.22.33.44 serait
 ajoutée avec la commande:
/usr/sbin/lpadmin -p LaserJet -E -v socket://11.22.33.44 -m laserjet.ppd ENTREEComme vous pouvez le voir, deskjet.ppd et laserjet.ppd
 sont les fichiers PPD pour les pilotes HP DeskJet et
 HP LaserJet inclus dans CUPS. Vous trouverez une liste complète des
 fichiers PPD ainsi que celle des imprimantes avec lesquelles ils
 fonctionnent dans l'
#PRINTER_DRIVERSAnnexe C, "Pilotes
 d'imprimantes"
.
Pour une imprimante matricielle à aiguilles connectée au port série,
 la commande serait:
/usr/sbin/lpadmin -p DotMatrix -E -v serial:/dev/ttyS0?baud=9600+size=8+parity=none+flow=soft deskjet.ppd ENTREEIci, vous indiquez le port série (par exemple S0, S1, d0, s1), le
 taux de transfert en bauds (par exemple 9600, 19200, 38400, 115200,
 etc.), le nombre de bits de partié, et le contrôle de flux. Si vous
 n'avez pas besoin de contrôle de flux, supprimez la partie
 "+flow=soft".
Ajouter votre première imprimante depuis
 l'interface "web"
Le serveur CUPS fournit une interface ergonomique sous forme d'un
 assistant ("wizard") pour ajouter les imprimantes. Plutôt que devoir
 déterminer quel URI de périphérique et quel fichier PPD utiliser, vous
 cliquez simplement sur l'option adéquate de la liste et vous remplissez
 quelques champs de formulaires avec des informations simples. Entrez
 l'adresse suivante dans votre navigateur "web" pour commencer:
http://localhost:631/adminhttp://localhost:631/admin Cliquez sur le bouton Ajouter imprimante pour en ajouter
 une.
Administrer les imprimantes depuis la ligne de
 commande
La commande lpadmin vous permet d'effectuer la plupart
 des tâches d'administration d'imprimantes depuis la ligne de commande.
 Vous trouverez 
lpadmin dans le répertoire /usr/bin.
Ajouter et modifier des imprimantes 
Exécutez la commande lpadmin avec l'option -p pour ajouter ou modifier une imprimante.
/usr/sbin/lpadmin -p imprimante options ENTREELes arguments options peuvent être n'importe lesquels parmi:
-c classeAjoute l'imprimante nommée à la classe d'imprimantes classe. Si la classe d'imprimantes n'existe pas alors elle est créée.
-i interfaceCopie le script pour l'interface vers l'imprimante. Les
 scripts d'interface sont utilisés par les pilotes d'imprimantes System
 V. Etant donné que tous les filtres sont désactivés lorsque les scripts
 d'interface sont employés, les scripts ne devraient normalement jamais
 être utilisés à moins qu'il n'y ait aucun autre pilote pour
 l'imprimante.
-m modèleIndique une pilote d'imprimante standard qui est généralement un
 fichier PPD. Une liste de tous les modèles disponibles peut être
 affichée au moyen de l'option 
-m. Une liste de tous les
 pilotes d'imprimantes inclus dans CUPS peut être consultée dans l'
#PRINTER_DRIVERSAnnexe C, "Pilotes d'imprimantes"
.-r classeRetire l'imprimante spécifiée de la classe d'imprimantes classe. Si la classe qui en résulte est vide, elle est supprimée.
-v uri-périphériqueIndique le périphérique à employer pour dialoguer avec l'imprimante.
 Si un travail d'impression est actuellement en cours d'édition sur
 l'imprimante spécifiée, il est relancé et envoyé au nouveau
 périphérique.
-D infoFournit une description textuelle de l'imprimante, par exemple
 "Imprimante personnelle de Marcel".
-EActive l'imprimante et accepte les travaux d'impression. Cette
 option équivaut à exécuter les commandes 
enable(1) et accept(8)
.-L emplacementFournit une description textuelle de l'emplacement de l'imprimante,
 par exemple "Salle informatique n°5".
-P fichier-ppdIndique un fichier PPD local pour le pilote d'imprimante. Supprimer des imprimantes 
Exécutez la commande lpadmin avec l'option -x pour supprimer une imprimante:
/usr/sbin/lpadmin -x printer ENTREE Choisir l'imprimante implicite 
Exécutez la commande lpadmin avec l'option -d pour définir l'imprimante standard:
/usr/sbin/lpadmin -d printer ENTREEL'imprimante standard peut-être outrepassée par l'utilisateur au
 moyen de la commande 
lpoptions(1).
Démarrer et arrêter des imprimantes 
Les commandes enable et disable démarrent
 et arrêtent les files d'impression, avec les syntaxes respectives
 suivantes :
/usr/bin/enable imrimante ENTREE/usr/bin/disable imprimante ENTREENote du traducteur : utilisateurs du shell BASH attention !
 
enable est une commande interne de celui-ci. Si vous tapez
 simplement 
enable vous obtiendrez un message d'erreur car
 c'est la version interne de BASH qui sera utilisée en standard. Pour
 effectivement utiliser la commande 
enable de CUPS vous devez
 faire précéder son nom du chemin d'accès complet : /usr/bin/enable
.
Les imprimantes qui sont désactivées peuvent toujours accepter les
 travaux d'impression mais n'en imprimeront effectivement aucun tant
 qu'elle ne seront pas réactivées. Cela est utile si une imprimante
 fonctionne mal et que vous avez besoin de corriger le problème
 (bourrage). Tout travail d'impression mis en file d'attente est imprimé
 dès que la l'imprimante est réactivée.
Accepter et rejeter les travaux d'impression 
Les commandes accept et reject permettent
 respectivement d'indiquer à une imprimante qu'elle doit accepter ou
 rejeter les nouveaux travaux d'impression:
/usr/sbin/accept imprimante ENTREE/usr/sbin/reject imprimante ENTREEComme indiqué ci-dessus, une imprimante peut être configurée pour ne
 plus accepter de nouveaux travaux d'impression. Une imprimante peut
 aussi rejeter les nouveaux travaux d'impression bien qu'elle soit en
 train de terminer le traitement de ceux qui ont été mis en file
 d'attente avant que celle-ci soit désactivée. Ceci est utile si vous
 avez besoin d'effectuer des opérations de maintenance sur l'imprimante
 et que vous ne voulez pas qu'elle soit disponible pour les utilisateurs
 pendante une longue période.
Administrer les imprimantes depuis l'interface "web" 
L'interface "web" est disponible à l'adresse:
http://localhost:631/adminhttp://localhost:631/admin Depuis celle-ci vous pouvez effectuer toutes les tâches
 d'administrations sur les imprimantes au moyen de quelques clics de
 souris.
4 - Classes d'imprimantes 
Ce chapitre décrit ce que sont les classes d'imprimantes et comment
 les administrer.
Les bases 
CUPS fournit des collections d'imprimantes appelées classes
 d'imprimantes
. Les travaux soumis à une classe sont transmis à la
 première imprimante disponible de la classe. Les classes peuvent elles
 auusi être membres d'autres classes, ainsi il est possible que vous
 définissiez de grandes classes réparties afin de fournir un système
 d'impression à haute disponibilité.
CUPS prend également en charge les classe implicites. Les
 classes implicites fonctionnent comme les classes d'imprimantes, mais
 elles sont créées automatiquement à partir des classes et imprimantes
 disponibles sur le réseau. Cela vous permet de configurer de multiples
 serveurs d'impression avec des configurations d'imprimantes identiques
 de sorte que les systèmes clients envoient des travaux d'impression au
 premier serveur disponible. Si un ou plusieurs serveurs deviennent
 indisponibles, les travaux d'impressions sont automatiquement redirigés
 vers les serveurs encore en fonctionnement, fournissant ainsi un
 système d'impression résistant aux pannes.
Administrer les classes d'imprimantes depuis la ligne
 de commande
Exécutez la commande lpadmin avec les options -p et 
-c pour ajouter une classe d'imprimantes:
/usr/sbin/lpadmin -p imprimante -c classe ENTREELa classe est créée automatiquement si elle n'existe pas. Pour
 retirer une imprimante d'une classe, utilisez l'option 
-r:
/usr/sbin/lpadmin -p imprimante -r classe ENTREEPour enlever toute la classe, utilisez l'option -x:
/usr/sbin/lpadmin -x classe ENTREE Administrer les classes d'imprimante depuis
 l'interface "web"
L'interface "web" est disponible à l'adresse:
http://localhost:631/adminhttp://localhost:631/admin Les pages Ajouter classe et Modifier classe fournissent une liste des imprimantes disponibles. Cliquez sur la ou
 les imprimantes de votre choix pour les ajouter à la classe.
Classes implicites 
Comme indiqué auparavant, les classes implicites sont automatiquement
 créées à partir des imprimantes et des classes disponibles sur le
 réseau. Pour désactiver cette fonctionnalité, réglez la valeur de la
 directive 
#ImplicitClassesImplicitClasses  sur 
Off dans le fichier cupsd.conf. Vous
 trouverez plus d'information sur la manière de faire cela dans le 
#PRINTING_MANAGEMENT Chapitre 6, "Administration du système d'impression"
.
5 - Configuration côté client 
Ce chapitre expose diverses manières de configurer les clients CUPS
 pour pouvoir imprimer.
Les bases 
Un client est toute machine qui envoie des travaux d'impression à une
 autre machine pour édition finale. Les clients peuvent également être
 des serveurs s'il communiquent directement avec des imprimantes qui
 leur appartiennent.
CUPS prend en charge plusieurs méthodes pour configurer les machines
 clientes:
#CLIENT_MANUALConfiguration manuelle des files
 d'impression.
#CLIENT_SERVERChoix d'un serveur unique pour
 l'impression.
#CLIENT_AUTOConfiguration automatique des files
 d'impression.
#CLIENT_POLLChoix de plusieurs serveurs pour
 l'impression.
Configuration manuelle des files
 d'impression
La méthode la plus fastidieuse pour configurer les machines clientes
 est de configurer chaque file d'impression à distance à la main au
 moyen de la commande 
lpadmin:
lpadmin -p imprimante -E -v ipp://serveur/printers/imprimante ENTREELe nom imprimante est le nom de l'imprimante sur la machine
 serveur. Le nom 
serveur est le nom d'hôte ou l'adresse IP
 de la machine serveur. Répètez la commande 
lpadmin pour
 chaque imprimante distante que vous désirez utilser.
Choix d'un serveur unique pour l'impression 
CUPS peut être configuré pour fonctionnner sans file d'attente locale
 et envoyer tous les travaux d'impression à un serveur unique.
 Cependant, si ce serveur vient à tomber en panne, toute possibilité
 d'imprimer sera supprimée. Utilisez cette configuration uniquement
 lorsque c'est absolument nécessaire.
Le serveur implicite est normalement "localhost". Pour outrepasser ce
 réglage de base, créez un fichier nommé
 /etc/cups/client.conf et ajoutez une ligne:
ServerName 
serveurau fichier. Le nom serveur peut être le nom d'hôte ou
 l'adresse IP du serveur implicite.
Le serveur implicite peut également être adapté en fonction de
 l'utilisateur. Pour créer un réglage spécifique à l'utilisateur, créez
 un fichier nommé
 ~/.cupsrc et ajoutez une ligne:
ServerName 
serveur
au fichier. Le nom serveur peut être le nom d'hôte ou
 l'adresse IP du serveur implicite.
Configuration automatique des files
 d'impression
CUPS prend en charge la configuration automatique des clients pour
 les imprimantes sur le même sous-réseau. Pour configurer des
 imprimantes présentes sur le même sous-réseau,
 ne faîtes rien.
 Chaque client devrait voir automatiquement les imprimantes disponibles
 dans un délai de 30 secondes. Les listes des classes et des imprimantes
 sont automatiquement mises à jour chaque fois que des imprimantes et
 des serveurs sont ajoutés ou retirés.
Si vous désirez également voir les imprimantes sur d'autres
 sous-réseau, utilisez la directive 
#BrowsePollBrowsePoll
 comme indiqué ci-après.
Choix de plusieurs serveurs pour l'impression 
Si vous disposez de plusieurs serveurs CUPS sur plusieurs
 sous-réseaux, vous devriez configurer CUPS pour surveiller ces
 serveurs. La surveillance fournit l'avantage d'automatiser
 singulièrement la configuration sur les clients, et plusieurs clients
 sur le même sous-réseau peuvent partager les mêmes informations de
 configuration.
La surveillance est activée en indiquant une ou plusieurs directives #BrowsePollBrowsePoll  dans le fichier /etc/cups/cupsd.conf
. Pour savoir comment faire ces changements,
 veuillez vous reporter au 
#PRINTING_MANAGEMENT Chapitre 6,
 "Administration du système d'impression"
.
6 - Administration du
 système d'impression
Ce chapitre montre comment configurer le serveur CUPS.
Les bases 
Plusieurs fichiers texte sont utilisés pour configurer CUPS. Tous les
 fichiers de configuration du serveur sont placés dans le répertoire
 /etc/cups
:
classes.confCe fichier contient les informations sur chaque classe d'imprimante.
 Normalement vous manipulez ce fichier en utilisant la commande 
lpadmin
 ou l'interface "web".
  
client.conf Ce fichier fournit le nom du serveur implicite pour les machines
 clientes. Veuillez vous reporter au 
#CLIENT_SETUPChapitre 5,
 "Configuration côté client"
 pour de plus amples informations.
  
cupsd.conf Ce fichier contrôle la manière de fonctionner sur serveur CUPS (/usr/sbin/cupsd
) et est normalement édité à la main.
  
mime.convsCe fichier contient une liste des filtres de base pour la conversion
 de fichier et leurs coûts respectifs. Normalement, vous n'éditerez pas
 ce fichier.
  
mime.typesCe fichier contient la liste des formats de fichiers standards et
 comment les reconnaître. Normalement, vous n'éditerez pas ce fichier.
  
printers.conf Ce fichier contient des informations sur chaque imprimante.
 Normalement, vous manipulez ce fichier en utilisant la commande 
lpadmin
 ou l'interface "web".
  Redémarrer le serveur CUPS 
Une fois que vous avez fait des changements au fichier de
 configuration, vous devez redémarrer le serveur CUPS en lui envoyant un
 signal 
HUP ou en utilisant le script d'initialisation
 adéquat. Les distributions de CUPS installent le script dans le
 répertoire
 init.d sous le nom cups. L'emplacement
 varie selon le système d'exploitation:
/etc/rc.d/init.d/cups restart ENTREE/etc/init.d/cups restart ENTREE/sbin/init.d/cups restart ENTREE Changer la configuration du serveur 
Le fichier /etc/cups/cupsd.conf contient des directives de configuration qui contrôlent le fonctionnement du serveur. Chaque
 directive suivie de sa valeur est disposée seule sur une ligne. Les
 commentaires sont ouverts par le signe dièse ("#") au début de la
 ligne. Etant donné que le fichier de configuration du serveur est un
 fichier texte, vous pouvez le modifier au moyen de votre éditeur de
 texte préféré.
Directives de configuration du serveur 
Le fichier cupsd.conf contient de nombreuses directives
 qui déterminent le comportement du serveur:
#AccessLogAccessLog #AllowAllow #AuthClassAuthClass #AuthGroupNameAuthGroupName #AuthTypeAuthType #AutoPurgeJobsAutoPurgeJobs #BrowseAddressBrowseAddress #BrowseAllowBrowseAllow #BrowseDenyBrowseDeny #BrowseIntervalBrowseInterval #BrowseOrderBrowseOrder #BrowsePollBrowsePoll #BrowsePortBrowsePort #BrowseProtocolsBrowseProtocols #BrowseRelayBrowseRelay #BrowseShortNamesBrowseShortNames #BrowseTimeoutBrowseTimeout #BrowsingBrowsing #ClassificationClassification #ClassifyOverrideClassifyOverride #DataDirDataDir #DefaultCharsetDefaultCharset #DefaultLanguageDefaultLanguage #DenyDeny #DocumentRootDocumentRoot     #EncryptionEncryption #ErrorLogErrorLog #FilterLimitFilterLimit #FontPathFontPath #GroupGroup #HideImplicitMembersHideImplicitMembers #HostNameLookupsHostNameLookups #ImplicitClassesImplicitClasses #ImplicitAnyClassesImplicitAnyClasses #IncludeInclude #KeepAliveTimeoutKeepAliveTimeout #KeepAliveKeepAlive #LimitLimit #LimitExceptLimitExcept #LimitRequestBodyLimitRequestBody #ListenListen #LocationLocation #LogLevelLogLevel #MaxClientsMaxClients #MaxJobsMaxJobs #MaxJobsPerPrinterMaxJobsPerPrinter #MaxJobsPerUserMaxJobsPerUser #MaxLogSizeMaxLogSize #MaxRequestSizeMaxRequestSize #OrderOrder     #PageLogPageLog #PortPort #PreserveJobFilesPreserveJobFiles #PreserveJobHistoryPreserveJobHistory #PrintcapPrintcap #PrintcapFormatPrintcapFormat #PrintcapGUIPrintcapGUI #RemoteRootRemoteRoot #RequestRootRequestRoot #RequireRequire #RIPCacheRIPCache #RunAsUserRunAsUser #SatisfySatisfy #ServerAdminServerAdmin #ServerBinServerBin #ServerCertificateServerCertificate #ServerKeyServerKey #ServerNameServerName #ServerRootServerRoot #SSLListenSSLListen #SSLPortSSLPort #SystemGroupSystemGroup #TempDirTempDir #TimeoutTimeout #UserUser AccessLog 
Exemples
AccessLog /var/log/cups/access_log
AccessLog /var/log/cups/access_log-%s
AccessLog syslog
Description
La directive AccessLog donne le nom du fichier de suivi
 d'accès ("access log"). Si le chemin d'accès au fichier n'est pas
 absolu, il est considéré comme relatif au répertoire
#ServerRootServerRoot . Le fichier "access log" est stocké dans le
 format "log" habituel et peut aisément être utilisé par tout outil
 d'analyse d'accès "web" pour générer un rapport sur l'activité du
 serveur CUPS.
Le nom du serveur peut être inclus dans le nom du fichier en
 utilisant 
%s dans le nom.
Le nom spécial "syslog" peut être utilisé pour envoyer les
 informations d'accès au fichier de suivi système au lieu d'un simple
 fichier texte.
Le fichier de suivi d'accès implicite est /var/log/cups/access_log
.
Allow 
Exemples
Allow from All
Allow from None
Allow from *.domain.com
Allow from .domain.com
Allow from host.domain.com
Allow from nnn.*
Allow from nnn.nnn.*
Allow from nnn.nnn.nnn.*
Allow from nnn.nnn.nnn.nnn
Allow from nnn.nnn.nnn.nnn/mm
Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
Description
La directive Allow indique un nom d'hôte, une adresse IP
 ou un réseau qui est autorisé à accéder au serveur. Les directives 
Allow
 se cumulent, ainsi plusieurs directives Allow peuvent être utilisées pour autoriser l'accès à de multiples hôtes
 et/ou réseaux. La notation 
/mm indique une notation de
 sous-réseau CIDR:
mmnetmask mm
netmask 0 0.0.0.0  8
255.0.0.0 1 128.0.0.0  16
255.255.0.0 2 192.0.0.0  24
255.255.255.0 ... ...  32
255.255.255.255 
La directive Allow doit apparaître à l'intérieur d'une
 directive 
#LocationLocation .
AuthClass 
Exemples
AuthClass Anonymous
AuthClass User
AuthClass System
AuthClass Group
Description
La directive AuthClass définit le niveau
 d'authentification requis:
Anonymous - Pas d'authentification nécessaire. C'est la
 valeur implicite
User - Un nom d'utilisateur et un mot de passe valides
 sont requis.
System - Un nom d'utilisateur et un mot de passe
 valides sont requis, et cet utilisateur doit être membre du groupe
 "sys"; cela peut être changé au moyen de la directive
#SystemGroupSystemGroup .Group - Un nom d'utilisateur et un mot de passe valides
 sont requis, et cet utilisateur doit être membre du groupe indiqué dans
 la directive 
AuthGroupName.La directive AuthClass doit apparaître à l'intérieur
 d'une directive
#Location Location .
AuthGroupName 
Exemples
AuthGroupName mygroup
AuthGroupName lp
Description
La directive AuthGroupName définit le groupe à utiliser
 pour l'authentification de type 
Group.
La directive AuthGroupName doit apparaître à l'intérieur
 d'une directive 
#Location Location .
AuthType 
Exemples
AuthType None
AuthType Basic
AuthType Digest
AuthType BasicDigest
Description
La directive AuthType définit le type d'authentification
 qui doit être effectuée:
None - Pas d'authentification. C'est la valeur
 implicite
Basic - Une authentification "Basic" doit être
 effectuée en utilisant le fichier de mots de passe et de groupe d'UNIX.
Digest - Une authentification "Digest" doit être
 effectuée en utilisant le fichier
 /etc/cups/passwd.md5.BasicDigest - Une authentification "Basic" doit être
 effectuée en utilisant le fichier
 /etc/cups/passwd.md5. Lorsque vous utilisez Basic, Digest, ou BasicDigest
, les clients se connectant en utilisant l'adresse localhost
 peuvent également le faire en utilisant les #CERTIFICATEScertificats
.
La directive AuthType doit apparaître à l'intérieur
 d'une directive 
#Location Location .
AutoPurgeJobs 
Exemples
AutoPurgeJobs Yes
AutoPurgeJobs No
Description
La directive AutoPurgeJobs indique si oui ou non il faut
 purger les travaux d'impression lorsqu'ils ne sont plus nécessaires au
 vu des quotas. Cet option n'a aucun effet si les quotas ne sont pas
 activés. La valeur implicite est 
No.
BrowseAddress 
Exemples
BrowseAddress 255.255.255.255:631
BrowseAddress 192.0.2.255:631
BrowseAddress host.domain.com:631
Description
La directive BrowseAddress indique une adresse à
 laquelle il faut envoyer les informations d'exploration. Plusieurs
 directives 
BrowseAddress peuvent être indiquées pour
 envoyer les informations d'exploration à différents systèmes ou
 réseaux.
La valeur implicite de l'adresse est 255.255.255.255:631 ce qui diffusera les informations à tous les réseaux auxquels le
 serveur est connecté.
 NOTA:Si vous utilisez HP-UX 10.20 sur un sous-réseau dont le masque n'est
 pas sur 24, 16 ou 8 bits, l'exploration des imprimantes (et en fait
 toute réception d'information diffusée) ne fonctionnera pas. Ce
 problème semble résolu dans HP-UX 11.0.
BrowseAllow 
Exemples
BrowseAllow from all
BrowseAllow from none
BrowseAllow from 192.0.2
BrowseAllow from 192.0.2.0/24
BrowseAllow from 192.0.2.0/255.255.255.0
BrowseAllow from *.domain.com
Description
La directive BrowseAllow indique un système dont on
 accepte de recevoir des paquets d'exploration. Le comportement
 implicite est d'accepter des paquets d'exploration de n'importe quel
 hôte.
Le contrôle sur la base du nom d'hôte et de domaine impose que vous
 activiez la directive 
#HostNameLookupsHostNameLookups .
Le contrôle sur la base de l'adresse IP prend en charge les
 correspondances exactes, les adresses partielles qui correspondent à
 des réseaux dont le masque est 255.0.0.0, 255.255.0.0, et
 255.255.255.0, ou des adresses réseau utilisant le masque indiqué.
BrowseDeny 
Exemples
BrowseDeny from all
BrowseDeny from none
BrowseDeny from 192.0.2
BrowseDeny from 192.0.2.0/24
BrowseDeny from 192.0.2.0/255.255.255.0
BrowseDeny from *.domain.com
Description
La directive BrowseDeny indique un système dont on
 refuse de recevoir des paquets d'exploration. Le comportement implicite
 est de ne refuser aucun paquet d'exploration d'aucun hôte.
Le contrôle sur la base du nom d'hôte et de domaine impose que vous
 activiez la directive 
#HostNameLookupsHostNameLookups .
Le contrôle sur la base de l'adresse IP prend en charge les
 correspondances exactes, les adresses partielles qui correspondent à
 des réseaux dont le masque est 255.0.0.0, 255.255.0.0, et
 255.255.255.0, ou des adresses réseau utilisant le masque indiqué.
BrowseOrder 
Exemples
BrowseOrder allow,deny
BrowseOrder deny,allow
Description
La directive BrowseOrder indique l'ordre de traitement
 accord/refus. L'ordre implicite est 
deny,allow:
allow,deny - Les paquets d'exploration sont acceptés à
 moins qu'ils ne soient explicitement refusés.
deny,allow - Les paquets d'exploration sont rejetés à
 moins qu'ils ne soient explicitement acceptés.
BrowseInterval 
Exemples
BrowseInterval 0
BrowseInterval 30
Description
La directive BrowseInterval indique le délai maximum
 entre deux mises à jour de l'exploration. Le fait d'indiquer une valeur
 de 0 interdit de diffuser des mises à jour mais autorise néanmoins un
 serveur à recevoir des mises à jour en provenance d'autres hôtes.
La valeur BrowseInterval devrait toujours être
 inférieure à la valeur 
#BrowseTimeoutBrowseTimeout . Sinon des imprimantes et des classes pourraient disparaître des
 système clients entre les mises à jour.
BrowsePoll 
Exemples
BrowsePoll 192.0.2.2:631
BrowsePoll host.domain.com:631
Description
La directive BrowsePoll collecte la liste des
 imprimantes disponibles sur un serveur une fois toutes les 
#BrowseIntervalBrowseInterval  secondes. Plusieurs directives BrowsePoll
 peuvent être indiquées pour surveiller plusieurs
 serveurs.
Si BrowseInterval est mis à 0 alors le serveur est
 surveillé une fois toutes les 30 secondes.
BrowsePort 
Exemples
BrowsePort 631
BrowsePort 9999
Description
 La directive BrowsePort indique un numéro de port UDP à
 employer pour les échanges de paquets d'exploration. La valeur
 implicite est 631.
 NOTE:Vous devez choisir une valeur identique pour la directive BrowsePort
 sur tous les systèmes que vous voulez voir.
BrowseProtocols 
Exemples
BrowseProtocols CUPS
BrowseProtocols SLP
BrowseProtocols CUPS SLP
BrowseProtocols all
Description
La directive BrowseProtocols indique les protocoles à
 employer pour collecter et distribuer les informations sur les
 imprimantes partagées sur le réseau local. Le protocole implicite est 
CUPS
, c'est un protocole basé sur la diffusion réseau
 ("broadcast").
 NOTE:Lorsque vous utilisez le protocole SLP, vous devez avoir
 au moins un serveur "Directory Agent" (DA) sur votre réseau. A défaut,
 l'ordonnanceur CUPS (
cupsd) ne répondra pas aux requêtes
 des clients pendant plusieurs secondes pendant qu'il sera en train
 d'explorer le réseau.
BrowseRelay 
Exemples
BrowseRelay 193.0.2.1 192.0.2.255
BrowseRelay 193.0.2.0/255.255.255.0 192.0.2.255
BrowseRelay 193.0.2.0/24 192.0.2.255
BrowseRelay *.domain.com 192.0.2.255
BrowseRelay host.domain.com 192.0.2.255
Description
 la directive indique des adresses source et destination pour relayer
 les informations d'exploration en provenance d'un hôte ou d'un réseau
 vers un autre. Plusieurs directives 
BrowseRelay peuvent
 être indiquées si nécessaire.
BrowseRelay est généralement utilisé sur des systèmes
 qui assurent la passerelle entre des réseaux multiples au moyen d'une
 ou plusieurs interfaces réseau. Elle peut également être utilisée pour
 relayer des informations sur les imprimantes provenant de serveurs
 surveillés, au moyen de la ligne:
BrowseRelay 127.0.0.1 255.255.255.255
Cela fournit un accès effectif aux imprimantes d'un WAN pour tous les
 clients d'un LAN.
BrowseShortNames 
Exemples
BrowseShortNames Yes
BrowseShortNames No
Description
La directive BrowseShortNames indique s'il faut ou non
 utiliser les noms courts pour les imprimantes à distance. Les noms
 courts sont simplement composés du nom de l'imprimante, sans celui du
 serveur ("imprimante"). Si le système détecte plus d'une imprimante à
 distance portant le même nom, les imprimantes seront affichées avec les
 noms longs ("imprimante@erveur1", "imprimante@erveur2")
La valeur implicite de cette option est Yes.
BrowseTimeout 
Exemples
BrowseTimeout 300
BrowseTimeout 60
Description
La directive BrowseTimeout fixe la durée de vie des
 informations reçues sous forme de paquets d'exploration et concernant
 les imprimantese et les classes. Une fois que les informations
 concernant une imprimante ou une classe dépassent ce délai, elles sont
 retirées de la liste des destinations disponibles.
La valeur BrowseTimeout devrait toujours être supérieure
 à la valeur 
#BrowseInterval BrowseInterval .
 Sinon des imprimantes et des classes pourraient disparaîtres des
 systèmes clients entre les mises à jour.
Browsing 
Exemples
Browsing On
Browsing Off
Description
La directive Browsing contrôle l'activation ou non de
 l'exploration réseau des imprimantes. La valeur implicite est 
On.
 NOTE:Si vous utilisez HP-UX 10.20 sur un sous-réseau dont le masque n'est
 pas sur 24, 16 ou 8 bits, l'exploration des imprimantes (et en fait
 toute réception d'information diffusée) ne fonctionnera pas. Ce
 problème semble résolu dans HP-UX 11.0.
Classification 
Exemples
Classification
Classification classified
Classification confidential
Classification secret
Classification topsecret
Classification unclassified
Description
La directive Classification fixe le niveau de
 classification sur le serveur. Lorsque cette option est activée au
 moins une des pages de garde est forcée à ce niveau et l'information de
 classification est placée sur chaque page imprimée. La valeur implicite
 est de n'avoir aucun niveau de classification.
ClassifyOverride 
Exemples
ClassifyOverride Yes
ClassifyOverride No
Description
La directive ClassifyOverride indique si les
 utilisateurs peuvent outrepasser le niveau de classification du serveur
 ou non. Lorsque la classification du serveur est activée, les
 utilisateurs peuvent changer la classification en employant l'option 
job-sheets
 et peuvent choisir de n'imprimer qu'une seule page de
 garde de sécurité avant ou après le travail d'impression. Si l'option 
job-sheets
 est positionnée à la valeur none alors le
 niveau de classification implicite du serveur est utilisé.
La valeur implicite est de ne pas autoriser les utilisateurs à
 outrepasser la classification.
DataDir 
Exemples
DataDir /usr/share/cups
Description
La directive DataDir fixe le répertoire à employer pour
 les fichiers de données.
DefaultCharset 
Exemples
DefaultCharset utf-8
DefaultCharset iso-8859-1
DefaultCharset windows-1251
Description
La directive DefaultCharset définit le jeu de caractères
 à utiliser pour les connexions avec les clients. Le jeu de caractère
 implicite est le jeu 
utf-8 mais il est outrepassé par le
 jeu de caractères associé à la langue indiquée par le client ou par la
 directive 
DefaultLanguage.
DefaultLanguage 
Exemples
DefaultLanguage de
DefaultLanguage en
DefaultLanguage es
DefaultLanguage fr
DefaultLanguage it
Description
La directive DefaultLanguage définit le langage à
 utiliser pour les connexions avec les clients. Régler la langue règle
 également le jeu de caractères si un fichier de localisation existe
 pour celle-ci. La valeur implicite est "en" c'est-à-dire "anglais".
Deny 
Exemples
Deny from All
Deny from None
Deny from *.domain.com
Deny from .domain.com
Deny from host.domain.com
Deny from nnn.*
Deny from nnn.nnn.*
Deny from nnn.nnn.nnn.*
Deny from nnn.nnn.nnn.nnn
Deny from nnn.nnn.nnn.nnn/mm
Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
Description
La directive Deny indique un nom d'hôte, une adresse IP
 ou un réseau qui n'est pas autorisé à accéder au serveur. Les
 directives 
Deny se cumulent, ainsi plusieurs directives Deny
 peuvent être utilisées pour interdire l'accès à de multiples
 hôtes et/ou réseaux. La notation 
/mm indique une notation
 de sous-réseau CIDR:
mmnetmask mm
netmask 0 0.0.0.0  8
255.0.0.0 1 128.0.0.0  16
255.255.0.0 2 192.0.0.0  24
255.255.255.0 ... ...  32
255.255.255.255 
La directive Deny doit apparaître à l'intérieur d'une
 directive 
#Location Location .
DocumentRoot 
Exemples
DocumentRoot /usr/share/doc/cups
DocumentRoot /foo/bar/doc/cups
Description
La directive DocumentRoot indique l'emplacement du
 contenu que le serveur HTTP de CUPS doit publier. Si un chemin absolu
 n'est pas indiqué, celui-ci est considéré comme relatif au répertoire 
#ServerRootServerRoot . La valeur implicite est /usr/share/doc/cups
.
Les documents sont d'abord recherchés dans un sous-répertoire
 correspondant à la langue demandée par le client (par exemple
 /usr/share/doc/cups/fr/...
) et ensuite directement dans le
 répertoire 
DocumentRoot (par exemple /usr/share/doc/cups/...
), ainsi il est possible de localiser le
 contenu "web" en fournissant des sous-répertoires pour chaque langue
 nécessaire.
Encryption 
Exemples
Encryption Never
Encryption IfRequested
Encryption Required
Encryption Always
Description
La directive Encryption doit apparaître à l'intérieur
 d'une section 
#LocationLocation  et définit
 les réglages d'encryptage pour cet emplacement. Le réglage implicite
 est 
IfRequested pour tous les emplacements.
ErrorLog 
Exemples
ErrorLog /var/log/cups/error_log
ErrorLog /var/log/cups/error_log-%s
ErrorLog syslog
Description
La directive ErrorLog définit le nom du fichier de suivi
 d'erreurs ("error log"). Si le nom de fichier n'est pas un chemin
 absolu, il est considéré comme un chemin relatif au répertoire 
#ServerRoot 
ServerRoot . Le fichier standard est /var/log/cups/error_log
.
Le nom du serveur peut être inclus dans le nom du fichier en
 utilisant le nom 
%s.
Le nom spécial "syslog" peut être utilisé pour envoyer les
 informations de suivi d'erreurs vers le fichier de suivi d'erreur
 système au lieu d'un fichier texte simple.
FilterLimit 
Exemples
FilterLimit 0
FilterLimit 200
FilterLimit 1000
Description
La directive FilterLimit définit le coût maximal de tous
 les filtres appliqués au travaux en cours de traitement. Elle peut être
 utilisée pour limiter le nombre de programmes de filtres qui son
 exécutés dans un serveur pour minimiser les problèmes de ressources
 disque, mémoire ou CPU. Une limite de 0 désactive la limitation des
 filtres.
Le coût moyen d'une impression vers une imprimante non-PostScript
 nécessite une limitation de filtre aux alentours de 200. Une imprimante
 PostScript nécessite une limite d'environ la moitié (100). Positionner
 la limite en dessous de ces seuils va effectivement limiter
 l'ordonnanceur à l'impression d'un travail à la fois.
La valeur implicite est 0.
FontPath 
Exemples
FontPath /foo/bar/fonts
FontPath /usr/share/cups/fonts:/foo/bar/fonts
Description
La directive FontPath définit le chemin de recherche des
 polices de caractères à utiliser. La valeur implicite est 
/usr/share/cups/fonts
.
Group 
Exemples
Group sys
Group system
Group root
Description
La directive Group définit le groupe UNIX sous
 l'identité duquel les programmes CGI et de filtrage fonctionnent. Le
 groupe implicite est 
sys, system, ou root
 selon le système d'exploitation.
HideImplicitMembers 
Exemples
HideImplicitMembers Yes
HideImplicitMembers No
Description
La directive HideImplicitMembers contrôle l'appartenance
 ou non d'imprimantes individuelles aux classes implicites qui sont
 montrées à l'utilisateur. La valeur standard est 
No.
#ImplicitClassesImplicitClasses  doit être
 activée pour que cette directive ait un quelconque effet.
HostNameLookups 
Exemples
HostNameLookups On
HostNameLookups Off
HostNameLookups Double
Description
La directive HostNameLookups indique si CUPS doit ou non
 rechercher le nom d'hôte des clients qui se connectent. La clause 
Double
 force CUPS à vérifier que le nom d'hôte trouvé à partir de
 l'adresse correspond bien à l'une des adresses retournées pour ce nom
 d'hôte. Les recherches 
Double empêchent également que des
 clients ayant des adresses non enregistrées ne se connectent au
 serveur. La valeur implicite est 
Off pour éviter tout
 problème potentiel de performance du serveur du fait des résolutions de
 nom. Positionnez cette directive à la valeur 
On ou Double
 uniquement si nécessaire.
ImplicitClasses 
Exemples
ImplicitClasses On
ImplicitClasses Off
Description
La directive ImplicitClasses contrôle si les classes
 implicites sont créées sur la base des imprimantes et classes
 disponibles sur le réseau. La valeur implicite est 
On mais
 est automatiquement positionnée sur 
Off si #BrowsingBrowsing  est à la valeur Off.
ImplicitAnyClasses 
Exemples
ImplicitAnyClasses On
ImplicitAnyClasses Off
Description
La directive ImplicitAnyClasses contrôle si oui ou non
 les classes implicites pour les imprimantes locales et à distance sont
 crées avec le nom 
AnyPrinter. La valeur implicite est Off
.
#ImplicitClassesImplicitClasses  doit être
 activée pour que cette directive ait un quelconque effet.
Include 
Exemples
Include filename
Include /foo/bar/filename
Description
La directive Include inclut le fichier indiqué dans le
 corps du fichier 
cupsd.conf. Si aucun chemin n'est
 indiqué, le fichier est considéré comme étant relatif au répertoire 
#ServerRootServerRoot .
KeepAlive 
Exemples
KeepAlive On
KeepAlive Off
Description
La directive KeepAlive contrôle la prise en charge ou
 non des connexions HTTP persitantes. La valeur implicite est 
On.
Les clients HTTP/1.1 prennent automatiquement en charge les
 connexions persistantes, tandis que clients HTTP/1.0 doivent
 spécifiquement les demander en utiliser l'attribut 
Keep-Alive attribute dans le champ 
Connection: de chaque requête.
KeepAliveTimeout 
Exemples
KeepAliveTimeout 60
KeepAliveTimeout 30
Description
La directive KeepAliveTimeout contrôle combien de temps
 une connexion HTTP persistante restera ouverte après la dernière
 requête. La valeur implicite est de 60 secondes.
Limit 
Exemples
<Limit GET POST>
...
</Limit>
<Limit ALL>
...
</Limit>
Description
La directive Limit groupe les directives de contrôle
 d'accès pour certains types spécifiques de requêtes HTTP et doit
 apparaître à l'intérieur d'une section 
#LocationLocation
. L'accès peut être limité à des types individuels de
 requêtes (
DELETE, GET, HEAD , OPTIONS
, POST, PUT, et TRACE) ou pour tous les types de requêtes (
ALL). Les noms de
 types de requêtes sont dépendants de la casse pour des raisons de
 compatibilité avec Apache.
LimitExcept 
Exemples
<LimitExcept GET POST>
...
</LimitExcept>
Description
La directive LimitExcept groupe les directives de
 contrôle d'accès pour certains types spécifiques de requêtes HTTP et
 doit apparaître à l'intérieur d'une section 
#Location Location
. Contrairement à la directive #LimitLimit
, LimitExcept restreint l'accès pour toutes
 les requêtes
 à l'exception de celles listées dans la ligne LimitExcept
.
LimitRequestBody 
Exemples
LimitRequestBody 10485760
LimitRequestBody 10m
LimitRequestBody 0
Description
La directive LimitRequestBody contrôle la taille
 maximale des fichiers d'impression, des requêtes IPP, et des données
 des formulaires HTML dans les requêtes HTTP POST. La limite implicite
 est de 0 ce qui désactive la vérification de la limite.
Reportez-vous également à la directive similaire #MaxRequestSizeMaxRequestSize .
Listen 
Exemples
Listen 127.0.0.1:631
Listen 192.0.2.1:631
Description
La directive Listen indique une adresse réseau et un
 port sur lequel écouter en attente de connexions. Plusieurs directives 
Listen
 peuvent être indiquées pour écouter sur de multiples
 adresses.
La directive Listen est similaire à la directive #PortPort  mais vous permet de restreindre l'accès à des
 interfaces ou des réseaux spécifiques.
Location 
Exemples
<Location />
...
</Location>
<Location /admin>
...
</Location>
<Location /printers/name>
...
</Location>
Description
La directive Location indique des options de contrôle
 d'accès et d'authentification pour le chemin ou la ressource HTTP
 indiquée. Des informations supplémentaires sont disponibles plus loin
 dans le chapitre dans la section 
#PRINTING_SECURITY"Sécurité
 du système d'impression"
.
LogLevel 
Exemples
LogLevel none
LogLevel emerg
LogLevel alert
LogLevel crit
LogLevel error
LogLevel warn
LogLevel notice
LogLevel info
LogLevel debug
LogLevel debug2
Description
La directive LogLevel indique la quantité d'informations
 à consigner dans le fichier 
#ErrorLogErrorLog . Les valeurs suivantes sont reconnues (chaque niveau inclut tout ce qui
 l'est dans les niveaux inférieurs):
none - Ne consigne rien.emerg - Consigne les conditions d'urgence qui empêchent
 le serveur de fonctionner.
alert - Consigne les alertes qui doivent être traitées
 immédiatement.
crit - Consigne les erreurs critiques qui n'empêchent
 pas le serveur de fonctionner.
error - Consigne les erreurs générales.warn - Consigne les erreurs et les avertissements.notice - Consigne les conditions d'erreurs temporaires.info - Consigne toutes les requêtes de modifications et
 de changement d'état (valeur implicite).
debug - Consigne des informations basiques de débogage.debug2 - Consigne toutes les informations de débogage. MaxClients 
Exemples
MaxClients 100
MaxClients 1024
Description
La directive MaxClients contrôle le nombre maximum de
 clients simultanés qui seront autorisés par le serveur. La valeur
 implicite ("par défaut") est de 100 clients.
 NOTE:Etant donné que chaque travail d'impression demande un descripteur de
 fichier pour le tube de contrôle, le serveur CUPS limite de manière
 interne la valeur 
MaxClients au tiers des descripteurs de
 fichiers disponibles pour éviter les possibles problèmes lors de
 l'impression de nombreux travaux d'impression.
MaxJobs 
Exemples
MaxJobs 100
MaxJobs 9999
MaxJobs 0
Description
La directive MaxJobs contrôle le nombre maximum de
 travaux d'impression qui sont conservés en mémoire. Dès que le nombre
 de travaux atteint la limite, le plus ancien travail complété est
 automatiquement purgé du système pour libérer de l'espace pour le
 nouveau travail. Si tous les travaux connus sont toujours en attente de
 traitement ou actifs, alors le nouveau travail sera rejeté.
Régler cette valeur sur 0 (valeur implicite) désactive cette
 fonctionnalité.
MaxJobsPerPrinter 
Exemples
MaxJobsPerPrinter 100
MaxJobsPerPrinter 9999
MaxJobsPerPrinter 0
Description
La directive MaxJobsPerPrinter contrôle le nombre
 maximum de travaux actifs qui sont autorisés pour chaque imprimante ou
 classe d'imprimantes. Dès que le nombre est atteint pour une imprimante
 ou une classe, les nouveaux travaux sont rejetés tant que l'un des
 travaux actifs n'est pas complété, arrêté, annulé ou abandonné.
Régler le maximum sur la valeur 0 (valeur implicite) désactive cette
 fonctionnalité.
MaxJobsPerUser 
Exemples
MaxJobsPerUser 100
MaxJobsPerUser 9999
MaxJobsPerUser 0
Description
La directive MaxJobsPerUser contrôle le nombre maximum
 de travaux d'impression qui sont autorisés pour chaque utilisateur. Dès
 qu'un utilsateur atteint le maximum autorisé, tout nouveau travail sera
 rejeté avant qu'un des travaux actifs soit complété, arrêté, annulé ou
 abandonné.
Régler le maximum sur 0 (valeur implicite) désactive cette
 fonctionnalité.
MaxLogSize 
Exemples
MaxLogSize 1048576
MaxLogSize 1m
MaxLogSize 0
Description
La directive MaxLogSize contrôle la taille maximum de
 chaque fichier de suivi ("log"). Dès qu'un fichier atteint ou dépasse
 la limite il est fermé ou renommé en
 filename.O. Cela vous
 permet de mettre en place automatiquement une rotation des fichiers de
 suivi. La taille implicite est de 1048576 octets (1Mo).
Régler le maximum sur 0 désactive la rotation de fichier de suivi.
MaxRequestSize 
Exemples
MaxRequestSize 10485760
MaxRequestSize 10m
MaxRequestSize 0
Description
La directive MaxRequestSize contrôle la taille maximum
 des fichiers d'impression, des requêtes IPP, et des données des
 formulaires HTML contenus dans les requêtes HTTP POST. La valeur
 implicite est 0, ce qui désactive cette vérification de limite.
Reportez-vous également à la directive similaire #LimitRequestBodyLimitRequestBody .
Order 
Exemples
Order Allow,Deny
Order Deny,Allow
Description
La directive Order définit le type implicite de contrôle
 d'accès. Les valeurs suivantes sont prises en charge:
Allow,Deny - Autorise les requêtes depuis tous les
 systèmes
 à l'exception de ceux listés dans une directive Deny
.Deny,Allow - Autorise les requêtes uniquement depuis
 les hôtes listés dans une directive 
Allow.La directive Order doit apparaître à l'intérieur d'une
 directive 
#Location Location .
PageLog 
Exemples
PageLog /var/log/cups/page_log
PageLog /var/log/cups/page_log-%s
PageLog syslog
Description
La directive PageLog définit le nom du fichier "page
 log". Si le nom du fichier n'est pas absolu, il est considéré comme
 étant relatif au répertoire 
#ServerRootServerRoot . Le fichier standard "page log" est /var/log/cups/page_log.
Le nom du serveur peut être inclus dans le nom de fichier en
 utilisant le nom 
%s.
Le nom spécial "syslog" peut être utilisé pour envoyer les
 informations de page vers le fichier de suivi système au lieu d'un
 simple fichier texte.
Port 
Exemples
Port 631
Port 80
Description
La directive Port indique un port sur lequel écouter en
 attente de connexions. Plusieurs lignes 
Port peuvent être
 indiquées pour écouter sur plusieurs ports. La valeur implicite est
 631.
PreserveJobHistory 
Exemples
PreserveJobHistory On
PreserveJobHistory Off
Description
La directive PreserveJobHistory contrôle si l'historique
 des travaux complétés, annulés ou abandonnés est conservé sur disque ou
 non.
Une valeur On (valeur implicite) conserve les
 informations concernant les travaux jusqu'à ce que l'administrateur les
 purge avec la commande 
cancel.
Une valeur Off retire les informations concernant les
 travaux dès que ceux-ci sont complétés, annulés ou abandonnés.
PreserveJobFiles 
Exemples
PreserveJobFiles On
PreserveJobFiles Off
Description
La directive PreserveJobFiles contrôle si les fichiers
 des documents complétés, annulés ou abandonnés sont stockés sur disque.
La valeur On conserve les fichiers des travaux jusqu'à
 ce que l'administrateur les purge au moyen de la commande 
cancel. Les travaux peuvent être resoumis (réimprimés) jusqu'à ce qu'ils
 soient purgés.
La valeur Off (valeur implicite) retire les fichiers des
 travaux dès ceux-ci sont complétés, annulés ou abandonnés.
Printcap 
Exemples
Printcap
Printcap /etc/printcap
Printcap /etc/printers.conf
Description
La directive Printcap contrôle si le fichier printcap
 est automatiquement généré et mis à jour ou non avec une liste des
 imprimantes disponibles. Si la directive est utilisée sans valeur,
 alors aucun fichier printcap ne sera généré. La valeur implicite est de
 générer un fichier nommé
 /etc/printcap.
Quand un nom de fichier est indiqué (par exemple /etc/printcap), le fichier printcap est écrit dès qu'une imprimante est ajoutée ou
 supprimée. Le fichier printcap peut alors être utilisé par les
 applications dont l'utilisation du fichier printcap comme référence des
 imprimantes disponibles est codée en dur.
PrintcapFormat 
Exemples
PrintcapFormat BSD
PrintcapFormat Solaris
Description
La directive PrintcapFormat contrôle le format de sortie
 du fichier printcap. Le comportement implicite est de générer un
 fichier printcap de type BSD.
PrintcapGUI 
Example
PrintcapGUI /usr/bin/glpoptions
Description
La directive PrintcapGUI indique le programme à utiliser
 pour afficher le panneau d'options à partir d'une application IRIX qui
 utiliser l'API d'impression Impressario. Le programme implicite est le
 programme graphique "glpoptions" d'ESP Print Pro.
Le programme doit accepter l'option -d pour indiquer
 l'imprimante et l'option 
-o pour indiquer une ou plusieurs
 options. Après avoir autorisé l'utilisateur à sélectionner/changer les
 options, le programme doit écrire la liste des options d'impression
 sans le 
-o sur la sortie standard.
RemoteRoot 
Exemples
RemoteRoot remroot
RemoteRoot root
Description
La directive RemoteRoot fixe le nom d'utilisateur à
 utiliser pour les requêtes root non authentifiées depuis des hôtes
 distants. Le nom d'utilisateur standard est
 remroot. Régler RemoteRoot
 sur root désactive effectivement ce
 mécanisme de sécurité.
RequestRoot 
Exemples
RequestRoot /var/spool/cups
RequestRoot /foo/bar/spool/cups
Description
La directive RequestRoot définit le répertoire pour les
 requêtes entrantes IPP et les formulaires HTML. Si un chemin absolu
 n'est pas fourni alors il est considéré comme relatif au répertoire 
#ServerRootServerRoot . Le répertoire implicite est /var/spool/cups
.
Require 
Exemples
Require group foo bar
Require user john mary
Require valid-user
Description
La directive Require indique que l'authentification est
 nécessaire pour l'accès à la ressource considérée. Le mot clef 
group
 indique que l'utilisateur authentifié doit être membre d'un
 ou plusieurs des groupes qui suivent.
Le mot clef user indique que l'utilisateur authentifié
 doit être l'un des utilisateurs dont les noms suivent.
Le mot clef valid-user indique que tout utilisateur
 authentifié peut accéder à la ressource.
Le comportement implicite ("par défaut") est de ne faire aucune
 authentification. Cette directive doit apparaître à l'intérieur d'une
 directive 
#LocationLocation .
RIPCache 
Exemples
RIPCache 8m
RIPCache 1g
RIPCache 2048k
Description
La directive RIPCache définit la quantité de mémoire
 utilisée par les filtres RIP ("Raster Images Processor") tels que 
imagetoraster
 et pstoraster. La taille peut être
 suffixée par "k" pour kilo-octets, "m" pour méga-octets, ou "g" pour
 giga-octets. La taille implicite est de "8m", ou 8 méga-octets.
RunAsUser 
Exemples
RunAsUser Yes
RunAsUser No
Description
La directive RunAsUser contrôle si l'ordonnanceur
 fonctionne sous l'identité d'un compte utilisateur non privilégié
 (habituellement 
lp). La valeur implicite est No qui laisse l'utilisateur fonctionner en tant qu'utilisateur 
root.
Note: Faire fonctionner CUPS en tant qu'utilisateur non
 privilégié peut empêcher LPD et les imprimantes connectées localement
 de fonctionner correctement en raison de problèmes de permissions. Le
 programme d'arrière-plan 
lpd utilisera automatiquement le
 mode non privilégié ce qui est 100% conforme à la RFC 1179. Les
 programmes d'arrière-plan 
parallel, serial,
 et 
usb auront besoin d'accès en écriture aux fichiers de
 périphériques correspondants.
Satisfy 
Exemples
Satisfy all
Satisfy any
Description
La directive Satisfy indique si toutes les conditions
 doivent être satisfaites pour ouvrir l'accès à la ressource. Si la
 valeur est 
all alors toutes les conditions
 d'authentification et de contrôle d'accès doivent être satisfaites pour
 que l'accès soit autorisé.
Régler Satisfy à la valeur any autorise un
 utilisateur à obtenir l'accès si l'authentification ou le contrôle
 d'accès est satisfait. Par exemple, vous pourriez exiger
 l'authentifiation pour l'accès à distance mais autoriser l'accès local
 sans elle.
La valeur implicite est all. Cette directive doit
 apparaître à l'intérieur d'une directive 
#Location Location
.
ServerAdmin 
Exemples
ServerAdmin user@host
ServerAdmin root@foo.bar.com
Description
La directive ServerAdmin identifie l'adresse de courriel
 de l'administrateur du système. La valeur implicite est 
root@serveur
, où server est le nom du serveur.
ServerBin 
Exemples
ServerBin /usr/lib/cups
ServerBin /foo/bar/lib/cups
Description
La directive ServerBin définit le répertoire contenant
 les fichiers exécutables du serveur. Si un chemin absolu n'est pas
 indiqué, il est considéré comme relatif au répertoire 
#ServerRootServerRoot  . Le répertoire implicite est /usr/lib/cups
.
ServerCertificate 
Exemples
ServerCertificate /etc/cups/ssl/server.crt
Description
La directive ServerCertificate définit l'emplacement du
 fichier de certificat SSL utilisé par le serveur lors de la négociation
 des connexions encryptées. Le certificat ne doit pas être encrypté
 (protégé par un mot de passe) car l'ordonnanceur fonctionne normalement
 en arrière-plan et et ne sera pas en mesure de demander un mot de
 passe. Le fichier standard de certificat est
 /etc/cups/ssl/server.crt
.
ServerKey 
Exemples
ServerKey /etc/cups/ssl/server.key
Description
La directive ServerKey indique l'emplacement du fichier
 de clé privée SSL utilisé par le serveur pour négocier les connexions
 encryptées. Le fichier standard de clé est
 /etc/cups/ssl/server.crt
 .
ServerName
Exemples
ServerName foo.domain.com
ServerName myserver.domain.com
Description
La directive ServerName indique le nom d'hôte qui doit
 être envoyé aux clients. En standard, le nom du serveur est le nom
 d'hôte.
ServerRoot 
Exemples
ServerRoot /etc/cups
ServerRoot /foo/bar/cups
Description
La directive ServerRoot indique un chemin absolu pour
 les fichiers de configuration et d'état du serveur. Il est également
 utilisé pour interpréter les chemins relatifs présents dans le fichier
 cupsd.conf
 file. Le répertoire standard est /etc/cups.
SSLListen 
Exemples
SSLListen 127.0.0.1:443
SSLListen 192.0.2.1:443
Description
La directive SSLListen indique une adresse réseau et un
 port sur lequel écouter les tentatives de connexion sécurisées.
 Plusieurs directives 
SSLListen peuvent être fournies pour
 indiquer plusieurs adresses sur lesquelles écouter.
La directive SSLListen est similaire à la directive #SSLPortSSLPort  mais vous permet de restreindre l'accès à
 certaines interfaces ou réseaux.
SSLPort 
Exemples
SSLPort 443
Description
La directive SSLPort indique le port sur lequel écouter
 les tentatives de connexions sécurisées. Plusieurs lignes 
SSLPort peuvent être indiquées pour écouter les connexions sur plusieurs ports.
SystemGroup 
Exemples
SystemGroup sys
SystemGroup system
SystemGroup root
Description
La directive SystemGroup indique le groupe système
 d'aministration pour l'authentification de type 
System.
 Plus d'information peut être trouvée plus loin dans ce chapitre dans la
 section 
#PRINTING_SECURITY"Sécurité du système d'impression" .
TempDir 
Exemples
TempDir /var/tmp
TempDir /foo/bar/tmp
Description
La directive TempDir indique un chemin absolu pour le
 répertoire à employer pour les fichiers temporaires. Le répertoire
 standard est
 /var/tmp.
Les répertoires temporaires doivent être inscriptibles pour tous et
 devraient avoir le "sticky" bit activé de sorte que les utilisateurs ne
 puissent pas supprimer les fichiers temporaires de filtres. Les
 commandes suivantes créerons un répertoire temporaire approprié appelé
 /foo/bar/tmp
:
mkdir /foo/bar/tmp ENTREEchmod a+rwxt /foo/bar/tmp ENTREE Timeout 
Exemples
Timeout 300
Timeout 90
Description
La directive Timeout définit le délai à attendre avant
 qu'une requête HTTP ou IPP active ne soit hors délai. La valeur
 implicite est de 300 secondes.
User 
Exemples
User lp
User guest
Description
La directive User indique l'utilisateur UNIX sous
 l'identité duquel les programmes CGI et les filtres doivent
 fonctionner. La valeur implicite est 
lp.
Sécurité du système d'impression 
CUPS prend en charge le contrôle d'accès et l'authentification basée
 sur l'adresse, un certificat ou un mot de passe (mode "Basic" et
 "Digest"). Les authentifications par mot de passe et certificat
 fournissent des moyens de limiter l'accès à certaines personnes ou
 certains groupes.
Le contrôle d'accès basé sur l'adresse vous permet de limiter l'accès
 à certains systèmes, réseaux ou domaines particuliers. Bien que cela ne
 soit pas de l'authentification, cela vous permet de restreindre
 efficacement le nombre potentiel d'utilisateurs de votre système.
CUPS maintient à jour une liste des emplacements dont
 l'authentification et/ou le contrôle d'accès est/sont activé(e)(s). Ces
 emplacements sont indiqués en utilisant la directive 
#LocationLocation :
<Location /ressource>
#AuthClassAuthClass  ...
#AuthGroupNameAuthGroupName  ...
#AuthTypeAuthType  ...
#OrderOrder  ...
#AllowAllow  from ...
#DenyDeny  from ...
</Location>
Les emplacements suivent généralement la structure arborescente du
 contenu du répertoire 
#DocumentRootDocumentRoot , cependant CUPS possède de nombreux emplacements virtuels pour
 l'administration, les classes, les travaux d'impression et les
 imprimantes:
EmplacementDescription /admin Le chemin pour toutes les opérations
 d'administration.
/classes Le chemin pour toutes les classes
 d'imprimantes.
/classes/nom_classe Les ressources pour la classe nommée
 
nom_classe. /jobs Le chemin pour tous les travaux d'impression. /jobs/id Les ressources pour le travail d'impression n°id
. /printers Le chemin pour toutes les imprimantes. /printers/nom_imprimante Le chemin pour l'imprimante
 nommée 
nom_imprimante. /printers/nom_imprimante.ppd Le chemin du fichier PPD
 pour l'imprimante 
nom_imprimante. 
Authentification basée sur les certificats 
CUPS prend en charge une authentification locale basée sur les
 certificats qui peut être utilisée à la place des authentifications
 "Basic" et "Digest" pour les clients se connectant à l'interface 
localhost
. L'authentification par certificats n'est ni prise en
 charge, ni permise pour les clients se connectant par le biais de toute
 autre interface.
Les certificats sont des nombres aléatoires codés sur 128 bits qui
 font référence à un enregistrement interne d'authentification sur le
 serveur. Un client se connectant via l'interface 
localhost envoie une requête avec un en-tête d'autorisation:
Authorization: Local 0123456789ABCDEF0123456789ABCDEF
Le serveur vérifie alors le certificat local correspondant et
 authentifie le nom d'utilisateur qui y est associé.
Les certificats sont automatiquement générés par le serveur et
 stockés dans le répertoire
 /etc/cups/certs en utilisant le
 n° de processus du programme CGI ("process ID") exécuté par le serveur.
 Les fichiers de certificats sont en lecture seule pour les utilisateurs
 
#UserUser  et groupes #GroupGroup
 définis dans le fichier cupsd.conf. Quand le
 programme CGI se termine, le certificat est retiré et rendu
 automatiquement invalide.
Le fichier spécial /etc/cups/certs/0 définit le certificat de root
 qui peut être utilisé par tout client
 fonctionnant sous l'identité du super-utilisateur et qui appartient au
 group défini par la directive 
#SystemGroupSystemGroup . Le certificat de root est automatiquement régénéré toutes les 5
 minutes.
Utilisation de l'authentification "Basic" 
L'authentification "Basic" utilise les utilisateurs et mots de passe
 UNIX pour authentifier l'accès à des ressources telles que les
 imprimantes ou les classes et pour limiter l'accès aux fonctions
 d'administration.
 NOTE:L'authentification "Basic" transmet le nom d'utilisateur et le mot de
 passe en clair (encodage Base64) du client vers le serveur, donc elle
 n'offre aucune protection contre l'espionnage. Cela signifie qu'une
 utilisateur mal intentionné peut écouter les paquets réseau et
 découvrir ces informations. Il peut en résulter une sérieuse
 compromission de la sécurité de votre réseau. Utilisez
 l'authentification avec la plus grande prudence.
L'implémentation de l'authentification "Basic" dans CUPS ne permet
 pas l'accès en utilisant des comptes sans mot de passe. Si vous tentez
 d'authentifier un tel compte, l'accès sera immédiatement bloqué.
Une fois le nom d'utilisateur et le mot de passe authentifiés par
 CUPS, les contraintes supplémentaires d'appartenance à des groupes sont
 vérifiées
 NOTE:Pour CUPS, l'utilisateur root est considéré comme membre de tous les
 groupes.
Utilisez la directive AuthType pour activer
 l'authentification "Basic":
AuthType Basic
Utilisation de l'authentification "Digest" 
L'authentification "Digest" utilise des utilisateurs et mots de passe
 définis dans le fichier
 /etc/cups/passwd.md5 pour
 authentifier l'accès aux ressources telles que les imprimantes et les
 classes et pour limiter l'accès aux fonctions d'administration.
 NOTE:Contrairement à l'authentification "Basic", "Digest" transmet une
 version codée du nom d'utilisateur et du mot de passe en utilisant le
 codage MD5 (en résumé, une somme de contrôle compliquée) au lieu de
 leur version en clair. De plus, l'authentification "Digest" n'utilise
 pas les utilisateurs et mots de passe UNIX, ainsi si un attaquant
 découvre le mot de passe original il est moins probable qu'il en
 résulte un problème de sécurité, pour peu que vous utilisiez un mot de
 passe "Digest" différent de celui stocké par UNIX.
L'implémentation actuelle de l'authenfication "Digest" dans CUPS
 utilise le nom d'hôte du client ou son adresse IP comme valeur "nonce".
 La valeur "nonce" est une chaîne de caractères additionnelle ajoutée au
 nom d'utilisateur et au mot de passe pour rendre la découverte de ce
 dernier plus difficile. Le serveur vérifie que la valeur "nonce"
 correspond au nom d'hôte ou l'adresse IP du client et, si tel n'est pas
 le cas, rejette la somme MD5 proposée par celui-ci. Les prochaines
 versions de CUPS prendront en charge l'authentification "Digest" par
 "session" qui ajoutera les données de la requête à la somme MD5,
 fournissant ainsi une sécurité et une authentification encore
 meilleures.
L'authentification "Digest" ne garantit pas qu'un attaquant ne peut
 pas obtenir un accès non autorisé mais elle est plus sûre que
 l'authentification "Basic" et devrait être utilisée à la place de
 celle-ci chaque fois que c'est possible.
 La prise en charge de
 l'authentification "Digest" dans les navigateurs "web" n'est pas encore
 universellement disponible.
La commande lppasswd(1) est utilisée pour ajouter,
 changer et retirer des comptes du fichier
 passwd.md5. Pour
 ajouter un utilisateur au groupe système standard, tapez:
lppasswd -a utilisateur ENTREEPassword: 
(mot de passe) ENTREE  [le mot de passe n'est pas affiché]
Password again: 
(mot de passe) ENTREE [le mot de passe n'est pas affiché]
Une fois ajouté, un utilisateur peut changer son mot de passe en
 tapant:
lppasswd ENTREEOld Password: 
(mot de passe) ENTREE  [le mot de passe n'est pas affiché]
Password : 
(mot de passe) ENTREE [le mot de passe n'est pas affiché]
Password again: 
(mot de passe) ENTREE [le mot de passe n'est pas affiché]
Pour retirer un utilisateur du fichier des mots de passe, tapez:
lppasswd -x utilisateur ENTREEUne fois qu'un utilisateur et un mot de passe valides ont été
 authentifiés pas CUPS, celui-ci vérifie les contraintes supplémentaires
 d'appartenance à des groupes.
 NOTE:Pour CUPS, l'utilisateur root est membre de tous les groupes.
Utilisez la directive AuthType pour activer
 l'authentification "Digest":
AuthType Digest
Authentifications "System" et "Group" 
La directive #AuthClassAuthClass  contrôle
 le niveau d'authentification à effectuer. Les authentifications 
System
 et Group ajoutent à l'authentification
 normale basée sur l'utilisateur une contrainte d'appartenance à un
 groupe UNIX. Pour l'authentification 
System, chaque
 utilisateur doit être membre du groupe 
sys, system, ou 
root; le groupe réel dépend du système d'exploitation.
Pour l'authentification Group l'utilisateur doit être
 membre du group indiqué par la directive 
#AuthGroupNameAuthGroupName
:
<Location /path>
AuthType Digest
AuthClass Group
AuthGroupName mygroup
</Location>
Le groupe indiqué doit être un groupe UNIX valide, habituellement
 défini dans les fichiers
 /etc/group ou /etc/netgroup. De plus, lors de l'utilisation de l'authentification "Digest", vous
 devez créer les comptes utilisateur avec le groupe indiqué:
lppasswd -g mon_groupe -a utilisateur ENTERPassword : 
(mot de passe) ENTREE [le mot de passe n'est pas affiché]
Password again: 
(mot de passe) ENTREE [le mot de passe n'est pas affiché]
Suivi/facturation de travaux et
 d'imprimantes
ESP Print Pro maintient à jour un suivi ("log") de tous les accès,
 erreurs et pages qui sont imprimées. Les fichiers de suivi sont
 normalement stockés dans le répertoire
 /var/log/cups. Vous
 pouvez changer cela en éditant le fichier de configuration
 /etc/cups/cupsd.conf
.
Le fichier access_log 
Le fichier access_log liste chaque ressource HTTP qui est
 utilisée par le serveur "web" ou un client CUPS/IPP. Chaque ligne est
 structurée dans le format habituel utilisé par de nombreux serveurs
 "web" et outils d'analyse.:
Hôte Groupe Utilisateur Date/heure \"Méthode Ressource Version\" Etat Octets
127.0.0.1 - - [20/May/1999:19:20:29 +0000] "POST /admin/ HTTP/1.1" 401 0
127.0.0.1 - mike [20/May/1999:19:20:31 +0000] "POST /admin/ HTTP/1.1" 200 0
Le champ hôte ne devrait normalement être qu'une adresse IP à
 moins que vous n'activiez la directive 
#HostNameLookupsHostNameLookups
 dans le fichier cupsd.conf.
Le champ groupe contient toujours "-" dans CUPS.
Le champ utilisateur est le nom de l'utilisateur authentifié
 qui a émis la requête. Si aucun nom d'utilisateur et mot de passe n'est
 fourni pour la requête, alors ce champ contient "-".
Le champ date/heure contient la date et l'heure de la requête
 exprimées dans le fuseau horaire local, et est structuré de la manière
 suivante:
[JJ/MMM/AAAA:HH:MM:SS +ZZZZ]
où ZZZZ est le décalage horaire entre le fuseau horaire local
 et l'heure Greenwich Mean Time (a.k.a. GMT a.k.a. ZULU.) (NdT : en
 réalité GMT est un abus de langage, il s'agit du temps UTC...)
Le champ méthode est la méthode HTTP utilisée ("GET", "PUT",
 "POST", etc.)
Le champ ressource est le nom du fichier de la ressource
 demandée.
Le champ version est la version du protocole HTTP employé par
 le client. Pour les clients CUPS, c'est toujours "HTTP/1.1".
Le champ Etat contient l'état du résultat HTTP de la requête.
 Habituellement, il s'agit de la valeur "200", mais d'autres codes
 d'état HTTP sont possibles. Par exemple, 401 est le code d'état pour
 "accès non autorisé" dans l'exemple ci-dessus.
Le champs octets contient le nombre d'octets contenus dans la
 requête. Pour les requêtes POST, le champ
 octets contient le
 nombre d'octets reçus du client.
Le fichier error_log 
Le fichier error_log liste les messages provenant de
 l'ordonnanceur (erreurs, avertissements, etc.):
Niveau Date/Heure Message
I [20/May/1999:19:18:28 +0000] Job 1 queued on 'DeskJet' by 'mike'.
I [20/May/1999:19:21:02 +0000] Job 2 queued on 'DeskJet' by 'mike'.
I [20/May/1999:19:22:24 +0000] Job 2 was cancelled by 'mike'.
Le champ Niveau contient le type du message:
E - Une erreur est survenue.W - Le serveur a été incapable d'effectuer une action.I - Message d'information.D - Message de débogage.Le champ Date/heure contient la date et l'heure de début
 d'impression de la page. Le format est identique à celui du champ
 Date/heure
 dans le fichier access_log.
Le champ Message contient un message textuel dont la forme est
 libre.
Le fichier page_log 
Le fichier page_log liste chaque page qui est envoyée à
 une imprimante. Chaque ligne contient les informations suivantes:
Imprimante Utilisateur N°travail Date/heure N°Page Nombre_copies Facturation_travail
DeskJet root 2 [20/May/1999:19:21:05 +0000] 1 0 acme-123
Le champ imprimante contient le nom de l'imprimante qui a
 imprimé la page. Si vous envoyez un travail d'impression à une classe,
 le champ contient le nom de l'imprimante à laquelle ce travail a été
 affecté..
Le champ utilisateur contient le nom de l'utilisateur
 (l'attribut 
requesting-user-name de IPP) qui a envoyé le
 fichier à l'impression.
Le champ N°Travail contient le n° du travail correspondant à
 la page en cours d'impression. Les n° de travaux sont remis à 1 si le
 serveur CUPS est redémarré, donc ne le considérez pas comme un
 identifiant unique !
Le champ Date/heure contient la date et l'heure de démarrage
 de l'impression dans un format identique au champ
 Date/heure du
 fichier
 access_log.
Les champs N°Page et Nombre_copies contiennent le n° de
 page imprimée et le nombre de copies de cette page. Pour les
 imprimantes qui ne peuvent pas produire de copies multiples de manière
 autonome, le champ
 Nombre_copies est toujours à 1.
Le champ facturation_travail contient une copie de l'attribut job-billing
 fourni dans les requête IPP create-job ou 
print-job. Si aucune valeur n'est fournie dans la
 requête, ce champ contient "-".
Filtrage et détermination des types
 de fichiers
CUPS fournit un mécanisme de filtrage et de détermination du type de
 fichier basé sur MIME, afin de convertir les fichiers dans un format
 utilisable par chaque imprimante. Au démarrage, le serveur CUPS lit les
 fichiers de la base de données MIME contenus dans le répertoire
 /etc/cups
 (ou un répertoire indiqué au moyen de la directive #ServerRootServerRoot ) afin de construire en mémoire une base de
 données de conversion et de types de fichiers. Ces fichiers de base de
 données sont de simples fichiers texte ASCII et peuvent être modifiés
 au moyen de votre éditeur de texte préféré.
Les fichiers mime.types et mime.convs définissent les types de fichiers standards et les filtres qui sont
 disponibles sur le système.
Le fichier mime.types 
Le fichier mime.types définit les types de fichiers
 connus. Chaque ligne débute par le type MIME et devrait être suivi par
 une ou plusieurs règles de reconnaissance de fichier. Par exemple, le
 type de fichier 
text/html est défini de la manière
 suivante:
text/html       html htm \
                printable(0,1024) + \
                (string(0,"<HTML>") string(0,"<!DOCTYPE"))
Les deux premièress règles indiquent que tout fichier portant
 l'extension
 .html ou .htm est un fichier HTML. La
 troisième règle précise que tout fichier dont les 1024 premiers
 caractères sont des caractères imprimables et commencent par les
 chaînes 
<HTML> ou <!DOCTYPE est également un
 fichier HTML.
Les deux premières règle traitent simplement du nom du fichier. Cela
 est utile lorsque le nom du fichier original est connu, cependant pour
 les fichiers d'impression le serveur ne dispose pas de nom de fichier.
 La troisième règle prend garde à cette éventualité et détermine
 automatiquement le type du fichier en se basant plutôt sur son contenu.
Les test applicables sont les suivants:
( expr ) - Parenthèses pour grouper les expressions+ - ET logique, ou espace vide - OU logique! - NON logiquematch("pattern") - Recherche de motif sur le nom de
 fichier
extension - Recherche de motif sur "*.extension"ascii(offset,length) - Vrai si les octets sont des
 caractères ASCII imprimables (CR, NL, TAB, BS, 32-126)
printable(offset,length) - Vrai si les octets sont des
 caractères 8 bits imprimables (CR, NL, TAB, BS, 32-126, 160-254)
string(offset,"chaîne") - Vrai si les octets sont
 identiques à la chaîne
contains(offset,range,"chaîne") - Vrai si la plage
 d'octets contient la chaîne
char(offset,value) - Vrai si l'octet correspondshort(offset,value) - Vrai si l'entier sur 16 bits
 correspond (ordre des octets : "network" ou "big-endian")
int(offset,value) - Vrai si l'entier sur 32 bits
 correspond (ordre des octets : "network" ou "big-endian")
locale("string") - Vrai si la locale courante
 correspond à la chaîne
Toutes les valeurs numériques peuvent être exprimées en décimal
 (123), octal (0123), ou hexadécimal (0x123) selon le cas.
Les chaînes de caractères peuvent être délimitées par des quotes,
 sans quotes, sous forme d'une chaîne de valeurs hexadécimales ou toute
 combinaison de ces écritures:
"chaîne"
'chaîne'
chaîne
<737472696e67>
<7374>ring
Comme le montre l'exemple text/html, les règles peuvent
 être réparties sur plusieurs lignes en utilisant le caractère
 "backslash" ("\"). Un exemple plus complexe est fourni par les règles
 de détermination du type 
image/jpeg:
image/jpeg      jpeg jpg jpe string(0,<FFD8FF>) &&\
                (char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
                 char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
                 char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
                 char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
Cette règle indique que tout fichier avec l'extension .jpeg,
 .jpg, ou .jpe est un fichier JPEG. De plus, tout
 fichier commençant par la chaîne hexadécimale 
<FFD8FF> (JPEG Start-Of-Image) suivie d'un caractère compris entre 
0xe0 et 
0xef (JPEG APPn markers) bornes comprises, est
 également un fichier JPEG.
Le fichier mime.convs 
Le fichier mime.convs définit tous les programmes de
 filtrage qui sont connus du système. Chaque ligne est de la forme:
Source Destination Coût Programme
text/plain application/postscript 50 texttops
application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster
image/* application/vnd.cups-postscript 50 imagetops
image/* application/vnd.cups-raster 50 imagetoraster
Le champ Source est un type MIME. Il peut éventuellement
 utiliser des méta caractères ("joker", "wildcard") pour le sur-type ou
 le sous-type (par exemple "text/plain", "image/*", "*/postscript").
Le champ Destination est un type MIME défini dans le fichier mime.types
.
Le champ Coût définit un coût relatif pour l'opération de
 filtrage, exprimé sous forme d'une valeur entre 1 et 100. Le coût est
 utilisé pour choisir entre deux jeux de filtres lors de la conversion
 d'un fichier. Par exemple, pour convertir 
image/jpeg en application/vnd.cups-raster
, vous pourriez utiliser les filtres imagetops
 et pstoraster pour un coût total de 100,
 ou le filtre 
imagetoraster pour un coût total de 50.
Le champ Programme définit le programme de filtrage à
 exécuter; le programme doit accepter les arguments standards de
 filtrage et les variables d'environnement décrits dans le "Manuel de
 conception d'interface" ainsi que le "Manuel du programmeur":
Programme Travail Utilisateur Titre Options [nom_fichier]
S'il est indiqué, l'argument nom_fichier définit un fichier à
 lire lors du filtrage, sinon le filtre doit lire l'entrée standard.
 Toutes les sorties du programme de filtrage doivent être envoyées à la
 sortie standard.
Ajouter des filtres et des types de fichiers 
Ajouter un nouveau filtre ou type de fichier est relativement simple.
 Plutôt qu'ajouter le nouveau filtre ou type aux fichiers
 mime.types
 et mime.convs qui sont écrasés lorsque vous
 mettez CUPS à jour avec une nouvelle version, vous devez simplement
 créer de nouveaux fichiers avec les extensions
 .types et .convs
 dans le répertoire /etc/cups. Nous recommandons
 d'utiliser le nom du format ou du produit, par exemple:
myproduct.types
myproduct.convs
Si vous installez un filtre pour un fichier ou une imprimante
 courants, ajoutez le nom du fabricant ou de l'éditeur:
acme-msword.types
acme.msword.convs
Cela aidera à éviter les conflits de noms si vous installez plusieurs
 types de fichiers ou plusieurs filtres.
Une fois choisis les noms pour ces fichiers, créez-les au moyen de
 votre éditeur de texte préféré comme décrit précédemment dans ce
 chapitre. Une fois ces fichiers créés, redémarrez le processus 
cupsd
 comme indiqué précédemment dans #RESTARTING"Redémarrage du serveur CUPS"
 .
Pilotes d'imprimantes et fichiers PPD 
Plusieurs pilotes d'imprimante CUPS utilisent un ou plusieurs filtres
 spécifiques et un fichier PPD pour chaque modèle d'imprimante. Les
 filtres pilotes d'imprimante sont enregistrés au moyen des attributs du
 fichier 
cupsFilter:
*cupsFilter: "application/vnd.cups-raster 0 rastertohp"
Le filtre est indiqué en utilisant seulement le type du fichier
 source; le type du fichier destination est considéré comme étant du
 type 
imprimante/nom - convenable pour envoi à
 l'imprimante.
Ecrire vos propres filtres ou pilotes d'imprimantes 
CUPS prend en charge un nombre illimité de filtres et de formats de
 fichiers, et peut traiter avec toute imprimante. Si vous désirez écrire
 un pilote ou un filtre pour votre imprimante préférée, consultez le
 "Manuel du programmeur" et suivez pas à pas les instructions qu'il
 contient.
7 - Imprimer depuis et vers
 d'autres systèmes
Ce chapitre décrit comment imprimer depuis des système clients qui
 utilisent les protocoles d'impression LPD, Mac OS ou Windows.
Les bases 
CUPS est basé sur le protocole IPP, ainsi tout autre système prenant
 en charge IPP peut automatiquement envoyer ou recevoir des travaux
 d'impression vers ou depuis un système utilisant CUPS. Cependant, tous
 les systèmes ne prennent pas encore en charge IPP. Ce chapitre vous
 montrera comment connecter ces systèmes à votre serveur CUPS, que ce
 soit pour qu'ils puissent accepter des travaux provenant de celui-ci ou
 pour lui en envoyer.
Imprimer depuis des clients LPD 
CUPS prend en charge un nombre limité des fonctionnalités des clients
 basés sur LPD. Avec LPD vous pouvez imprimer des fichiers vers des
 imprimantes déterminées, voir l'état des files d'impression, etc.
 Cependant, la configuration automatique des clients et des imprimantes
 n'est pas prise en charge par le protocole LPD, donc vous devez
 configurer manuellement chaque client pour les imprimantes auxquelles
 il a besoin d'accéder.
Le programme cups-lpd(8) fournit la prise en charge pour
 les clients LPD. Pour activer la prise en charge LPD sur votre serveur,
 éditez le contenu du fichier
 /etc/inetd.conf et ajoutez une
 ligne:
printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd
Le chemin vers le programme cups-lpd peut varier en
 fonction de l'installation de votre serveur.
Une fois cette ligne ajoutée, envoyez un signal HUP au
 processus 
inetd(8) ou redémarrez le système (NdT : le
 redémarrage du système n'est pas des plus élégants...):
killall -HUP inetd ENTREE [sur IRIX et quelques distributions GNU/Linux]
kill -HUP pid ENTREE [Autres systèmes]reboot ENTREE [Pour tous les systèmes si le signal HUP ne fonctionne pas (NdT : ...en DERNIER recours, uniquement...)] Imprimer vers des serveurs LPD 
CUPS fournit le programme d'arrière-plan lpd pour
 imprimer vers des serveurs et imprimantes utilisant LPD. Utilisez un
 URI de périphérique de la forme 
lpd://serveur/nom pour
 imprimer ver une imprimante sur un serveur LPD, où 
serveur est le nom d'hôte ou l'adresse IP du serveur et 
nom est le
 nom de la file d'impression.
Microsoft Windows NT fournit un service LPD sous le nom "Serveur
 d'impression TCP/IP". Pour activer l'impression sur un système Windows
 NT, ouvrez le panneau de configuration puis "Services", sélectionnez le
 service "Serveur d'impression TCP/IP" et cliquez sur le bouton
 "Démarrer". Toute imprimante partagée devient alors accessible via le
 protocole LPD.
Imprimer depuis des client Mac OS 
NdT : je ne suis pas spécialiste Mac et je ne dispose pas de ce
 type de matériel. Il se peut qu'il y ait quelques imprécisions ou
 erreurs dans ce qui suit, faîtes-moi l'amitié de me les pardonner ET de
 me les signaler. Merci par avance...
CUPS ne fournit pas de prise en charge directe de Mac OS. Cependant,
 il existe plusieurs logiciels libres ou commerciaux qui le font.
Columbia Appletalk Package (CAP) 
Etant donné que le serveur CAP LaserWriter (lwsrv(8)) ne
 prend pas en charge les spécifications des fichiers PPD, nous ne
 recommandons pas l'utilisation de CAP avec CUPS. Cependant, vous pouvez
 exécuter le programme 
lpsrv pour une prise en charge
 limitée de l'impression au moyen de la syntaxe suivante:
lwsrv -n "
Nom" -p Imprimante -a /usr/lib/adicts -f /usr/lib/LW+Fonts
où Nom est le nom que vous voulez utiliser pour partager
 l'imprimante et 
imprimante est le nom de la file
 d'impression.
XINET KA/Spool 
Afin d'utiliser votre système comme serveur d'impression pour des
 clients Mac OS, configurez chaque imprimante en utilisant 
papserver(8)
 dans le fichier /usr/adm/appletalk/services, et en indiquant le fichier PPD correspondant dans le répertoire
/etc/cups/ppd
. Pour une imprimante appelée Mon_Imprimante la syntaxe serait de la forme suivante:
/usr/etc/appletalk/papserver -I -L -P /etc/cups/ppd/Mon_Imprimante.ppd \
"Printer Description" Mon_Imprimante
 NOTE:Entrez le texte ci-dessus sur une seule ligne sans le caractère "\".
NetATalk 
Pour utiliser votre système comme serveur d'impression pour des
 clients Mac OS, configurez chaque imprimante dans le fichier
 papd.conf
, en indiquant le fichier PPD correspondant dans le
 répertoire
 /etc/cups/ppd pour chaque imprimante. Pour une
 imprimante nommée 
Mon_Imprimante le texte serait de la
 forme suivante:
Printer Description:Mon_Imprimante@Mon_Serveur:\
        :pr=|/usr/bin/lp -d Mon_Imprimante:\
        :op=daemon:\
        :pd=/etc/cups/ppd/Mon_Imprimante.ppd:
Imprimer vers des serveurs d'impression Mac OS 
Actuellement, CUPS ne fournit pas de programme d'arrière-plan pour
 communiquer avec un serveur Mac OS. Cependant, vous pouvez écrire et
 installer un court script dans le répertoire
 /usr/lib/cups/backend qui envoie un fichier d'impression en utilisant la commande appropriée.
 Le court script suivant exécutera la commande 
papif fournie avec CAP.
Après avoir copié le script dans /usr/lib/cups/backend/cap, indiquez un URI de périphérique de la forme 
cap://serveur/imprimante
 pour utiliser ce script avec une file
 d'impression.
"/usr/lib/cups/backend/cap"#!/bin/sh
#
# Usage: cap job user title copies options [filename]
#
# No arguments means show available devices...
if test ${#argv} = 0; then
	echo "network cap \"Unknown\" \"Mac OS Printer via CAP\""
	exit 0
fi
# Collect arguments...
user=$2
copies=$4
if test ${#argv} = 5; then
	# Get print file from stdin; copies have already been handled...
	file=/var/tmp/$$.prn
	copies=1
	cat > $file
else
	# Print file is on command-line...
	file=$6
fi
# Create a dummy cap.printers file for this printer based
# upon a device URI of "cap://server/printer"...
echo $PRINTER/$DEVICE_URI | \
	awk -F/ '{print $1 "=" $5 ":LaserWriter@" $4}' > /var/tmp/$$.cap
CAPPRINTERS=/var/tmp/$$.cap; export CAPPRINTERS
# Send the file to the printer, once for each copy. This assumes that you
# have properly initialized the cap.printers file...
while [ $copies -gt 0 ]; do
	papif -n $user < $file
        copies=`expr $copies - 1`
done
# Remove any temporary files...
if test ${#argv} = 5; then
	/bin/rm -f $file
fi
/bin/rm -f /var/tmp/$$.cap
exit 0
Imprimer depuis des clients Windows 
Bien que CUPS ne fournisse directement pas de prise en charge de
 Windows, le logiciel libre SAMBA le fait. La version 2.0.6 de SAMBA est
 la première qui prenne en charge CUPS. Vous pouvez télécharger SAMBA à
 l'adresse :
http://www.samba.orghttp://www.samba.org Pour configurer SAMBA pour CUPS, éditez le contenu du fichier smb.conf
 et remplacez les commandes d'impression existantes par
 les lignes:
printing = cups
printcap name = cups
C'est tout ce qu'il y a à faire! Les utilisateurs distants pourront
 désormais explorer les imprimantes de votre système et leur envoyer des
 travaux d'impression.
Exporter les pilotes d'imprimantes 
Vous pouvez éventuellement exporter des pilotes d'imprimantes de
 votre serveur CUPS en utilisant la commande 
cupsaddsmb et
 le logiciel SAMBA 2.2.0 ou supérieur.
Avant de pouvoir exporter les pilotes d'imprimantes, vous devez
 télécharger les pilotes d'imprimantes actuels Adobe PostScript à partir
 du site "web" Adobe (
http://www.adobe.com/http://www.adobe.com/
). Utilisez le logiciel libre unzip pour extraire les fichiers des archives ZIP auto-extractibles contenant
 les pilotes; vous aurez besoin des fichiers suivants:
ADFONTS.MFM
ADOBEPS4.DRV
ADOBEPS4.HLP
ADOBEPS5.DLL
ADOBEPSU.DLL
ADOBEPSU.HLP
DEFPRTR2.PPD
ICONLIB.DLL
PSMON.DLL
Copiez ces fichiers dans le répertoire /usr/share/cups/drivers - vous pourriez avoir à renommer certains fichiers de sorte que tous
 les noms soient complètement en majuscules.
Ensuite, ajouter un partage d'imprimante print$ pour les
 pilotes d'imprimantes à votre fichier
 smb.conf:
[print$]
    comment = Pilotes d'imprimantes
    path = /etc/samba/drivers
    browseable = yes
    guest ok = no
    read only = yes
    write list = root
Le répertoire de vos pilotes d'imprimantes peut être n'importe où
 dans le système; assurez-vous simplement qu'il est accessible en
 écriture aux utilisateurs indiqués par la directive 
write list. Assurez-vous également que chaque utilisateur de la liste 
write
 list
 possède un mot de passe SAMBA en utilisant la commande smbpasswd(1)
 sinon vous ne pourrez pas vous authentifier.
Enfin, exécutez la commande cupsaddsmb pour exporter les
 pilotes d'imprimantes pour une ou plusieurs files d'impression:
cupsaddsmb -U root printer1 ... printerN ENTREEExécuter la commande cupsaddsmb avec l'option -a exportera les imprimantes:
cupsaddsmb -U root -a ENTREE Imprimer vers des serveurs d'impression Windows 
CUPS peut imprimer vers des serveurs Windows de deux façons. La
 première utilise le protocole LPD sur le système CUPS et le service
 "Serveur d'impression TCP/IP" sur le système Windows NT. Vous pouvez
 trouver plus d'information au sujet de la première configuration dans
 la section précédente 
#LPDLPD  de ce chapitre.
La seconde méthode utilise le protocole SMB de Microsoft ("Server
 Message Block"). La prise en charge de ce protocole est fournie par le
 logiciel libre SAMBA. Vous pouvez télécharger SAMBA à l'adresse
 suivante:
http://www.samba.orghttp://www.samba.org Pour configurer CUPS pour SAMBA, exécutez la commande suivante:
ln -s `which smbspool` /usr/lib/cups/backend/smb ENTREELe programme smbspool(1) est fourni avec SAMBA depuis la
 version 2.0.6. Une fois que vous avez créé le lien vous pouvez
 configurer vos imprimantes en utilisant l'un des URI de périphérique
 suivants:
smb://groupe_de_travail_ou_domaine/serveur/nom_partage
smb://serveur/nom_partage
smb://utilisateur:mot_de_passe@groupe_de_travail_ou_domaine/serveur/nom_partage
smb://utilisateur:mot_de_passe@serveur/nom_partage
Le nom groupe_de_travai_ou_domaine doit être indiqué si
 votre système utilise un autre nom que la valeur standard de votre
 réseau. Les chaînes 
utilisateur:mot_de_passe sont
 nécessaires si vous imprimez vers des serveurs Windows NT ou des
 partages Windows 95/98 dont les mots de passe sont activés.
A - Licence d'utilisation du
 logiciel
Common UNIX Printing System License
 Agreement
(NdT : pour des raisons évidentes de droit, j'ai volontairement
 gardé la licence d'utilisation du logiciel et la licence GPL en anglais
 car une traduction de celles-ci pourrait donner lieu à des
 interprétations erronées... et en plus je ne suis pas juriste !)
Copyright 1997-2003 by Easy Software Products
 44141 AIRPORT VIEW DR STE 204
 HOLLYWOOD, MARYLAND 20636-3111 USA
 Voice: +1.301.373.9600
 Email: mailto:cups-info@cups.org cups-info@cups.org  WWW: http://www.cups.org http://www.cups.org 
Introduction 
The Common UNIX Printing SystemTM, ("CUPSTM"),
 is provided under the GNU General Public License ("GPL") and GNU
 Library General Public License ("LGPL"), Version 2. A copy of these
 licenses follow this introduction.
The GNU LGPL applies to the CUPS API library, located in the "cups"
 subdirectory of the CUPS source distribution and in the
 "/usr/include/cups" directory and "libcups.a", "libcups_s.a",
 "libcups.sl", or "libcups.so" files in the binary distributions.
The GNU GPL applies to the remainder of the CUPS distribution,
 including the "pstoraster" filter which is based upon GNU Ghostscript
 5.50 and the "pdftops" filter which is based upon Xpdf 0.93a.
For those not familiar with the GNU GPL, the license basically allows
 you to:
Use the CUPS software at no charge.Distribute verbatim copies of the software in source or binary form.Sell verbatim copies of the software for a media fee, or sell
 support for the software.
Distribute or sell printer drivers and filters that use CUPS so long
 as source code is made available under the GPL.
What this license does not allow you to do is make changes or
 add features to CUPS and then sell a binary distribution without source
 code. You must provide source for any new drivers, changes, or
 additions to the software, and all code must be provided under the GPL
 or LGPL as appropriate.
The GNU LGPL relaxes the "link-to" restriction, allowing you to
 develop applications that use the CUPS API library under other licenses
 and/or conditions as appropriate for your application.
Trademarks 
Easy Software Products has trademarked the Common UNIX Printing
 System, CUPS, and CUPS logo. These names and logos may be used freely
 in any direct port or binary distribution of CUPS. To use them in
 derivative products, please contract Easy Software Products for written
 permission. Our intention is to protect the value of these trademarks
 and ensure that any derivative product meets the same high-quality
 standards as the original.
Binary Distribution Rights 
Easy Software Products also sells rights to the CUPS source code
 under a binary distribution license for vendors that are unable to
 release source code for their drivers, additions, and modifications to
 CUPS under the GNU GPL and LGPL. For information please contact us at
 the address shown above.
The Common UNIX Printing System provides a "pstoraster" filter that
 utilizes the GNU GhostScript 5.50 core to convert PostScript files into
 a stream of raster images. For binary distribution licensing of this
 software, please contact:
 Miles Jones
 Director of Marketing
 Artifex Software Inc.
 454 Las Gallinas Ave., Suite 108
 San Rafael, CA 94903 USA
 Voice: +1.415.492.9861
 Fax: +1.415.492.9862
 EMail: mailto:info@arsoft.com info@arsoft.com 
The "pdftops" filter is based on the Xpdf 0.93a software. For binary
 distribution licensing of this software, please contact:
 Derek B. Noonburg
 Email: mailto:derekn@foolabs.com derekn@foolabs.com  WWW: http://www.foolabs.com/xpdf/ http://www.foolabs.com/xpdf/
Support 
Easy Software Products sells software support for CUPS as well as a
 commercial printing product based on CUPS called ESP Print Pro. You can
 find out more at our web site:
http://www.easysw.comhttp://www.easysw.com GNU GENERAL PUBLIC LICENSE 
Version 2, June 1991
Copyright 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim
copies of this license document, but changing it is not allowed.
Preamble 
The licenses for most software are designed to take away your freedom
 to share and change it. By contrast, the GNU General Public License is
 intended to guarantee your freedom to share and change free
 software--to make sure the software is free for all its users. This
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it. (Some other Free Software Foundation software is covered by
 the GNU Library General Public License instead.) You can apply it to
 your programs, too.
When we speak of free software, we are referring to freedom, not
 price. Our General Public Licenses are designed to make sure that you
 have the freedom to distribute copies of free software (and charge for
 this service if you wish), that you receive source code or can get it
 if you want it, that you can change the software or use pieces of it in
 new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
 anyone to deny you these rights or to ask you to surrender the rights.
 These restrictions translate to certain responsibilities for you if you
 distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
 gratis or for a fee, you must give the recipients all the rights that
 you have. You must make sure that they, too, receive or can get the
 source code. And you must show them these terms so they know their
 rights.
We protect your rights with two steps: (1) copyright the software,
 and (2) offer you this license which gives you legal permission to
 copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
 that everyone understands that there is no warranty for this free
 software. If the software is modified by someone else and passed on, we
 want its recipients to know that what they have is not the original, so
 that any problems introduced by others will not reflect on the original
 authors' reputations.
Finally, any free program is threatened constantly by software
 patents. We wish to avoid the danger that redistributors of a free
 program will individually obtain patent licenses, in effect making the
 program proprietary. To prevent this, we have made it clear that any
 patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
 modification follow.
GNU GENERAL PUBLIC LICENSE
 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
This License applies to any program or other work which contains a
 notice placed by the copyright holder saying it may be distributed
 under the terms of this General Public License. The "Program", below,
 refers to any such program or work, and a "work based on the Program"
 means either the Program or any derivative work under copyright law:
 that is to say, a work containing the Program or a portion of it,
 either verbatim or with modifications and/or translated into another
 language. (Hereinafter, translation is included without limitation in
 the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
 covered by this License; they are outside its scope. The act of running
 the Program is not restricted, and the output from the Program is
 covered only if its contents constitute a work based on the Program
 (independent of having been made by running the Program). Whether that
 is true depends on what the Program does.
You may copy and distribute verbatim copies of the Program's source
 code as you receive it, in any medium, provided that you conspicuously
 and appropriately publish on each copy an appropriate copyright notice
 and disclaimer of warranty; keep intact all the notices that refer to
 this License and to the absence of any warranty; and give any other
 recipients of the Program a copy of this License along with the
 Program.
You may charge a fee for the physical act of transferring a copy, and
 you may at your option offer warranty protection in exchange for a fee.
You may modify your copy or copies of the Program or any portion of
 it, thus forming a work based on the Program, and copy and distribute
 such modifications or work under the terms of Section 1 above, provided
 that you also meet all of these conditions:
You must cause the modified files to carry prominent notices stating
 that you changed the files and the date of any change.
You must cause any work that you distribute or publish, that in
 whole or in part contains or is derived from the Program or any part
 thereof, to be licensed as a whole at no charge to all third parties
 under the terms of this License.
if the modified program normally reads commands interactively when
 run, you must cause it, when started running for such interactive use
 in the most ordinary way, to print or display an announcement including
 an appropriate copyright notice and a notice that there is no warranty
 (or else, saying that you provide a warranty) and that users may
 redistribute the program under these conditions, and telling the user
 how to view a copy of this License. (Exception: if the Program itself
 is interactive but does not normally print such an announcement, your
 work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
 themselves, then this License, and its terms, do not apply to those
 sections when you distribute them as separate works. But when you
 distribute the same sections as part of a whole which is a work based
 on the Program, the distribution of the whole must be on the terms of
 this License, whose permissions for other licensees extend to the
 entire whole, and thus to each and every part regardless of who wrote
 it.
Thus, it is not the intent of this section to claim rights or contest
 your rights to work written entirely by you; rather, the intent is to
 exercise the right to control the distribution of derivative or
 collective works based on the Program.
In addition, mere aggregation of another work not based on the
 Program with the Program (or with a work based on the Program) on a
 volume of a storage or distribution medium does not bring the other
 work under the scope of this License.
You may copy and distribute the Program (or a work based on it,
 under Section 2) in object code or executable form under the terms of
 Sections 1 and 2 above provided that you also do one of the following:
Accompany it with the complete corresponding machine-readable source
 code, which must be distributed under the terms of Sections 1 and 2
 above on a medium customarily used for software interchange; or,
Accompany it with a written offer, valid for at least three years,
 to give any third party, for a charge no more than your cost of
 physically performing source distribution, a complete machine-readable
 copy of the corresponding source code, to be distributed under the
 terms of Sections 1 and 2 above on a medium customarily used for
 software interchange; or,
Accompany it with the information you received as to the offer to
 distribute corresponding source code. (This alternative is allowed only
 for noncommercial distribution and only if you received the program in
 object code or executable form with such an offer, in accord with
 Subsection b above.)
The source code for a work means the preferred form of the work for
 making modifications to it. For an executable work, complete source
 code means all the source code for all modules it contains, plus any
 associated interface definition files, plus the scripts used to control
 compilation and installation of the executable. However, as a special
 exception, the source code distributed need not include anything that
 is normally distributed (in either source or binary form) with the
 major components (compiler, kernel, and so on) of the operating system
 on which the executable runs, unless that component itself accompanies
 the executable.
If distribution of executable or object code is made by offering
 access to copy from a designated place, then offering equivalent access
 to copy the source code from the same place counts as distribution of
 the source code, even though third parties are not compelled to copy
 the source along with the object code.
You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License. Any attempt otherwise
 to copy, modify, sublicense or distribute the Program is void, and will
 automatically terminate your rights under this License. However,
 parties who have received copies, or rights, from you under this
 License will not have their licenses terminated so long as such parties
 remain in full compliance.
You are not required to accept this License, since you have not
 signed it. However, nothing else grants you permission to modify or
 distribute the Program or its derivative works. These actions are
 prohibited by law if you do not accept this License. Therefore, by
 modifying or distributing the Program (or any work based on the
 Program), you indicate your acceptance of this License to do so, and
 all its terms and conditions for copying, distributing or modifying the
 Program or works based on it.
Each time you redistribute the Program (or any work based on the
 Program), the recipient automatically receives a license from the
 original licensor to copy, distribute or modify the Program subject to
 these terms and conditions. You may not impose any further restrictions
 on the recipients' exercise of the rights granted herein. You are not
 responsible for enforcing compliance by third parties to this License.
If, as a consequence of a court judgment or allegation of patent
 infringement or for any other reason (not limited to patent issues),
 conditions are imposed on you (whether by court order, agreement or
 otherwise) that contradict the conditions of this License, they do not
 excuse you from the conditions of this License. If you cannot
 distribute so as to satisfy simultaneously your obligations under this
 License and any other pertinent obligations, then as a consequence you
 may not distribute the Program at all. For example, if a patent license
 would not permit royalty-free redistribution of the Program by all
 those who receive copies directly or indirectly through you, then the
 only way you could satisfy both it and this License would be to refrain
 entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
 any particular circumstance, the balance of the section is intended to
 apply and the section as a whole is intended to apply in other
 circumstances.
It is not the purpose of this section to induce you to infringe any
 patents or other property right claims or to contest validity of any
 such claims; this section has the sole purpose of protecting the
 integrity of the free software distribution system, which is
 implemented by public license practices. Many people have made generous
 contributions to the wide range of software distributed through that
 system in reliance on consistent application of that system; it is up
 to the author/donor to decide if he or she is willing to distribute
 software through any other system and a licensee cannot impose that
 choice.
This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License may
 add an explicit geographical distribution limitation excluding those
 countries, so that distribution is permitted only in or among countries
 not thus excluded. In such case, this License incorporates the
 limitation as if written in the body of this License.
The Free Software Foundation may publish revised and/or new versions
 of the General Public License from time to time. Such new versions will
 be similar in spirit to the present version, but may differ in detail
 to address new problems or concerns.
Each version is given a distinguishing version number. If the Program
 specifies a version number of this License which applies to it and "any
 later version", you have the option of following the terms and
 conditions either of that version or of any later version published by
 the Free Software Foundation. If the Program does not specify a version
 number of this License, you may choose any version ever published by
 the Free Software Foundation.
If you wish to incorporate parts of the Program into other free
 programs whose distribution conditions are different, write to the
 author to ask for permission. For software which is copyrighted by the
 Free Software Foundation, write to the Free Software Foundation; we
 sometimes make exceptions for this. Our decision will be guided by the
 two goals of preserving the free status of all derivatives of our free
 software and of promoting the sharing and reuse of software generally.
NO WARRANTY
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
 EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
 ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
 YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
 NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
 AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
 PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
 FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
 DAMAGES.
END OF TERMS AND CONDITIONS
GNU LIBRARY GENERAL PUBLIC LICENSE 
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL.  It is
 numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble 
The licenses for most software are designed to take away your freedom
 to share and change it. By contrast, the GNU General Public Licenses
 are intended to guarantee your freedom to share and change free
 software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
 specially designated Free Software Foundation software, and to any
 other libraries whose authors decide to use it. You can use it for your
 libraries, too.
When we speak of free software, we are referring to freedom, not
 price. Our General Public Licenses are designed to make sure that you
 have the freedom to distribute copies of free software (and charge for
 this service if you wish), that you receive source code or can get it
 if you want it, that you can change the software or use pieces of it in
 new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
 anyone to deny you these rights or to ask you to surrender the rights.
 These restrictions translate to certain responsibilities for you if you
 distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
 or for a fee, you must give the recipients all the rights that we gave
 you. You must make sure that they, too, receive or can get the source
 code. If you link a program with the library, you must provide complete
 object files to the recipients so that they can relink them with the
 library, after making changes to the library and recompiling it. And
 you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright the
 library, and (2) offer you this license which gives you legal
 permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain that
 everyone understands that there is no warranty for this free library.
 If the library is modified by someone else and passed on, we want its
 recipients to know that what they have is not the original version, so
 that any problems introduced by others will not reflect on the original
 authors' reputations.
Finally, any free program is threatened constantly by software
 patents. We wish to avoid the danger that companies distributing free
 software will individually obtain patent licenses, thus in effect
 transforming the program into proprietary software. To prevent this, we
 have made it clear that any patent must be licensed for everyone's free
 use or not licensed at all.
Most GNU software, including some libraries, is covered by the
 ordinary GNU General Public License, which was designed for utility
 programs. This license, the GNU Library General Public License, applies
 to certain designated libraries. This license is quite different from
 the ordinary one; be sure to read it in full, and don't assume that
 anything in it is the same as in the ordinary license.
The reason we have a separate public license for some libraries is
 that they blur the distinction we usually make between modifying or
 adding to a program and simply using it. Linking a program with a
 library, without changing the library, is in some sense simply using
 the library, and is analogous to running a utility program or
 application program. However, in a textual and legal sense, the linked
 executable is a combined work, a derivative of the original library,
 and the ordinary General Public License treats it as such.
Because of this blurred distinction, using the ordinary General
 Public License for libraries did not effectively promote software
 sharing, because most developers did not use the libraries. We
 concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
 users of those programs of all benefit from the free status of the
 libraries themselves. This Library General Public License is intended
 to permit developers of non-free programs to use free libraries, while
 preserving your freedom as a user of such programs to change the free
 libraries that are incorporated in them. (We have not seen how to
 achieve this as regards changes in header files, but we have achieved
 it as regards changes in the actual functions of the Library.) The hope
 is that this will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
 modification follow. Pay close attention to the difference between a
 "work based on the library" and a "work that uses the library". The
 former contains code derived from the library, while the latter only
 works together with the library.
Note that it is possible for a library to be covered by the ordinary
 General Public License rather than by this special one.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software
 library which contains a notice placed by the copyright holder or other
 authorized party saying it may be distributed under the terms of this
 Library General Public License (also called "this License"). Each
 licensee is addressed as "you".
A "library" means a collection of software functions and/or data
 prepared so as to be conveniently linked with application programs
 (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
 which has been distributed under these terms. A "work based on the
 Library" means either the Library or any derivative work under
 copyright law: that is to say, a work containing the Library or a
 portion of it, either verbatim or with modifications and/or translated
 straightforwardly into another language. (Hereinafter, translation is
 included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
 making modifications to it. For a library, complete source code means
 all the source code for all modules it contains, plus any associated
 interface definition files, plus the scripts used to control
 compilation and installation of the library.
Activities other than copying, distribution and modification are not
 covered by this License; they are outside its scope. The act of running
 a program using the Library is not restricted, and output from such a
 program is covered only if its contents constitute a work based on the
 Library (independent of the use of the Library in a tool for writing
 it). Whether that is true depends on what the Library does and what the
 program that uses the Library does.
1. You may copy and distribute verbatim copies of
 the Library's complete source code as you receive it, in any medium,
 provided that you conspicuously and appropriately publish on each copy
 an appropriate copyright notice and disclaimer of warranty; keep intact
 all the notices that refer to this License and to the absence of any
 warranty; and distribute a copy of this License along with the Library.
You may charge a fee for the physical act of transferring a copy, and
 you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library
 or any portion of it, thus forming a work based on the Library, and
 copy and distribute such modifications or work under the terms of
 Section 1 above, provided that you also meet all of these conditions:
The modified work must itself be a software library.
You must cause the files modified to carry prominent notices stating
 that you changed the files and the date of any change.
You must cause the whole of the work to be licensed at no charge to
 all third parties under the terms of this License.
If a facility in the modified Library refers to a function or a
 table of data to be supplied by an application program that uses the
 facility, other than as an argument passed when the facility is
 invoked, then you must make a good faith effort to ensure that, in the
 event an application does not supply such function or table, the
 facility still operates, and performs whatever part of its purpose
 remains meaningful.
(For example, a function in a library to compute square roots has a
 purpose that is entirely well-defined independent of the application.
 Therefore, Subsection 2d requires that any application-supplied
 function or table used by this function must be optional: if the
 application does not supply it, the square root function must still
 compute square roots.)
These requirements apply to the modified work as a whole. If
 identifiable sections of that work are not derived from the Library,
 and can be reasonably considered independent and separate works in
 themselves, then this License, and its terms, do not apply to those
 sections when you distribute them as separate works. But when you
 distribute the same sections as part of a whole which is a work based
 on the Library, the distribution of the whole must be on the terms of
 this License, whose permissions for other licensees extend to the
 entire whole, and thus to each and every part regardless of who wrote
 it.
Thus, it is not the intent of this section to claim rights or contest
 your rights to work written entirely by you; rather, the intent is to
 exercise the right to control the distribution of derivative or
 collective works based on the Library.
In addition, mere aggregation of another work not based on the
 Library with the Library (or with a work based on the Library) on a
 volume of a storage or distribution medium does not bring the other
 work under the scope of this License.
3. You may opt to apply the terms of the ordinary
 GNU General Public License instead of this License to a given copy of
 the Library. To do this, you must alter all the notices that refer to
 this License, so that they refer to the ordinary GNU General Public
 License, version 2, instead of to this License. (If a newer version
 than version 2 of the ordinary GNU General Public License has appeared,
 then you can specify that version instead if you wish.) Do not make any
 other change in these notices.
Once this change is made in a given copy, it is irreversible for that
 copy, so the ordinary GNU General Public License applies to all
 subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the
 Library into a program that is not a library.
4. You may copy and distribute the Library (or a
 portion or derivative of it, under Section 2) in object code or
 executable form under the terms of Sections 1 and 2 above provided that
 you accompany it with the complete corresponding machine-readable
 source code, which must be distributed under the terms of Sections 1
 and 2 above on a medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
 from a designated place, then offering equivalent access to copy the
 source code from the same place satisfies the requirement to distribute
 the source code, even though third parties are not compelled to copy
 the source along with the object code.
5. A program that contains no derivative of any
 portion of the Library, but is designed to work with the Library by
 being compiled or linked with it, is called a "work that uses the
 Library". Such a work, in isolation, is not a derivative work of the
 Library, and therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
 creates an executable that is a derivative of the Library (because it
 contains portions of the Library), rather than a "work that uses the
 library". The executable is therefore covered by this License. Section
 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
 that is part of the Library, the object code for the work may be a
 derivative work of the Library even though the source code is not.
 Whether this is true is especially significant if the work can be
 linked without the Library, or if the work is itself a library. The
 threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure
 layouts and accessors, and small macros and small inline functions (ten
 lines or less in length), then the use of the object file is
 unrestricted, regardless of whether it is legally a derivative work.
 (Executables containing this object code plus portions of the Library
 will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
 distribute the object code for the work under the terms of Section 6.
 Any executables containing that work also fall under Section 6, whether
 or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may
 also compile or link a "work that uses the Library" with the Library to
 produce a work containing portions of the Library, and distribute that
 work under terms of your choice, provided that the terms permit
 modification of the work for the customer's own use and reverse
 engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
 Library is used in it and that the Library and its use are covered by
 this License. You must supply a copy of this License. If the work
 during execution displays copyright notices, you must include the
 copyright notice for the Library among them, as well as a reference
 directing the user to the copy of this License. Also, you must do one
 of these things:
Accompany the work with the complete corresponding machine-readable
 source code for the Library including whatever changes were used in the
 work (which must be distributed under Sections 1 and 2 above); and, if
 the work is an executable linked with the Library, with the complete
 machine-readable "work that uses the Library", as object code and/or
 source code, so that the user can modify the Library and then relink to
 produce a modified executable containing the modified Library. (It is
 understood that the user who changes the contents of definitions files
 in the Library will not necessarily be able to recompile the
 application to use the modified definitions.)
Accompany the work with a written offer, valid for at least three
 years, to give the same user the materials specified in Subsection 6a,
 above, for a charge no more than the cost of performing this
 distribution.
If distribution of the work is made by offering access to copy from
 a designated place, offer equivalent access to copy the above specified
 materials from the same place.
Verify that the user has already received a copy of these materials
 or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
 Library" must include any data and utility programs needed for
 reproducing the executable from it. However, as a special exception,
 the source code distributed need not include anything that is normally
 distributed (in either source or binary form) with the major components
 (compiler, kernel, and so on) of the operating system on which the
 executable runs, unless that component itself accompanies the
 executable.
It may happen that this requirement contradicts the license
 restrictions of other proprietary libraries that do not normally
 accompany the operating system. Such a contradiction means you cannot
 use both them and the Library together in an executable that you
 distribute.
7. You may place library facilities that are a work
 based on the Library side-by-side in a single library together with
 other library facilities not covered by this License, and distribute
 such a combined library, provided that the separate distribution of the
 work based on the Library and of the other library facilities is
 otherwise permitted, and provided that you do these two things:
Accompany the combined library with a copy of the same work based on
 the Library, uncombined with any other library facilities. This must be
 distributed under the terms of the Sections above.
Give prominent notice with the combined library of the fact that
 part of it is a work based on the Library, and explaining where to find
 the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with,
 or distribute the Library except as expressly provided under this
 License. Any attempt otherwise to copy, modify, sublicense, link with,
 or distribute the Library is void, and will automatically terminate
 your rights under this License. However, parties who have received
 copies, or rights, from you under this License will not have their
 licenses terminated so long as such parties remain in full compliance.
9. You are not required to accept this License,
 since you have not signed it. However, nothing else grants you
 permission to modify or distribute the Library or its derivative works.
 These actions are prohibited by law if you do not accept this License.
 Therefore, by modifying or distributing the Library (or any work based
 on the Library), you indicate your acceptance of this License to do so,
 and all its terms and conditions for copying, distributing or modifying
 the Library or works based on it.
10. Each time you redistribute the Library (or any
 work based on the Library), the recipient automatically receives a
 license from the original licensor to copy, distribute, link with or
 modify the Library subject to these terms and conditions. You may not
 impose any further restrictions on the recipients' exercise of the
 rights granted herein. You are not responsible for enforcing compliance
 by third parties to this License.
11. If, as a consequence of a court judgment or
 allegation of patent infringement or for any other reason (not limited
 to patent issues), conditions are imposed on you (whether by court
 order, agreement or otherwise) that contradict the conditions of this
 License, they do not excuse you from the conditions of this License. If
 you cannot distribute so as to satisfy simultaneously your obligations
 under this License and any other pertinent obligations, then as a
 consequence you may not distribute the Library at all. For example, if
 a patent license would not permit royalty-free redistribution of the
 Library by all those who receive copies directly or indirectly through
 you, then the only way you could satisfy both it and this License would
 be to refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under
 any particular circumstance, the balance of the section is intended to
 apply, and the section as a whole is intended to apply in other
 circumstances.
It is not the purpose of this section to induce you to infringe any
 patents or other property right claims or to contest validity of any
 such claims; this section has the sole purpose of protecting the
 integrity of the free software distribution system which is implemented
 by public license practices. Many people have made generous
 contributions to the wide range of software distributed through that
 system in reliance on consistent application of that system; it is up
 to the author/donor to decide if he or she is willing to distribute
 software through any other system and a licensee cannot impose that
 choice.
This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is
 restricted in certain countries either by patents or by copyrighted
 interfaces, the original copyright holder who places the Library under
 this License may add an explicit geographical distribution limitation
 excluding those countries, so that distribution is permitted only in or
 among countries not thus excluded. In such case, this License
 incorporates the limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised
 and/or new versions of the Library General Public License from time to
 time. Such new versions will be similar in spirit to the present
 version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
 specifies a version number of this License which applies to it and "any
 later version", you have the option of following the terms and
 conditions either of that version or of any later version published by
 the Free Software Foundation. If the Library does not specify a license
 version number, you may choose any version ever published by the Free
 Software Foundation.
14. If you wish to incorporate parts of the Library
 into other free programs whose distribution conditions are incompatible
 with these, write to the author to ask for permission. For software
 which is copyrighted by the Free Software Foundation, write to the Free
 Software Foundation; we sometimes make exceptions for this. Our
 decision will be guided by the two goals of preserving the free status
 of all derivatives of our free software and of promoting the sharing
 and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE,
 THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY
 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
 HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT
 WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
 OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU
 ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
 AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO
 MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
 LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
 OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
 LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
 DAMAGES.
END OF TERMS AND CONDITIONS
B - Réglages réseau courants 
Cette annexe englobe de nombreux serveurs d'impression et interfaces
 réseau TCP/IP disponibles actuellement sur le marché.
Configurer une interface réseau 
Lorsque vous installez votre imprimante réseau ou votre serveur
 d'impression pour la première fois sur votre réseau local (LAN), vous
 devez configurer son adresse IP ("Internet Protocol"). Sur la plupart
 des imprimantes réseau pour groupe de travail, vous pouvez le faire
 directement au moyen du panneau de contrôle. Cependant, dans la plupart
 des cas, vous préfèrerez assigner l'adresse IP à distance depuis votre
 station de travail. Cela rend l'administration un peu plus simple et
 évite d'assigner accidentellement des adresses réseau eu doublons.
Pour configurer votre imprimante ou votre serveur d'impression pour
 une assignation à distance de l'adresse réseau, vous aurez besoin de
 son adresse MAC (ethernet Media Access Control), également appelée
 adresse de noeud ("node address") dans certains cas. Vous aurez
 également besoin de connaître l'adresse IP que vous voulez utiliser
 pour ce matériel. L'adresse MAC peut souvent être trouvée sur la page
 de test de l'imprimante ou sur son panneau arrière.
Configuration de l'adresse IP utilisant ARP 
La méthode la plus simple pour installer l'adresse IP d'un matériel
 réseau est d'utiliser la commande 
arp(8). La commande arp
 envoie un paquet ARP ("Address Resolution Protocol") à
 l'adresse MAC indiquée tout en lui indiquant son adresse IP:
arp -s adresse-ip adresse-mac ENTREEarp -s hote.domaine.com 08:00:69:00:12:34 ENTREEarp -s 192.0.2.2 08:00:69:00:12:34 ENTREE Configuration de l'adresse IP utilisant RARP 
La manière la plus souple d'assigner une adresse IP sous UNIX est
 d'utiliser le protocole RARP ("Reverse Address Resolution Protocol").
 RARP permet à un matériel réseau d'émettre une requête d'adresse IP en
 utilisant sont adresse MAC, un ou plusieurs serveurs RARP sur le réseau
 répondront à cette requête par un paquet ARP proposant une adresse IP
 que le matériel réseau peut utiliser.
RARP devrait être utilisé lorsque vous administrez de nombreuses
 imprimantes ou serveurs d'impression, ou quand un matériel réseau ne
 peut se "souvenir" de son adresse IP après chaque redémarrage. Si vous
 n'avez qu'une seule imprimante ou serveur d'impression, la commande 
arp
 est la plus adaptée.
Certains systèmes d'exploitation UNIX utilisent un programme nommé rarpd(8)
 pour administrer RARP. Les autres, tels que GNU/Linux,
 prennent en charge ce protocole à l'intérieur du noyau. Pour les
 systèmes qui utilisent le programme 
rarpd vous aurez
 besoin de le démarrer avant que les requêtes RARP commencent:
rarpd ENTREESous IRIX vous pouvez activer cette fonctionnalité en standard en
 utilisant la commande suivante:
chkconfig rarpd on ENTREELe programme rarpd et la version noyau de la prise en
 charge RARP lisent toutes les deux une liste des adresses MAC et IP à
 partir d'un fichier
 /etc/ethers. Chaque ligne comporte
 l'adresse Ethernet suivie de l'adresse IP ou du nom d'hôte:
08:00:69:00:12:34 mon_imprimante.mon_domaine.com
08:00:69:00:12:34 192.0.2.2
Ajoutez une ligne à ce fichier et redémarrez l'imprimante ou le
 serveur d'impression pour qu'elle/il récupère son adresse IP.
Configuration de l'adresse IP utilisant BOOTP 
Le protocole BOOTP est utilisé quand vous avez besoin de fournir des
 informations supplémentaires à l'interface réseau telles que
 l'emplacement du fichier de configuration. En utilisant le programme
 standard 
bootpd(8) fourni sous UNIX, vous avez simplement
 besoin d'ajouter la ligne suivante au fichier
 /etc/bootptab pour IRIX:
mon_imprimante 08:00:69:00:12:34 192.0.2.2 
mon_imprimante.bootLes versions plus récentes de bootpd utilisent un format
 différent:
mon_imprimante:ha=080069001234:ip=192.0.2.2:
t144=mon_imprimante.bootLe fichier mon_imprimante.boot est situé en standard dans
 le répertoire
 /usr/local/boot Si vous n'avez pas besoin de
 fournir un fichier de démarrage, vous pouvez laisser vide la fin de la
 ligne.
 NOTE:Certaines versions d'UNIX n'activent pas le service BOOTP en
 standard. Le fichier
 /etc/inetd.conf contient généralement
 une ligne pour le service BOOTP. ELle peut être décommentée si
 nécessaire.
Vérifier la connexion de l'imprimante 
Pour vérifier que l'adresse IP a bien été assignée et que
 l'imprimante est correctement connectée au réseau local (LAN), tapez:
ping adresse-ip ENTREESi la connexion fonctionne correctement vous devriez voir apparaître
 quelque chose de la forme suivante :
ping mon_imprimante ENTREEPING mon_imprimante (192.0.2.2): 56 data bytes
64 bytes from 192.0.2.2: icmp_seq=0 ttl=15 time=5 ms
64 bytes from 192.0.2.2: icmp_seq=1 ttl=15 time=3 ms
64 bytes from 192.0.2.2: icmp_seq=2 ttl=15 time=3 ms
64 bytes from 192.0.2.2: icmp_seq=3 ttl=15 time=3 ms
Sinon, vérifiez que que l'imprimante ou le serveur d'impression est
 bien connecté au réseau (NdT : vérifiez ces @#*¤%§ câbles !), qu'elle
 est sous tension et que l'adresse IP est bonne. Vous pouvez également
 voir la configuration réseau en imprimant une page de test à partir du
 panneau de contrôle du matériel.
Réglages d'interfaces réseau et serveur d'impression
 courants
Une fois que vous avez configuré l'adresse IP, vous pouvez accéder à
 l'imprimante ou au serveur d'impression en utilisant les programmes
 d'arrière-plan 
ipp, lpd, ou socket. La liste qui suit donne les interfaces réseau et serveurs d'impression
 courants ainsi que les réglages que vous devriez utiliser dans CUPS:
Modèle / FabricantURI de
 périphérique
Apple LaserWriter lpd:// address
/PASSTHRU Axis w/o IPP
 #AXIS (voir instructions) socket://address
 :9100
 socket://address:9101
 socket://address:9102 Axis w/IPP ipp://address /LPT1
 ipp://address/LPT2
 ipp://address/COM1 Castelle LANpressTM  lpd://
address/pr1
 lpd://address/pr2
 lpd://address/pr3 DPI NETPrint lpd://address /pr1
 lpd://address/pr2
 lpd://address/pr3 EFI® Fiery® RIP lpd:// address
/print EPSON® Multiprotocol Ethernet
 Interface Board
socket://address Extended System ExtendNET  lpd://
address/pr1
 lpd://address/pr2
 lpd://address/pr3 Hewlett Packard JetDirect w/o IPP  socket://
address:9100
 socket://address:9101
 socket://address:9102 Hewlett Packard JetDirect w/IPP  ipp://
address/ipp
 ipp://address/ipp/port1
 ipp://address/ipp/port2
 ipp://address/ipp/port3 Intel® NetportExpress XL, PRO/100  lpd://
address/LPT1_PASSTHRU
 lpd://address/LPT2_PASSTHRU
 lpd://address/COM1_PASSTHRU LexmarkTM MarkNet  lpd://
address/ps Linksys EtherFast®
 #LINKSYS (voir instructions) socket://address
 :4010
 socket://address:4020
 socket://address:4030 Kodak® lpd://address/ps QMS® CrownNetTM  lpd://
address/ps Tektronix® PhaserShareTM  socket://
address:9100 XEROX® 4512 NIC lpd:// address
/PORT1 XEROX® XNIC lpd://address /PASSTHRU
XEROX® (most others) socket:// address
:5503 
Configuration de serveurs d'impression Axis 
Les serveurs d'impression Axis peuvent être configurés en utilisant
 ARP, RARP ou BOOTP. Cependant, sur certains modèles ne prenant pas en
 charge IPP, une configuration supplémentaire est nécessaire pour
 permettre au serveur de dialoguer avec CUPS.
Chaque serveur d'impression possède une fichier de configuration
 nommé
 config qui contient la liste des paramètres réseau à
 utiliser par le serveur. Pour modifier ce fichier, vous devez d'abord
 le télécharger à partir du serveur d'impression en utilisant le
 programme 
ftp(1):
ftp adresse-ip ENTREEConnected to ip-address.
220 Axis NPS ### FTP Printer Server V#.## MON DD YEAR ready.
ftp> 
user root ENTREE331 User name ok, need password
Password: 
pass ENTREE (le mot de passe n'apparaît pas)230 User logged in
ftp> 
get config ENTREElocal: config remote: config
200 PORT command successful.
150 Opening data connection for config (192,0,2,2),
(mode ascii).
226 Transfer complete.
##### bytes received in #.## seconds (##### Kbytes/s)
ftp> 
quit ENTREE221 Goodbye.
Ensuite, éditez son contenu avec votre éditeur de texte préféré et
 repérez les lignes commençant par:
RTN_OPT.     : YES
RTEL_PR1.    : 0
RTEL_PR2.    : 0
RTEL_PR3.    : 0
RTEL_PR4.    : 0
RTEL_PR5.    : 0
RTEL_PR6.    : 0
RTEL_PR7.    : 0
RTEL_PR8.    : 0
 Changez la ligne 
RTN_OPT en:
RTN_OPT.     : 
NOCela désactive le protocole "Reverse TELNET" et active le protocole
 standard TELNET sur le serveur d'impression. Ensuite, assignez un
 numéro de port pour chaque port parallèle ou série sur le serveur,
 comme suit:
RTEL_PR1.    : 
9100RTEL_PR2.    : 
9101RTEL_PR3.    : 
9102RTEL_PR4.    : 
9103RTEL_PR5.    : 
9104RTEL_PR6.    : 
9105RTEL_PR7.    : 
9106RTEL_PR8.    : 
9107Cela a principalement pour effet de forcer le serveur Axis à
 ressembler à un serveur d'impression Hewlett Packard JetDirect EX.
 Sauvegardez le fichier et installez le sur le serveur d'impression dans
 le fichier
 config au moyen de la commande ftp:
ftp adresse-ip ENTREEConnected to adresse-ip.
220 Axis NPS ### FTP Printer Server V#.## MON DD YEAR ready.
ftp> 
user root ENTREE331 User name ok, need password
Password: 
pass ENTREE (le mot de passe n'est pas affiché)230 User logged in
ftp> 
put config CONFIG ENTREElocal: config remote: CONFIG
200 PORT command successful.
150 Opening data connection for config (192,0,2,2), (mode ascii).
226 Transfer complete.
##### bytes received in #.## seconds (##### Kbytes/s)
ftp> 
get hardreset ENTREElocal: hardreset remote: hardreset
200 PORT command successful.
421 Axis NPS ### hard reset, closing connection.
ftp> 
quit ENTREE221 Goodbye.
Votre serveur d'impression Axis est à présent opérationnel!
Configuration de serveurs d'impression Linksys 
Les serveurs d'impression LinkSys peuvent être configurés au moyen de
 ARP, RARP ou BOOTP. Comme certains serveurs d'impression Axis anciens,
 une configuration supplémentaire TCP/IP est nécessaire pour les faire
 fonctionner avec CUPS
Chaque serveur d'impression possède une fichier de configuration
 nommé
 config qui contient la liste des paramètres réseau à
 utiliser par le serveur. Pour modifier ce fichier, vous devez d'abord
 le télécharger à partir du serveur d'impression en utilisant le
 programme 
ftp(1):
ftp -n adresse-ip ENTREEConnected to adress-ip.
220 Print Server Ready.
Remote system type is Print.
ftp> 
get CONFIG ENTREElocal: CONFIG remote: CONFIG
200 Command OK.
150 Open ASCII Mode Connection.
WARNING! 68 bare linefeeds received in ASCII mode
File may not have transferred correctly.
226 Transfer complete.
##### bytes received in #.## seconds (##### Kbytes/s)
ftp> 
quit ENTREE221 Goodbye.
Ensuite, éditez son contenu avec votre éditeur de texte préféré et
 repérez les lignes commençant par:
0100 L1_PROUT:P1
0120 L2_PROUT:P1
0140 L3_PROUT:P1
Changez le numéro de port pour chaque port parallèle et série sur le
 serveur, comme suit:
0100 L1_PROUT:
P10120 L2_PROUT:
P20140 L3_PROUT:
P3Cela relie chaque imprimante virtuelle à un port physique.
 Sauvegardez le fichier et installez le sur le serveur d'impression dans
 le fichier
 config au moyen de la commande ftp:
ftp -n adresse-ip ENTREEConnected to adresse-ip.
220 Print Server Ready.
Remote system type is Print.
ftp> 
put CONFIG ENTREElocal: CONFIG remote: CONFIG
200 Command OK.
150 Open ASCII Mode Connection.
226 Transfer complete.
##### bytes received in #.## seconds (##### Kbytes/s)
ftp> 
quit ENTREE221 Goodbye.
Votre serveur d'impression SysLink est désomais opérationnel !
C - Pilotes d'imprimantes 
Cette annexe dresse la liste des pilotes d'imprimantes qui sont
 fournis avec CUSP.
Pilotes d'imprimantes 
CUPS inclut les pilotes d'imprimantes suivants:
#EPSON9EPSON 9-pin Dot Matrix , epson9.ppd #EPSON24EPSON 24-pin Dot Matrix , epson24.ppd #STCOLOREPSON Stylus Color , stcolor.ppd #STPHOTOEPSON Stylus Photo , stphoto.ppd #DESKJETHP DeskJet , deskjet.ppd #LASERJETHP LaserJet , laserjet.ppd EPSON 9-pin Dot Matrix 
Le pilote EPSON 9-pin Dot Matrix (epson9.ppd) prend en
 charge les imprimantes 9 aiguilles qui utilisent le jeu de commandes
 ESC/P. Il fournit l'impression en noir et blanc dans les résolutions
 60x72, 120x72, et 240x72 PPP (DPI).
EPSON 24-pin Dot Matrix 
Le pilote EPSON 24-pin Dot Matrix (epson9.ppd) prend en
 charge les imprimantes 24 aiguilles qui utilisent le jeu de commandes
 ESC/P. Il fournit l'impression en noir et blanc dans les résolutions
 120x180, 180x180, 360x180, et 360x360 PPP (DPI).
EPSON Stylus Color 
Le pilote EPSON Stylus Color (stcolor.ppd) prend en charge
 les imprimantes EPSON Stylus Color qui utilisent le jeu de commandes
 ESC/P2. Il fournit l'impression en couleur (CMYK) ainsi qu'en noir et
 blanc dans les résolutions 180, 360, et 720 PPP (DPI).
EPSON Stylus Photo 
Le pilote EPSON Stylus Photo (stphoto.ppd) prend en charge
 les imprimantes EPSON Stylus Photo qui utilisent le jeu de commandes
 ESC/P2. Il fournit l'impression en couleur (CMYK) ainsi qu'en noir et
 blanc dans les résolutions 180, 360, et 720 PPP (DPI).
HP DeskJet 
Le pilote HP DeskJet (deskjet.ppd) prend en charge les
 imprimantes HP DeskJet qui utilisent le jeu de commandes PCL. Il
 fournit l'imrpession en couleur (CMYK) ainsi qu'en noir et blanc dans
 les résolutions 150, 300, et 600 PPP (DPI).
Les imprimantes DeskJet qui utilisent le jeu de commandes HP-PPA
 (720C, 722C, 820C, and 1100C)
 ne sont pas prises en charge du
 fait de l'absence totale de documentation de la part de Hewlett
 Packard.
Le "duplexer" fourni avec les imprimantes de la série d'imprimantes
 HP DeskJet 900 n'est également pas pris en charge pour les mêmes
 raisons.
HP LaserJet 
Le pilote HP LaserJet (laserjet.ppd) prend en charge les
 impriamntes HP LaserJet qui utilisent le jeu de commandes PCL. Il
 fournit l'impression seulement en noir et blanc et prend en charge le
 "duplexer" s'il est installé. Il prend en charge les résolutions 150,
 300, et 600 PPP (DPI).
Les imprimantes LaserJet qui n'utilisent pas le jeu de commandes PCL
 (3100, 3150) ne sont pas prises en charge du fait d'une absence totale
 de documentation de la part de Hewlett Packard.
D - Liste des fichiers 
Cette annexe dresse la liste des fichiers et répertoire qui sont
 installés par CUPS
CheminDescription /etc/cups/certs/ Emplacement des fichiers
 des certificats d'authentification pour les clients HTTP locaux.
/etc/cups/classes.conf Fichiers de
 configuration des classes d'imprimantes pour l'ordonnanceur.
/etc/cups/cupsd.conf Fichier de
 configuration de l'ordonnanceur.
/etc/cups/interfaces/ Emplacement des
 scripts d'interface System V pour les imprimantes.
/etc/cups/mime.convs Liste des filtres de
 fichiers standards inclus dans ESP Print Pro.
/etc/cups/mime.types Liste des types de
 fichiers reconnus par ESP Print Pro.
/etc/cups/ppd/ Emplacement des fichiers PPD
 ("PostScript Printer Description") pour les imprimantes.
/etc/cups/printers.conf Fichier de
 configuration des imprimantes pour l'ordonnanceur.
/usr/bin/cancel La commande d'annulation de
 travaux System V.
/usr/bin/disable La commande de
 désactivation d'imprimante System V.
/usr/bin/enable La commande d'activation
 d'imprimante System V.
/usr/bin/lp La commande d'impression System
 V.
/usr/bin/lpoptions Jeu d'options
 d'impression et de valeurs implicites personnalisées par l'utiliseur.
/usr/bin/lppasswd Ajoute, modifie et retire
 des mots de passe pour des comptes "Digest".
/usr/bin/lpq La commande d'état Berkeley. /usr/bin/lpr La commande d'impression
 Berkeley.
/usr/bin/lprm La commande d'annulation de
 travaux Berkeley.
/usr/bin/lpstat La commande d'état System
 V.
/usr/include/cups/ Fichiers d'en-tête de
 l'API CUPS.
/usr/lib32/libcups.a
 /usr/lib32/libcupsimage.a Librairies statiques (IRIX 6.5) /usr/lib/libcups.a
 /usr/lib/libcupsimage.a Librairies statiques (tous les
 autres systèmes)
/usr/lib/libcups.sl.2
 /usr/lib/libcupsimage.sl.2 Librairies partagées (HP-UX) /usr/lib32/libcups.so.2
 /usr/lib32/libcupsimage.so.2 Librairies partagées (IRIX
 6.5)
/usr/lib/libcups.so.2
 /usr/lib/libcupsimage.so.2 Librairies partagées (tous les
 autres systèmes)
/usr/lib/cups/backend/ Programme
 d'arrière-plan pour connexion à diverses imprimantes.
/usr/lib/cups/cgi-bin/ Programmes CGI pour
 l'ordonnanceur.
/usr/lib/cups/daemon/ Démons pour la
 surveillance et pour la prise en charge LPD.
/usr/lib/cups/filter/ Filtres pour divers
 types de fichiers.
/usr/lib/locale/ Emplacement des fichiers
 de messages spécifiques à chaque langue. (System V)
/usr/lib/nls/msg/ Emplacement des fichiers
 de messages spécifiques à chaque langue. (Compaq Tru64 UNIX)
/usr/share/locale/ Emplacement des fichiers
 de messages spécifiques à chaque langue. (GNU/Linux, *BSD)
/usr/sbin/accept La commande d'acceptation
 de travaux.
/usr/sbin/cupsd L'ordonnanceur CUPS. /usr/sbin/lpadmin L'outil d'administration
 d'imprimante System V.
/usr/sbin/lpc L'outil d'administration
 d'imprimante Berkeley.
/usr/sbin/lpinfo Les commandes
 "get-devices" et "get-ppds".
/usr/sbin/lpmove La commande "move-jobs". /usr/sbin/reject La commande "reject-jobs". /usr/share/catman/a_man/
 /usr/share/catman/u_man/ Pages de manuel (IRIX) /usr/share/man/ Pages de manuel (Compaq
 Tru64 UNIX, HP-UX, Solaris)
/usr/man/ Pages de manuel (tous les autres
 systèmes)
/usr/share/cups/data/ Emplacement des
 fichiers de données des filtres.
/usr/share/cups/data/testprint.ps Fichier
 de page de test PostScript.
/usr/share/cups/fonts/ Emplacement des
 polices de caractères PostScript pour le RIP PostScript.
/usr/share/cups/model/  Emplacement des
 fichiers PPD ("PostScript Printer Description") et des scripts
 d'interface pouvant être employés pour configurer une file
 d'impression.
/usr/share/cups/pstoraster/  D'autres
 fichiers d'initialisation du RIP PostScript.
/usr/share/cups/pstoraster/Fontmap  Le
 fichier de conversion de polices (convertit des noms de fichiers en
 noms de polices)
/usr/share/cups/templates/ Emplacement des
 fichiers "templates" HTML pour l'interface "web".
/usr/share/doc/cups/ Documentation et
 données des pages "web" pour l'ordonnanceur.
/var/log/cups/ Emplacement des fichiers de
 suivi de l'ordonnanceur.
/var/spool/cups/ Emplacement des fichiers
 d'impression en attente de traitement.
E - Résoudre les problèmes courants 
Cette annexe couvre certains des problèmes courants rencontrés par
 les utilisateurs lors de la première installation / configuration /
 utilisation de CUPS.
Le support commercial de CUPS est disponible auprès d'Easy Software
 Products. Pour plus d'informations, veuillez nous contacter:
WWW: http://www.easysw.com http://www.easysw.com EMail: mailto:info@easysw.com info@easysw.com Telephone (M-F, 9-5 EST): +1.301.373.9600 Mes applications ne voient pas les imprimantes
 disponibles
Beaucoup d'applications lisent le contenu du fichier /etc/printcap
 pour obtenir la liste des imprimantes disponibles.
La configuration standard de CUPS ne crée pas ce fichier /etc/printcap
 automatiquement. Pour activer la création et la
 mise à jour automatiques de ce fichier, utilisez la directive 
#PrintcapPrintcap décrite au #PRINTING_MANAGEMENTChapitre 6, "Administration du système d'impression"
.
CUPS ne reconnaît pas mon nom d'utilisateur et mon
 mot de passe!
CUPS vous demandera un nom d'utilisateur UNIX et un mot de passe
 lorsque vous effectuerez des tâches d'administration à distance ou au
 moyen d'un navigateur "web". La configuration standard de CUPS
 nécessite que vous utilisiez le nom d'utilisateur 
root et
 son mot de passe correspondant pour authentifier la requête.
Pour des raisons de sécurité, CUPS ne vous autorise pas à
 authentifier une requête d'administration au moyen d'un compte dépourvu
 de mot de passe. Si vous n'avez pas de mot de passe pour le compte 
root
, vous ne pourrez pas faire d'administration à distance ou
 via un navigateur "web" !
Pour désactiver l'authentification par mot de passe vous devez éditer
 le contenu du fichier
 /etc/cups/cupsd.conf et commenter les
 lignes:
AuthType Basic
AuthClass System
 pour l'emplacement
 /admin. Redémarrez alors le serveur CUPS
 comme indiqué dans le 
#PRINTING_MANAGEMENTChapitre 6,
 "Administration du serveur d'impression"
.
 NOTE:Désactiver les vérifications de mot de passe autorisera tout
 utilisateur local à modifier les imprimantes et les classes, mais
 l'administration distante depuis un autre poste ne sera toujours pas
 autorisée.
Je ne peux pas effectuer de tâches
 d'administration depuis un poste distant!
La configuration standard de CUPS limite l'administration au poste
 local. Pour ouvrir l'accès, éditez le contenu du fichier
 /etc/cups/cupsd.conf
 et commentez les lignes:
Order deny,allow
Deny from all
Allow from 127.0.0.1
 pour l'emplacement
 /admin. Redémarrez alors le serveur CUPS
 comme indiqué dans le 
#PRINTING_MANAGEMENTChapitre 6,
 "Administration du serveur d'impression"
.
 NOTE:Autoriser l'accès à l'administration pour tous les hôtes présente un
 risque potentiel de sécurité. Veuillez vous reporter au 
#PRINTING_MANAGEMENTChapitre 6, "Administration du serveur d'impression"
 pour une
 description de ces risques ainsi que des méthodes pour les minimiser.
Je ne peux pas effectuer de tâches d'administration
 depuis mon navigateur "web"!
Ce problème est généralement dû:
au fait de donner le mauvais mot de passe pour le compte root.au fait d'accéder au serveur CUPS en utilisant le nom d'hôte ou
 l'adresse IP sans activer l'accès à distance pour les fonctions
 d'administration. Cela peut être corrigé en suivant les instructions
 présentes dans la section 
#ALLOW_REMOTE "Je ne peux pas
 effectuer de tâches d'administration depuis un poste distant!"
 étudiée précédemment dans cette annexe.
au fait de ne pas avoir de mot de passe pour le compte root. Pour
 des raisons de sécurité, CUPS n'authentifiera pas les comptes
 utilisateur dépourvus de mot de passe.
au fait de s'authentifier au moyen d'un compte distinct de root mais
 qui n'est pas membre du groupe system.
au fait de configurer CUPS pour utiliser l'authentification "Digest"
 et tenter d'y accéder au moyen d'un navigateur "web" ne prenant pas en
 charge ce type d'authentification.
Messages "Connection Refused" 
Dans des circonstances normales, des messages "connection refused"
 pour une imprimante réseau peuvent être rencontrés de temps en temps.
 La plupart des interfaces réseau autorisent une unique connexion à un
 instant donné (un travail à la fois) et refuseront l'accès à tous les
 autres systèmes tant que la première connexion sera active. CUPS
 retente automatiquement de se connecter toutes les 30 secondes.
Si le problème persiste et que vous ne pouvez imprimer aucun travail
 sur l'imprimantes, vérifiez qu'une autre machine ne maintient pas une
 connexion avec l'imprimante, et que vous avez sélectionné le bon port
 ou le bon nom d'imprimante.
De même, la plupart des serveurs d'impression externes refuseront les
 connexions si une imprimante est hors tension ou hors ligne. Vérifiez
 que l'imprimante affectée est sous tension et en ligne.
Message "Write Error" 
Si vous obtenez des messages "write error" sur une file d'impression,
 l'interface de l'imprimante (généralement une interface Hewlett Packard
 JetDirect) a dépassé le délai d'attente maximum et résilié la connexion
 réseau avec votre poste de travail.
L'erreur est causée par le délai d'amorçage qui existe entre
 l'établissement initial de la connexion à l'imprimante et l'envoi
 effectif des données de la première page imprimée.
 Pour corriger le problème, chagez la valeur du délai d'attente de
 l'interface et amenez sa valeur à un minimum de 180 secondes soit 3
 minutes. Pour changer le délai sur une interface Hewlett Packard
 JetDirect, tapez:
telnet adresse-ip ENTERTrying adresse-ip...
Connected to adresse-ip.
Escape character is `^]'.
Please type [Return] two times, to initialize telnet configuration
For HELP type "?"
> 
idle-timeout: 180 ENTREE> 
quit ENTREE