#CONTENTS
CUPS - Manuel de l'administrateur CUPS
CUPS - Manuel de l'administrateur CUPS
CUPS-SAM-1.1.14
Easy Software Products
Copyright 1997-2003, All Rights Reserved
Table des matières
#1
Préface
#1_1
Aperçu du système
#1_2
Aperçu du document
#1_3
Conventions d'écriture
#1_4
Abréviations
#1_5
Autres références
#OVERVIEW
1 - Aperçu du système d'impression
#2_1
Le problème d'impression
#2_2
La technologie
#2_3
Travaux d'impression
#2_4
Classes d'imprimantes
#2_5
Filtres
#2_6
Programmes d'arrière-plan (Backends)
#2_7
Pilotes d'imprimantes
#2_8
Réseau
#BUILDING_INSTALLING
2 - Construire et installer CUPS
#3_1
Installer à partir d'une distribution du code source
#REQUIREMENTS
Conditions nécessaires
#COMPILING
Compiler CUPS
#INSTALLING
Installer le logiciel
#RUNNING
Exécuter le logiciel
#BINARY
Installer une distribution binaire du logiciel
#PORTABLE-BINARY
Installer une distribution portable
#RPM-BINARY
Installer une distribution de type RPM
#DPKG-BINARY
Installer une distribution de type DEBIAN
#MANAGING_PRINTERS
3 - Administration les imprimantes
#4_1
Les bases
#4_2
Ajouter votre première imprimante
#4_2_1
Ajouter votre première imprimante depuis la ligne
de commande
#ADD_WEB
Ajouter votre première imprimante depuis
l'interface "web"
#4_3
Administrer les imprimantes depuis la ligne de
commande
#4_3_1
Ajouter et modifier des imprimantes
#4_3_2
Supprimer des imprimantes
#4_3_3
Choisir l'imprimante implicite
#4_3_4
Démarrer et arrêter des imprimantes
#4_3_5
Accepter et rejeter les travaux d'impression
#4_4
Administrer les imprimantes depuis l'interface "web"
#PRINTER_CLASSES
4 - Classes d'imprimantes
#5_1
Les bases
#5_2
Administrer les classes d'imprimantes depuis la ligne
de commande
#5_3
Administrer les classes d'imprimante depuis
l'interface "web"
#5_4
Classes implicites
#CLIENT_SETUP
5 - Configuration côté client
#6_1
Les bases
#CLIENT_MANUAL
Configuration manuelle des files
d'impression
#CLIENT_SERVER
Choix d'un serveur unique pour l'impression
#CLIENT_AUTO
Configuration automatique des files
d'impression
#CLIENT_POLL
Choix de plusieurs serveurs pour l'impression
#PRINTING_MANAGEMENT
6 - Administration du système
d'impression
#7_1
Les bases
#RESTARTING
Redémarrer le serveur CUPS
#7_3
Changer la configuration du serveur
#7_4
Directives de configuration du serveur
#AccessLog
AccessLog
#Allow
Allow
#AuthClass
AuthClass
#AuthGroupName
AuthGroupName
#AuthType
AuthType
#AutoPurgeJobs
AutoPurgeJobs
#BrowseAddress
BrowseAddress
#BrowseAllow
BrowseAllow
#BrowseDeny
BrowseDeny
#BrowseOrder
BrowseOrder
#BrowseInterval
BrowseInterval
#BrowsePoll
BrowsePoll
#BrowsePort
BrowsePort
#BrowseProtocols
BrowseProtocols
#BrowseRelay
BrowseRelay
#BrowseShortNames
BrowseShortNames
#BrowseTimeout
BrowseTimeout
#Browsing
Browsing
#Classification
Classification
#ClassifyOverride
ClassifyOverride
#DataDir
DataDir
#DefaultCharset
DefaultCharset
#DefaultLanguage
DefaultLanguage
#Deny
Deny
#DocumentRoot
DocumentRoot
#Encryption
Encryption
#ErrorLog
ErrorLog
#FilterLimit
FilterLimit
#FontPath
FontPath
#Group
Group
#HideImplicitMembers
HideImplicitMembers
#HostNameLookups
HostNameLookups
#ImplicitClasses
ImplicitClasses
#ImplicitAnyClasses
ImplicitAnyClasses
#Include
Include
#KeepAlive
KeepAlive
#KeepAliveTimeout
KeepAliveTimeout
#Limit
Limit
#LimitExcept
LimitExcept
#LimitRequestBody
LimitRequestBody
#Listen
Listen
#Location
Location
#LogLevel
LogLevel
#MaxClients
MaxClients
#MaxJobs
MaxJobs
#MaxJobsPerPrinter
MaxJobsPerPrinter
#MaxJobsPerUser
MaxJobsPerUser
#MaxLogSize
MaxLogSize
#MaxRequestSize
MaxRequestSize
#Order
Order
#PageLog
PageLog
#Port
Port
#PreserveJobHistory
PreserveJobHistory
#PreserveJobFiles
PreserveJobFiles
#Printcap
Printcap
#PrintcapFormat
PrintcapFormat
#PrintcapGUI
PrintcapGUI
#RemoteRoot
RemoteRoot
#RequestRoot
RequestRoot
#Require
Require
#RIPCache
RIPCache
#RunAsUser
RunAsUser
#Satisfy
Satisfy
#ServerAdmin
ServerAdmin
#ServerBin
ServerBin
#ServerCertificate
ServerCertificate
#ServerKey
ServerKey
#ServerName
ServerName
#ServerRoot
ServerRoot
#SSLListen
SSLListen
#SSLPort
SSLPort
#SystemGroup
SystemGroup
#TempDir
TempDir
#Timeout
Timeout
#User
User
#PRINTING_SECURITY
Sécurité du système d'impression
#CERTIFICATES
Authentification basée sur les certificats
#7_5_2
Utilisation de l'authentification "Basic"
#7_5_3
Utilisation de l'authentification "Digest"
#7_5_4
Authentifications "System" et "Group"
#PRINTER_ACCOUNTING
Suivi/facturation de travaux et
d'imprimantes
#7_6_1
Le fichier access_log
#7_6_2
Le fichier error_log
#7_6_3
Le fichier page_log
#FILE_TYPING_FILTERING
Filtrage et détermination des types
de fichiers
#7_7_1
Le fichier mime.types
#7_7_2
Le fichier mime.convs
#7_7_3
Ajouter des filtres et des types de fichiers
#7_7_4
Pilotes d'imprimantes et fichiers PPD
#7_7_5
Ecrire vos propres filtres ou pilotes d'imprimantes
#PRINTING_OTHER
7 - Imprimer depuis et vers d'autres
systèmes
#8_1
Les bases
#8_2
Imprimer depuis des clients LPD
#8_3
Imprimer vers des serveurs LPD
#8_4
Imprimer depuis des client Mac OS
#8_4_1
Columbia Appletalk Package (CAP)
#8_4_2
XINET KA/Spool
#8_4_3
NetATalk
#8_5
Imprimer vers des serveurs d'impression Mac OS
#8_6
Imprimer depuis des clients Windows
#8_6_1
Exporter les pilotes d'imprimantes
#8_7
Imprimer vers des serveurs d'impression Windows
#LICENSE
A - Licence d'utilisation du logiciel
#9_1
Common UNIX Printing System License Agreement
#9_1_1
Introduction
#9_1_2
Trademarks
#9_1_3
Binary Distribution Rights
#9_1_4
Support
#9_2
GNU GENERAL PUBLIC LICENSE
#9_2_1
Preamble
#9_3
GNU LIBRARY GENERAL PUBLIC LICENSE
#9_3_1
Preamble
#COMMON_NETWORK
B - Réglages réseau courants
#10_1
Configurer une interface réseau
#10_1_1
Configuration de l'adresse IP utilisant ARP
#10_1_2
Configuration de l'adresse IP utilisant RARP
#10_1_3
Configuration de l'adresse IP utilisant BOOTP
#10_2
Vérifier la connexion de l'imprimante
#10_3
Réglages d'interfaces réseau et serveur d'impression
courants
#AXIS
Configuration de serveurs d'impression Axis
#LINKSYS
Configuration de serveurs d'impression Linksys
#PRINTER_DRIVERS
C - Pilotes d'imprimantes
#11_1
Pilotes d'imprimantes
#EPSON9
EPSON 9-pin Dot Matrix
#EPSON24
EPSON 24-pin Dot Matrix
#STCOLOR
EPSON Stylus Color
#STPHOTO
EPSON Stylus Photo
#DESKJET
HP DeskJet
#LASERJET
HP LaserJet
#FILES
D - Liste des fichiers
#FAQ
E - Résoudre les problèmes courants
#13_1
Mes applications ne voient pas les imprimantes
disponibles
#13_2
CUPS ne reconnaît pas mon nom d'utilisateur et mon
mot de passe!
#ALLOW_REMOTE
Je ne peux pas effectuer de tâches
d'administration depuis un poste distant!
#13_4
Je ne peux pas effectuer de tâches d'administration
depuis mon navigateur "web"!
#13_5
Messages "Connection Refused"
#13_6
Message "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.com
Easy 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:
#OVERVIEW
1 - Aperçu du système d'impression
#BUILDING_INSTALLING
2 - Construire et installer CUPS
#MANAGING_PRINTERS
3 - Administration des imprimantes
#PRINTER_CLASSES
4 - Classes d'imprimantes
#CLIENT_SETUP
5 - Configuration côté client
#PRINTING_MANAGEMENT
6 - Administration du système
d'impression
#PRINTING_OTHER
7 - Imprimer depuis et vers d'autres
système
#LICENSE
A - Licence d'utilisation du logiciel (NdT : en
anglais)
#COMMON_NETWORK
B - Réglages réseau courants
#PRINTER_DRIVERS
C - Pilotes d'imprimantes
#FILES
D - Liste des fichiers
#FAQ
E - Résoudre les problèmes courants
Conventions d'écriture
Abréviations
Les abréviations suivantes sont utilisées au cours de ce manuel:
ko
Kilo-octets, ou 1024 octets
Mo
Méga-octets, ou 1048576 octets
Go
Giga-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'utilisateur
Un 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/libraries
ftp://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/groff
ftp://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/htmldoc
http://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 ENTREE
L'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 ENTREE
Si 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" ENTREE
setenv CXXFLAGS "-I/some/directory" ENTREE
setenv LDFLAGS "-L/some/directory" ENTREE
setenv DSOFLAGS "-L/some/directory" ENTREE
./configure ... ENTREE
ou:
CFLAGS="-I/some/directory"; export CFLAGS ENTREE
CXXFLAGS="-I/some/directory"; export CXXFLAGS ENTREE
LDFLAGS="-L/some/directory"; export LDFLAGS ENTREE
DSOFLAGS="-L/some/directory"; export DSOFLAGS ENTREE
./configure ... ENTREE
Pour 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.org
http://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 ENTER
pour 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 ENTREE
Aprè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 lpr
rpm -i cups-1.1-linux-M.m.n-intel.rpm ENTREE
Aprè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 ENTREE
Aprè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 ENTREE
file 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/admin
http://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_WEB
l'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
ENTREE
Pour 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 ENTREE
De 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 ENTREE
Comme 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_DRIVERS
Annexe 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 ENTREE
Ici, 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/admin
http://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
ENTREE
Les arguments
options
peuvent être n'importe lesquels parmi:
-c
classe
Ajoute l'imprimante nommée à la classe d'imprimantes
classe
. Si la classe d'imprimantes n'existe pas alors elle est créée.
-i
interface
Copie 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èle
Indique 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_DRIVERS
Annexe C, "Pilotes d'imprimantes"
.
-r
classe
Retire 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érique
Indique 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
info
Fournit une description textuelle de l'imprimante, par exemple
"Imprimante personnelle de Marcel".
-E
Active l'imprimante et accepte les travaux d'impression. Cette
option équivaut à exécuter les commandes
enable(1)
et
accept(8)
.
-L
emplacement
Fournit une description textuelle de l'emplacement de l'imprimante,
par exemple "Salle informatique n°5".
-P
fichier-ppd
Indique 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
ENTREE
L'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
ENTREE
Note 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
ENTREE
Comme 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/admin
http://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
ENTREE
La
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
ENTREE
Pour 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/admin
http://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
#ImplicitClasses
ImplicitClasses
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_MANUAL
Configuration manuelle des files
d'impression.
#CLIENT_SERVER
Choix d'un serveur unique pour
l'impression.
#CLIENT_AUTO
Configuration automatique des files
d'impression.
#CLIENT_POLL
Choix 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
ENTREE
Le 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
serveur
au 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
#BrowsePoll
BrowsePoll
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
#BrowsePoll
BrowsePoll
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.conf
Ce 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_SETUP
Chapitre 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.convs
Ce 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.types
Ce 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:
#AccessLog
AccessLog
#Allow
Allow
#AuthClass
AuthClass
#AuthGroupName
AuthGroupName
#AuthType
AuthType
#AutoPurgeJobs
AutoPurgeJobs
#BrowseAddress
BrowseAddress
#BrowseAllow
BrowseAllow
#BrowseDeny
BrowseDeny
#BrowseInterval
BrowseInterval
#BrowseOrder
BrowseOrder
#BrowsePoll
BrowsePoll
#BrowsePort
BrowsePort
#BrowseProtocols
BrowseProtocols
#BrowseRelay
BrowseRelay
#BrowseShortNames
BrowseShortNames
#BrowseTimeout
BrowseTimeout
#Browsing
Browsing
#Classification
Classification
#ClassifyOverride
ClassifyOverride
#DataDir
DataDir
#DefaultCharset
DefaultCharset
#DefaultLanguage
DefaultLanguage
#Deny
Deny
#DocumentRoot
DocumentRoot
#Encryption
Encryption
#ErrorLog
ErrorLog
#FilterLimit
FilterLimit
#FontPath
FontPath
#Group
Group
#HideImplicitMembers
HideImplicitMembers
#HostNameLookups
HostNameLookups
#ImplicitClasses
ImplicitClasses
#ImplicitAnyClasses
ImplicitAnyClasses
#Include
Include
#KeepAliveTimeout
KeepAliveTimeout
#KeepAlive
KeepAlive
#Limit
Limit
#LimitExcept
LimitExcept
#LimitRequestBody
LimitRequestBody
#Listen
Listen
#Location
Location
#LogLevel
LogLevel
#MaxClients
MaxClients
#MaxJobs
MaxJobs
#MaxJobsPerPrinter
MaxJobsPerPrinter
#MaxJobsPerUser
MaxJobsPerUser
#MaxLogSize
MaxLogSize
#MaxRequestSize
MaxRequestSize
#Order
Order
#PageLog
PageLog
#Port
Port
#PreserveJobFiles
PreserveJobFiles
#PreserveJobHistory
PreserveJobHistory
#Printcap
Printcap
#PrintcapFormat
PrintcapFormat
#PrintcapGUI
PrintcapGUI
#RemoteRoot
RemoteRoot
#RequestRoot
RequestRoot
#Require
Require
#RIPCache
RIPCache
#RunAsUser
RunAsUser
#Satisfy
Satisfy
#ServerAdmin
ServerAdmin
#ServerBin
ServerBin
#ServerCertificate
ServerCertificate
#ServerKey
ServerKey
#ServerName
ServerName
#ServerRoot
ServerRoot
#SSLListen
SSLListen
#SSLPort
SSLPort
#SystemGroup
SystemGroup
#TempDir
TempDir
#Timeout
Timeout
#User
User
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
#ServerRoot
ServerRoot
. 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:
mm
netmask
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
#Location
Location
.
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
#SystemGroup
SystemGroup
.
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
#CERTIFICATES
certificats
.
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
#HostNameLookups
HostNameLookups
.
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
#HostNameLookups
HostNameLookups
.
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
#BrowseTimeout
BrowseTimeout
. 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
#BrowseInterval
BrowseInterval
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:
mm
netmask
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
#ServerRoot
ServerRoot
. 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
#Location
Location
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
.
#ImplicitClasses
ImplicitClasses
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
#Browsing
Browsing
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
.
#ImplicitClasses
ImplicitClasses
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
#ServerRoot
ServerRoot
.
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
#Location
Location
. 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
#Limit
Limit
,
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
#MaxRequestSize
MaxRequestSize
.
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
#Port
Port
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
#ErrorLog
ErrorLog
. 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
#LimitRequestBody
LimitRequestBody
.
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
#ServerRoot
ServerRoot
. 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
#ServerRoot
ServerRoot
. 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
#Location
Location
.
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
#ServerRoot
ServerRoot
. 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
#SSLPort
SSLPort
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 ENTREE
chmod 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
#Location
Location
:
<Location /ressource>
#AuthClass
AuthClass
...
#AuthGroupName
AuthGroupName
...
#AuthType
AuthType
...
#Order
Order
...
#Allow
Allow
from ...
#Deny
Deny
from ...
</Location>
Les emplacements suivent généralement la structure arborescente du
contenu du répertoire
#DocumentRoot
DocumentRoot
, cependant CUPS possède de nombreux emplacements virtuels pour
l'administration, les classes, les travaux d'impression et les
imprimantes:
Emplacement
Description
/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
#User
User
et groupes
#Group
Group
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
#SystemGroup
SystemGroup
. 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 ENTREE
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é]
Une fois ajouté, un utilisateur peut changer son mot de passe en
tapant:
lppasswd ENTREE
Old 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 ENTREE
Une 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
#AuthClass
AuthClass
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
#AuthGroupName
AuthGroupName
:
<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 ENTER
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é]
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
#HostNameLookups
HostNameLookups
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
#ServerRoot
ServerRoot
) 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 logique
match("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 correspond
short(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.org
http://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
ENTREE
Exé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
#LPD
LPD
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.org
http://www.samba.org
Pour configurer CUPS pour SAMBA, exécutez la commande suivante:
ln -s `which smbspool` /usr/lib/cups/backend/smb ENTREE
Le 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 System
TM
, ("CUPS
TM
"),
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.com
http://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 ENTREE
arp -s hote.domaine.com 08:00:69:00:12:34 ENTREE
arp -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 ENTREE
Sous IRIX vous pouvez activer cette fonctionnalité en standard en
utilisant la commande suivante:
chkconfig rarpd on ENTREE
Le 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.boot
Les versions plus récentes de
bootpd
utilisent un format
différent:
mon_imprimante:ha=080069001234:ip=192.0.2.2:
t144=mon_imprimante.boot
Le 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 ENTREE
Si la connexion fonctionne correctement vous devriez voir apparaître
quelque chose de la forme suivante :
ping mon_imprimante ENTREE
PING 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 / Fabricant
URI 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 LANpress
TM
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
Lexmark
TM
MarkNet
lpd://
address
/ps
Linksys EtherFast®
#LINKSYS
(voir instructions)
socket://
address
:4010
socket://
address
:4020
socket://
address
:4030
Kodak®
lpd://
address
/ps
QMS® CrownNet
TM
lpd://
address
/ps
Tektronix® PhaserShare
TM
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 ENTREE
Connected to ip-address.
220 Axis NPS ### FTP Printer Server V#.## MON DD YEAR ready.
ftp>
user root ENTREE
331 User name ok, need password
Password:
pass ENTREE
(le mot de passe n'apparaît pas)
230 User logged in
ftp>
get config ENTREE
local: 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 ENTREE
221 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.     :
NO
Cela 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.    :
9100
RTEL_PR2.    :
9101
RTEL_PR3.    :
9102
RTEL_PR4.    :
9103
RTEL_PR5.    :
9104
RTEL_PR6.    :
9105
RTEL_PR7.    :
9106
RTEL_PR8.    :
9107
Cela 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 ENTREE
Connected to adresse-ip.
220 Axis NPS ### FTP Printer Server V#.## MON DD YEAR ready.
ftp>
user root ENTREE
331 User name ok, need password
Password:
pass ENTREE
(le mot de passe n'est pas affiché)
230 User logged in
ftp>
put config CONFIG ENTREE
local: 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 ENTREE
local: hardreset remote: hardreset
200 PORT command successful.
421 Axis NPS ### hard reset, closing connection.
ftp>
quit ENTREE
221 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 ENTREE
Connected to adress-ip.
220 Print Server Ready.
Remote system type is Print.
ftp>
get CONFIG ENTREE
local: 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 ENTREE
221 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:
P1
0120 L2_PROUT:
P2
0140 L3_PROUT:
P3
Cela 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 ENTREE
Connected to adresse-ip.
220 Print Server Ready.
Remote system type is Print.
ftp>
put CONFIG ENTREE
local: CONFIG remote: CONFIG
200 Command OK.
150 Open ASCII Mode Connection.
226 Transfer complete.
##### bytes received in #.## seconds (##### Kbytes/s)
ftp>
quit ENTREE
221 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:
#EPSON9
EPSON 9-pin Dot Matrix
,
epson9.ppd
#EPSON24
EPSON 24-pin Dot Matrix
,
epson24.ppd
#STCOLOR
EPSON Stylus Color
,
stcolor.ppd
#STPHOTO
EPSON Stylus Photo
,
stphoto.ppd
#DESKJET
HP DeskJet
,
deskjet.ppd
#LASERJET
HP 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
Chemin
Description
/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
#Printcap
Printcap
décrite au
#PRINTING_MANAGEMENT
Chapitre 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_MANAGEMENT
Chapitre 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_MANAGEMENT
Chapitre 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_MANAGEMENT
Chapitre 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 ENTER
Trying 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
