Page suivantePage pr�c�denteTable des mati�res

6. L'impression, comment �a marche

Nous consid�rons ici que vous utilisez la suite logicielle lpd que nous d�crirons d'ailleurs. Elle est la plus r�pandue et fonctionne tr�s bien.

6.1 Impression locale et impression distante

L'impression locale permet aux utilisateurs d'envoyer des travaux d'impression � l'imprimante directement rattach�e � leur machine.

L'impression distante, par contre, permet de soumettre des travaux d'impression depuis une machine, � une autre machine sur le r�seau, sur laquelle est connect�e une imprimante.

6.2 De quoi avez vous besoin

Nous supposons que vous savez �diter un fichier texte sous Linux et que vous avez une bonne compr�hension des notions de droits d'acc�s et de propri�t� (chmod, chown).

Nous supposons �galement que votre syst�me Linux fonctionne correctement. En particulier, si vous souhaitez faire de l'impression distante, que votre r�seau fonctionne d�j�.

Consultez � ce propos les nombreuses documentations disponibles sur le sujet (comme on dit: RTFM, ce qui en bon francais veut dire LLBD :-)).

6.3 Les programmes importants

Le syst�me d'impression Unix comprend (au moins) 5 programmes. Ils doivent se trouver � l'endroit d�crit (c'est le mieux) ou dans un r�pertoire accessible (avec la variable PATH), appartenir � root (groupe lp), et avoir les permissions suivantes :

 -r-sr-sr-x      root    lp      /usr/bin/lpr
 -r-sr-sr-x      root    lp      /usr/bin/lpq
 -r-sr-sr-x      root    lp      /usr/bin/lprm
 -r-xr-sr-x      root    lp      /usr/sbin/lpc
 -rwxr--r--      root    lp      /usr/sbin/lpd

Les quatre premiers sont utilis�s pour soumettre, visualiser, annuler, contr�ler les travaux d'impression. Le dernier est le d�mon.

Il existe bien entendu des pages de manuel en ligne pour ces commandes que vous pourrez consulter pour plus d'information. Le point important � noter est que les commandes lpr, lpq, lpc et lprm op�rent sur une imprimante par d�faut nomm�e lp. La variable d'environnement PRINTER peut contenir le nom de l'imprimante que vous avez choisie. La sp�cification du nom d'une imprimante sur la ligne de commande surchargera ces d�finitions (les imprimantes de l'exemple sont hors-ligne):

 # echo $PRINTER
 (vide)
 #
 # lpq
 waiting for lp to become ready (offline ?)
 ...
 # export PRINTER=mon_imprimante
 # lpq
 waiting for mon_imprimante to become ready (offline ?)
 ...
 # lpq -Plpr0
 waiting for lpr0 to become ready (offline ?)
 ...

Le client et le serveur

Voici ci-dessous les interactions client - d�mon

 _________
 +/BlaBla  /+
 //________//|
 /          / +
+----------------+                       +----------+ /
|      LPR       |                       |=      oo |/
+----------------+                       +----------+
 |                                 Imprimante
 |                                     ^
 V                                     |
+----------------+                  +------------------+
|      LPD       |------>------>----|        LPD       |
+----------------+                  +------------------+
 Soumission d'un requete d'impression
+----------------+
|      LPQ       |
+----------------+
 \
 \_______>______
 \
+----------------+                 \+------------------+
|      LPD       |                  |        LPD       |
+----------------+                  +------------------+
 Soumission d'une demande d'information

Lorsque le syst�me d�marre, lpd est charg�. Il lit le fichier /etc/printcap (dont vous trouverez une explication plus loin) qui d�crit les imprimantes connues.

Les fichiers soumis par le client

Lorsqu'un programme client soumet un travail d'impression, il g�n�re deux fichiers qu'il �crit dans le spool:

La commande lpr

La commande lpr soumet un travail d'impression. Elle se charge de mettre les donn�es � imprimer dans un fichier dans le spool d'impression. Ces donn�es peuvent provenir soit d'un fichier (les donn�es sont dupliqu�es et toute modification ult�rieure du fichier d'origine n'affectera pas l'impression), soit de l'entr�e standard (stdin). Le d�mon est averti de l'existence d'un nouveau fichier et envoie, d�s que possible, les donn�es vers l'imprimante physique (ou la machine distante).

La taille du spool est bien entendu limit�e � la place disponible sur votre disque dans /usr/spool/ ou � la taille limite sp�cifi�e dans le fichier de configuration printcap. Vous pouvez n�anmoins imprimer un gros fichier en demandant � lpr de ne pas dupliquer le fichier. Le d�mon d'impression ira alors chercher le fichier que vous indiquez dans la ligne de commande et non plus dans le spool.

La commande lpq

La commande lpq affiche le contenu du spool, pour une imprimante donn�e. Une des informations importantes fournies est le num�ro du travail (job). C'est lui qui pourra servir � annuler un des travaux soumis, y compris celui en cours d'impression. Parmi tous les travaux soumis, l'indication ``active'' indique le travail en cours d'impression (ou que lpd essaie d'envoyer � l'impression).

La commande lprm

La commande lprm enl�ve un travail de la file (et donc le fichier du spool). Vous pouvez soit sp�cifier un num�ro de job, soit un tiret permettant de supprimer tous les travaux vous appartenant. Si vous �tes root, tous les travaux sont supprim�s. Pour supprimer les travaux d'un utilisateur, sp�cifiez son nom.

 # lprm 1
 dfA001Aa00484 dequeued
 cfA001Aa00484 dequeued
 #

Le premier fichier contient les donn�es � imprimer. Il a �t� cr�� par lpr. Le deuxi�me contient des informations que le d�mon utilise pour savoir que faire des donn�es (impression locale, distante, ...) Consultez le manuel en ligne : lpd(8).

La commande lpc

La commande lpc permet de contr�ler les travaux en cours ainsi que l'imprimante, et certains aspects de son utilisation. En particulier, vous pouvez d�marrer ou stopper la sortie des travaux du spool pour l'impression, valider ou invalider une imprimante, et m�me modifier l'ordre d'impression des fichiers. Les commandes suivantes permettent d'invalider l'impression sur mon_imprimante, de valider le spool sur ton_imprimante, et de faire passer le job 37 en d�but de file:

 lpc down mon_imprimante
 lpc enable ton_imprimante
 lpc topq 37

lpc peut fonctionner en interactif si aucun param�tre ne lui est pass�. Vous pouvez lire les pages du manuel en ligne pour obtenir des instructions compl�tes. A noter que certaines actions de lpc sont r�serv�es au super-utilisateur (root).

6.4 Les r�pertoires importants

Le r�pertoire le plus important est le r�pertoire de spool, dans lequel les donn�es vont �tre stock�es avant d'�tre imprim�es. Typiquement, un syst�me sera configur� pour avoir un r�pertoire de spool par imprimante. Cela rend la gestion plus facile. Sur mon syst�me, par exemple, le r�pertoire /usr/spool/lp est le r�pertoire principal. Sous ce r�pertoire, on y trouve le sous-r�pertoire lpr0, correspondant � la d�claration que j'ai faite dans /etc/printcap pour le r�pertoire de spool de mon imprimante.

NDT: Ce qui va suivre d�crit une fa�on de faire pour donner les bons droits d'acc�s aux r�pertoires de spool. Diff�rentes m�thodes sont possibles, sachant que, comme sous Un*x, beaucoup de choses sont possibles dans ce domaine, il convient de faire attention de ne pas offrir de failles � la s�curit� de l'ensemble.

Le r�pertoire de spool doit appartenir � root, et au groupe lp, avec les droits de lecture/d'�criture pour utilisateur et groupe, et lecture seule pour le reste du monde.

 chmod ug=rwx,o=rx lpr0
 chgrp lp lpr0
 drwxrwxr-x   2 root     lp           1024 Feb 11 10:51 lpr0/

Un autre r�pertoire doit �galement �tre pr�sent : /usr/spool/lpd avec les m�mes droits. Vous aurez plus d'informations plus avant dans ce document.

6.5 Les fichiers importants

En dehors des programmes que nous avons d�j� �voqu�s pr�c�demment, quatre fichiers doivent se trouver dans chaque r�pertoire de spool. Avec les versions r�centes des gestionnaires d'impression, vous n'avez pas � vous soucier de ces fichiers. Ils sont cr��s automatiquement s'ils n'existent pas : .seq, errs, lock et status. Ces fichiers doivent avoir les droits -rw-rw-r--. Le fichier .seq contient un compteur pour l'affectation des num�ros de jobs. Le fichier status contient le message devant �tre �mis par la commande lpc stat. Le fichier lock est utilis� par le d�mon pour qu'il n'imprime qu'un fichier � la fois. Le fichier errs contient les erreurs survenues sur l'imprimante.

Le fichier errs n'est pas obligatoire. De plus, il peut s'appeler comme vous le souhaitez, pourvu que son nom soit d�clar� dans le fichier /etc/printcap que nous d�crirons dans la suite.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:43