Le système d'exploitation GNU-Linux/Le serveur d'impression CUPS

Un livre de Wikilivres.
Aller à : navigation, rechercher


  1. Qu'est-ce qu'un système d'exploitation ?
  2. Unix et Linux
  3. Partitionnement du disque
  4. Installation
    1. Installer Debian via le réseau
  5. Utilisateur Unix, l'interface console
    1. Le login
    2. Commandes de base
    3. L'aide en ligne man
    4. L'éditeur de texte vi
    5. Les shells
    6. La complétion
    7. Les jokers
    8. Les répertoires importants
    9. Redirection des entrées/sorties
    10. Invoquer un programme en tâche de fond
    11. Propriétaires et droits d'accès
    12. Processus
    13. Locale
  6. Administration du système
    1. Configuration du réseau
    2. Les utilisateurs et groupes
    3. Le processus d'initialisation
    4. Les systèmes de fichiers
    5. Le système virtuel /proc
    6. Les périphériques /dev
    7. L'ordonnanceur de travaux cron
    8. Le backup : tar et gzip
    9. ghost avec partimage
    10. sauvegarde de fichiers avec rsync
    11. Les fichiers journaux syslog
    12. Installation de nouveaux logiciels
    13. Le noyau Linux et les modules
    14. Autres commandes utiles
    15. Installation RAID1 logiciel + LVM + XFS
    16. Scripts de surveillance
    17. Réseaux sans fil
  7. Administration des services réseaux
    1. Le serveur de noms BIND
    2. Le serveur de configuration réseau DHCP
    3. Le serveur de shell distant SSH
    4. Le partage de fichiers Samba
    5. Le partage de fichiers NFS
    6. Le serveur d'impression CUPS
    7. Le serveur de fichiers FTP
    8. Le serveur Web Apache
    9. La base de données MySQL
    10. Le serveur de mails Postfix
    11. Les annuaires LDAP
    12. L'outil d'administration Webmin
    13. La supervision
  8. Sécurisation d'un serveur Linux
    1. Installation d'un service en mode chroot
    2. Protection avec iptables
  9. Médiagraphie
  10. Auteurs


Introduction[modifier | modifier le wikicode]

CUPS (Common Unix Printing System) est un serveur d'impression. CUPS permet ainsi d'imprimer sur une imprimante accessible sur le réseau ou locale (généralement connectée avec un câble USB). La communication avec les imprimantes utilise 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

Le site linuxprinting.org liste les imprimantes compatibles avec CUPS.

L'installation de CUPS sous Debian peut se faire avec la commande suivante :

 $ sudo apt install cups cups-pdf cups-bsd foomatic-db-compressed-ppds openprinting-ppds

Le paquet cups-pdf fournit une imprimante virtuelle qui permet de générer des fichiers PDF.

Le paquet cups-bsd fournit les commandes traditionnelles lpr, lpq et lprm.

Les paquets foomatic-db-compressed-ppds et openprinting-ppds contiennent des descriptions PPD (PostScript Printer Description) pour un très grand nombre d'imprimantes.

D'autres paquets de PPD sont également disponibles comme hp-ppd ou hpijs-ppds. Mais aussi le meta-paquet printer-driver-all-enforce qui englobe une vingtaine de paquets de différents drivers CUPS.

Configuration de CUPS (côté serveur)[modifier | modifier le wikicode]

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


Fichier de configuration[modifier | modifier le wikicode]

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

Configuration de CUPS (côté client)[modifier | modifier le wikicode]

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


Commandes d'impression[modifier | modifier le wikicode]

Ces commandes sont fournies par le paquet cupsys-bsd installé précédement.

La commande lpr[modifier | modifier le wikicode]

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


La commande lpq[modifier | modifier le wikicode]

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


La commande lprm[modifier | modifier le wikicode]

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 -


La commande lpstat[modifier | modifier le wikicode]

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...