Paramétrer ses imprimantes

De Cliss XXI
Révision datée du 14 septembre 2012 à 19:32 par 212.198.6.129 (discussion)
Sauter à la navigation Sauter à la recherche

Cette page donne quelques informations sur la configuration des imprimantes sous GNU/Linux, à l'aide du serveur d'impression CUPS, qui est celui généralement utilisé de nos jours.

Tout déléguer à un serveur d'impression réseau

Si un serveur d'impression CUPS est déjà installé sur une machine de votre réseau local, vous pouvez rediriger simplement toutes les impressions vers les impressions vers ce serveur. Vous pourrez ainsi utiliser sur votre machines toutes les imprimantes qu'il partage.

Pour cela, il suffit d'installer (pour ce qui est des systèmes Debian) le paquet cups-client qui fournit les commandes d'impression de base, et de modifier le ficher /etc/cups/client.conf pour y préciser le nom de la machine proposant le serveur CUPS (le paquet cups-bsd installé ici fournit permet d'utiliser les commandes traditionnelle d'UNIX pour imprimer avec CUPS) :

aptitude install cups-client cups-bsd
sed 's/#ServerName.*/ServerName nom_serveur/' /etc/cups/client.conf

Installer une imprimante locale

Si vous souhaitez brancher une imprimante directement sur votre machine, installez le serveur CUPS. Sous Debian, celui-ci est fourni par le paquet cups.

aptitude install cups

Visiter http://localhost:631/printers/, cliquez sur "Ajouter Imprimante", puis suivez les instructions. Pour pourrez ensuite utiliser cette interface pour vérifier la liste des jobs en attente, ou relancer l'impression qui peut parfois se bloquer. Pour effectuer des tâches d'administration, CUPS demande un login et un mot de passe. C'est généralement celui de l'administrateur de la machine que vous devrez fournir (c'est à dire login root, et le mot de passe associé).

Partager les imprimantes avec les autres serveurs CUPS

Si vous disposez de plusieurs serveurs CUPS, vous pouvez demander de partager automatiquement les imprimantes configurées sur CUPS avec d'autres serveurs d'impression CUPS du réseau local. Pour cela, rendez-vous sur l'interface web d'administration de CUPS, à l'adresse http://localhost:631/admin, cochez la case « Share printers connected to this system », et cliquez sur le bouton « Change Settings ».

Ajouter une imprimante gérée par un autre serveur CUPS

Sur les autres serveurs CUPS, si vous souhaitez qu'il proposer également d'imprimer sur les imprimantes gérées par les autres serveurs CUPS du réseau, rendez-vous sur cette même interface, cochez la case « Show printers shared by other systems », et cliquez sur le bouton « Change Settings ».

Si vous souhaite ajouter uniquement une des imprimantes gérées par un autre serveur CUPS, ajoutez une nouvelle imprimante dans l'interface web de CUPS, de type "connexion ipp", avec une URL de type ipp://nom_autre_serveur_cups/printers/nom_imprimante, avec pilote "Raw" (brut).

Permettre l'administration de CUPS par le réseau

Configuration par l'interface web

Par défaut, l'interface web de CUPS n'est acessible que depuis l'interface locale du serveur d'impression (c'est à dire via l'URL http://localhost:631/). Si vous souhaitez permettre aux autres machines connectées au réseau local d'y accéder, cochez la case « Allow remote administration » de l'interface d'admin, (sur http://localhost:631/admin), et cliquez sur le bouton « Change Settings ». Si votre serveur d'impression utiliser l'IP 192.168.0.1, vous pourrez accéder à l'interface de CUPS par l'URL http://192.168.0.1:631.

Si vous souhaitez permettre l'accès à cette interface avec un nom DNS plutôt que l'adresse IP, rendez-vous sur http://localhost:631/admin, cliquez sur le bouton « Edit Configuration File », ajoutez une ligne « ServerAlias * » en début de fichier (ou bien « ServerAlias nom_du_serveur » si vous souhaitez n'utiliser qu'un des noms DNS du serveur), puis cliquez sur le bouton « Save Changes ». Vous pourrez alors accéder à l'interface de CUPS via l'URL http://nom_du_serveur:631/.

Modification directe du fichier de configuration CUPS

Alternativement, cette manipulation peut se faire directement sur le fichier de configuration de CUPS, /etc/cups/cupsd.conf (la localisation de ce fichier peut changer selon votre distribution GNU/Linux). C'est ce fichier qui est manipulé par l'interface web de CUPS. Ajouter ou assurez-vous que les lignes suivantes y sont présentes:

ServerAlias *
Port 631
Listen /var/run/cups/cups.sock

Vous devrez ensuite redémarrer votre serveur CUPS (sous Debian, c'est /etc/init.d/cups restart).

Attention ne modifiez pas le nom des imprimantes (i.e. <Printer machin> il faut en effet changer en cascade /etc/cups/ppd/machin.ppd et d'autre choses qui font qu'en pratique il faut mieux recreer une imprimante que changer son nom-identifiant, surtout lorsqu'on utilise un serveur cups central et des serveurs cups locaux qui decouvrent automatiquement les imprimantes sur le reseau.

Detail techniques

Le diable est dans les details...

  1. la bonne maniere de configurer une imprimante est de passer par l'interface web.
  2. chaque logiciel ne presente pas la meme interface pour imprimer... mais normalement toutes les options sont quand meme visibles.

Dans une configuration:

[poste-utilisateur]---[serveur-cups1-partageant-ses-imprimantes]---[imprimante]

Le fichier (ici un pdf) est transmit tel quel au serveur cups1. Le serveur cups sur le poste utilisateur ne fait qu'une copie. Le serveur cups1 fait la transformation en langage imprimante puis l'envoie (ligne backend dans les logs).

-- extrait de log du poste utilisateur (serveur cups se connectant au serveur cups1)
** D [14/Sep/2012:16:25:37 +0200] cupsdAcceptClient: 13 from localhost (Domain)
*** D [14/Sep/2012:16:25:37 +0200] cupsdReadClient: 13 POST /printers/bob_copieur_NB HTTP/1.1...
*** I [14/Sep/2012:16:25:37 +0200] [Job 2429] File of type application/pdf queued by "user1"....
*** D [14/Sep/2012:16:25:37 +0200] [Job 2429] argv[3]="test.pdf"...
** D [14/Sep/2012:16:25:37 +0200] [Job 2429] Connecting to 192.168.1.1:631...

-- extrait de log du serveur cups1:
** D [14/Sep/2012:16:25:37 +0200] cupsdAcceptClient: 12 from 192.168.1.2:631 (IPv4)...
*** D [14/Sep/2012:16:25:41 +0200] cupsdReadClient: 12 POST /printers/bob_copieur_NB HTTP/1.1...
*** I [14/Sep/2012:16:25:41 +0200] [Job 152] File of type application/pdf queued by "user1"....
*** D [14/Sep/2012:16:25:41 +0200] [Job 152] argv[3]="test.pdf"...
** I [14/Sep/2012:16:25:41 +0200] [Job 152] Started filter /usr/lib/cups/filter/pdftopdf (PID 24796)
** I [14/Sep/2012:16:25:41 +0200] [Job 152] Started filter /usr/lib/cups/filter/cpdftocps (PID 24797)
** I [14/Sep/2012:16:25:41 +0200] [Job 152] Started backend /usr/lib/cups/backend/socket (PID 24798)...