Annexe E. Faire marcher une imprimante

1. Préliminaires
2. Installer et configurer CUPS
3. Imprimer !
4. Transformer l'ordinateur en serveur d'impression

1. Préliminaires

Mon imprimante est-elle prise en charge ?

[Avertissement] Avertissement

Utiliser une imprimante sous GNU/Linux n'est pas difficile en soi… à condition qu'elle soit prise en charge ! Debian utilise le même système d'impression que MacOS X, et toutes les imprimantes « compatibles MacOS » devraient donc fonctionner sans problèmes. Certains constructeurs comme HP et Epson collaborent avec la communauté du logiciel libre, et leurs imprimantes sont très bien prises en charge. D'autres, comme Canon ou Lexmark font preuve de mauvaise volonté, et leurs imprimantes, qui sont pourtant parfois excellentes,

Tout d'abord, il faut partir aux renseignements pour savoir si votre imprimante est prise en charge. Pour cela, rendez-vous sur le site OpenPrinting.org et cliquez sur Printers : sélectionnez la marque et le modèle de votre imprimante, et vous affiche alors une page qui vous informe sur la qualité de la prise en charge de votre imprimante. Si cette page vous dit que votre imprimante est un Paperweight avec un pingouin barré comme logo, alors ce n'est pas la peine d'aller plus loin. Dans les autres cas, si vous avez un, deux ou trois pingouins, c'est que vous devez pouvoir faire quelque chose de votre imprimante sous Linux : continuez à lire ce chapitre !

[Note] Note

Plusieurs fabriquants distribuent des imprimantes affichant un support pour la forme, et distrubuent de prétendus « pilotes » compliqués à installer et à utiliser. D'une façon générale, il vaut mieux utiliser des pilotes non officiels, qui sont de bien meilleure qualité et plus faciles à utiliser que ceux que vous pourrez trouver sur les sites et les disques d'installation des imprimantes.

Un peu de théorie

Quelques connaissances théoriques sont nécessaires pour comprendre les différents formats et les différentes couches logicielles impliquée dans la chaîne d'impression en fonction des capacités de votre imprimante. La lecture de ce document (en anglais) vous permettra de beaucoup mieux comprendre la suite.

Noter le pilote recommandé

Maintenant que vous avez les bases théories requises, retournez dans Printer listing sur le site LinuxPrinting.org, sélectionnez à nouveau votre imprimante et notez le pilote recommandé pour faire marcher votre imprimante sous Linux :

  • si le pilote recommandé est Postscript, installez le paquet openprinting-ppds ;

  • si le pilote recommandé est Gutenprint, installez le paquet cups-driver-gutenprint ;

  • si le pilote recommandé est HPLIP, installez le paquet hplip ;

  • si le pilote recommandé est un fichier PPD spécifique, téléchargez-le pour vous en servir par la suite.

2. Installer et configurer CUPS

2.1. Installer CUPS

Installez les paquets de CUPS :

# aptitude install cups cups-client cups-bsd

2.2. Configurer CUPS

La configuration de CUPS se fait via une interface Web, qui, par défaut, n'est accessible qu'en local. Ouvrez donc votre navigateur web favori (si vous n'avez pas de serveur graphique, vous pouvez utiliser un navigateur web en console comme w3m) et tapez l'URL http://localhost:631/admin/.

[Note] Note

Lorsque vous effectuez des modifications à l'aide de cette interface, avant de les enregistrer, celle-ci vous demande de vous identifier : saisissez alors root comme login et votre mot de passe root (comme vous accédez à l'interface web en local sur la machine, votre mot de passe root ne sera donc pas transmis en clair à l'extérieur).

[Note] Note

Si vous voulez qu'un utilisateur qui ne connaît pas le mot de passe root puisse administrer CUPS par l'interface web, ajoutez-le au groupe lpadmin ; il pourra alors y accéder avec son login et son mot de passe.

Vous arrivez alors dans l'interface d'administration de CUPS :

Figure E.1. Interface d'administration de CUPS

Interface d'administration de CUPS

Cliquez sur Ajouter une imprimante et suivez l'assistant :

  1. donnez un nom (sans espace) à votre imprimante (et éventuellement un emplacement et une description) ;

  2. sélectionnez le périphérique d'accès à l'imprimante : si c'est une imprimante sur port parallèle, sélectionnez Parallel port #1, si c'est une imprimante sur port USB, sélectionnez USB printer #1 ;

  3. si le pilote recommandé était un fichier PPD spécifique, sélectionnez-le à l'aide du bouton adéquat ;

  4. sinon, sélectionnez la marque de votre imprimante ;

  5. sélectionnez le modèle de votre imprimante : si le nom exact n'apparaît pas, rappelez-vous du nom du pilote qui était recommandé par OpenPrinting.org.

Il vous informe alors que l'imprimante a été ajoutée avec succès. Cliquez sur le nom de l'imprimante pour aller directement à la page de statut de celle-ci :

Figure E.2. Page de status de l'imprimante

Page de status de l'imprimante

Si le champ d'état de l'imprimante indique qu'elle est à l'arrêt, cliquez sur Démarrer l'imprimante. Ensuite, cliquez sur Configurer l'imprimante pour régler un certain nombre de paramètres (taille du papier, résolution…). Enfin, cliquez sur Imprimer page de test pour voir si vous êtes capable de faire cracher quelque chose à votre imprimante sous Linux !

3. Imprimer !

Les commandes de base

Tout d'abord, il faut connaître quelques commandes de base :

  • lpq affiche l'état de l'imprimante et la queue d'impression ;

  • lprm 12 supprime le job numéro 12 de la queue d'impression ;

  • lp rapport.ps ajoute le fichier PostScript rapport.ps à la queue d'impression de l'imprimante (si plusieurs imprimante sont configuées dans CUPS, il faut ajouter -d nom_de_l'imprimante dans la commande) ;

  • lp -n 3 -P 2,12-42,72 -d renoir rapport.ps ajoute à la queue d'impression de l'imprimante renoir l'impression en trois exemplaires des pages 2 et 72 ainsi que de toutes les pages entre 12 et 42 du fichier rapport.ps.

Imprimer depuis une application

La plupart des applications graphiques proposent un menu d'impression comme sous Windows... donc vous ne devriez pas être trop dérouté !

Figure E.3. Menu d'impression d'OpenOffice

Menu d'impression d'OpenOffice

4. Transformer l'ordinateur en serveur d'impression

Maintenant que l'impression en local marche, il est facile de transformer l'ordinateur en serveur d'impression ; les autres ordinateurs du réseau pourront alors se servir de l'imprimante à distance !

Configuration du serveur d'impression

Sur l'ordinateur auquel est connecté l'imprimante (désormais appelé serveur d'impression), éditez en root le fichier /etc/cups/cupsd.conf et positionnez-vous au niveau des lignes suivantes :

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

Modifiez le contenu de ce paragraphe pour autoriser d'autres ordinateurs du réseau à utiliser le serveur Cups de l'ordinateur. Par exemple, pour que tous les ordinateurs ayant des IPs comprises entre 192.168.0.1 et 192.168.0.255 puissent utiliser le serveur d'impression, modifiez le paragraphe pour qu'il contienne :

<Location />
Order Deny,Allow
Deny From All
Allow From 192.168.0.0/255.255.255.0
</Location>

Ensuite, dites à Cups de relire son fichier de configuration :

# /etc/init.d/cupsys reload
Reloading CUPSys: cupsd.

Configuration des clients sous Debian GNU/Linux

Sur chaque ordinateur du réseau sous Debian susceptible d'utiliser le serveur d'impression, exécutez les instructions ci-dessous.

Tout d'abord, installez le programme client de Cups :

# aptitude install cupsys-client

Ensuite, éditez le fichier /etc/cups/client.conf et décommentez la ligne commençant par ServerName. Sur cette ligne, vous devez alors préciser l'adresse IP ou le nom DNS du serveur d'impression.

Par exemple, si votre serveur d'impression a l'adresse IP 192.168.0.42, le fichier /etc/cups/client.conf devra contenir :

ServerName 192.168.0.42

Vous pouvez désormais imprimer depuis le poste client comme si l'imprimante était connectée directement à l'ordinateur : la commande est la même !