Le système d'exploitation GNU-Linux/Le serveur d'impression CUPS
Sections |
[modifier] Introduction
CUPS (Common Unix Printing Tool) est un serveur d'impression utilisant le protocole IPP (Internet Printing Protocol).
CUPS est très simple à configurer. De ce fait, il est de plus en plus souvent utilisé en remplacement de LPR (premier serveur sous UNIX).
Site Internet : www.cups.org
On peut aussi voir si une imprimante est compatible sur www.linuxprinting.org.
Pour installer CUPS sous Debian, on tape la commande suivante :
# apt-get install cupsys cupsys-client foomatic-filters
foomatic-filters-ppds cups-pdf cupsys-bsd
Les paquets foomatic contiennent des drivers PPD supportant un très grand nombre d'imprimantes.
Le paquet cups-pdf fournit une imprimante virtuelle qui permet de générer des fichiers PDF.
Le paquet cupsys-bsd fournit les commandes traditionnelles lpr, lpq et lprm.
NB : Si le paquet foomatic-filters-ppds n'est pas disponible sur votre Debian, installez foomatic-db à la place.
[modifier] Configuration de CUPS (côté serveur)
CUPS se configure via une interface web accessible par l'adresse http://localhost:631/ .
- On Clique sur Add Printer pour ajouter une imprimante
- On spécifie son nom, sa localisation physique et sa description. Exemple : HP1200, Salle D11, L'imprimante laser de la salle D11
- On choisit ensuite le périphérique correspondant au mode de connexion de l'imprimante avec le PC (ex: port parallèle, USB, ipp, http...etc)
- Si l'imprimante est partagée par un autre serveur CUPS, il faut spécifier l'adresse IPP de l'imprimante, comme par exemple : ipp://192.168.30.210/printers/hp1200
- On choisit ensuite le constructeur de l'imprimante. Dans le cas où votre constructeur n'est pas dans la liste, il faut télécharger sur Internet le fichier PPD (Printer Postscript Description) correspondant et utiliser le bouton Parcourir pour uploader le fichier
- On choisit ensuite le driver correspondant au modèle de l'imprimante. Certains drivers sont les mêmes pour des imprimantes différentes. Si on ne trouve pas son imprimante, il faut aller sur www.linuxprinting.org pour connaitre la compatibilité de l'imprimante avec un autre driver
- Pour valider les modifications, on s'authentifie avec le compte root pour que le logiciel puisse écrire le fichier de configuration de CUPS
[modifier] Fichier de configuration
Le fichier principal de configuration de CUPS est /etc/cups/cupsd.conf.
Il faut le modifier pour indiquer à quel réseau on partage les imprimantes.
Tout d'abord, on indique à CUPS d'écouter sur toutes les interfaces réseaux. On remplace Listen localhost:631 par :
Listen *:631
Dans la balise <Location />, il faut rajouter "Allow" suivi de l'adresse du réseau sur lequel se trouve l'imprimante afin de permettre à mon réseau d'accéder à celle-ci.
# Restrict access to the server... <Location /> Order allow,deny Allow localhost Allow 192.168.30.0/24 </Location>
Lorsque ce fichier est modifié, il faut relancer le service :
# /etc/init.d/cupsys restart
[modifier] Configuration de CUPS (côté client)
Comme pour la configuration de CUPS côté serveur, on configure CUPS côté client via l'interface WEB.
Dans la procédure décrite ci dessus, au lieu de spécifier un périphérique local (port parallèle, USB ou autre), on spécifie l'adresse IPP de l'imprimante.
Exemple:
ipp://192.168.30.210/printers/HP1200
ou (sous Windows) :
http://192.168.30.210:631/printers/HP1200
[modifier] Commandes d'impression
Ces commandes sont fournies par le paquet cupsys-bsd installé précédement.
[modifier] La commande lpr
La commande lpr permet d'imprimer un fichier :
$ lpr nom_fichier
Pour imprimer sur une imprimante en particulier :
$ lpr -P nom_imprimante nom_fichier
Pour spécifier le nombre de copies (ici 2 copies) :
$ lpr -#2 nom_fichier
[modifier] La commande lpq
La commande lpq permet d'afficher la file d'impression (spool) et connaître les numéros de "job" :
$ lpq HP1200 is ready and printing Rank Owner Job File(s) Total Size active alex 12 fstab 1024 bytes 1st root 13 fstab 1024 bytes
Pour voir la file d'attente d'une imprimante en particulier :
$ lpq -P nom_imprimante
[modifier] La commande lprm
La commande lprm permet de supprimer une impression de la file d'attente à l'aide de son numéro "job" :
$ lprm num_job
Pour supprimer toute la file d'attente (cette action n'est permise que pour le compte root) :
# lprm -
[modifier] La commande lpstat
La commande lpstat permet d'obtenir diverses statistiques, comme par exemple :
- La liste des imprimantes installées :
$ lpstat -a
- L'imprimante définie par défaut :
$ lpstat -d
- etc...