La configuration minimale pour un syst�me d'impression permet de mettre des fichiers en file d'impression puis de les imprimer. Il ne pr�te aucune attention au fait que votre imprimante puisse les imprimer (les comprendre m�me) et ne vous permettra pas d'imprimer des choses extraordinaires. N�anmoins, c'est un premier pas.
/etc/printcap
Le fichier /etc/printcap
d�crit toutes les imprimantes que
votre syst�me doit conna�tre. Il peut �tre
modifi� avec votre �diteur pr�f�r�, doit
appartenir � root et avoir les droits suivants:
-rw-r--r-- 1 root system 164 Oct 25 21:23 /etc/printcap
Le contenu du fichier semble assez incompr�hensible �
premi�re vue. Il respecte effectivement une syntaxe
particuli�re et malgr� les apparences, assez simple lorsque
l'on conna�t ! Il n'y a pas toujours de manuels concernant ce
fichier, et cela complique un peu les choses. Un petit conseil en passant
: essayez, dans la mesure du possible de rendre votre fichier le plus
lisible possible, avec des commentaires. Vous pouvez consulter les pages
du manuel en ligne concernant printcap(5)
(ou empressez-vous de
les r�cup�rer si vous ne les avez pas). Plus loin sont
d�crits les param�tres importants.
Une entr�e de printcap
d�crit une imprimante,
c'est-�-dire une correspondance nom logique - imprimante physique,
puis d�crit la fa�on de transmettre les donn�es. Par
exemple, une entr�e va d�crire le p�riph�rique
physique � utiliser, le r�pertoire de spool, les traitements
� effectuer sur les donn�es avant impression, ou encore le
r�pertoire dans lequel seront notifi�es les erreurs. Vous
pouvez aussi limiter la quantit� de donn�es pour un job, ou
m�me limiter l'acc�s d'une imprimante � une classe
d'utilisateurs. Vous trouverez dans la partie suivante la description des
champs.
Il est tout � fait possible d'avoir plusieurs entr�es d�crivant diff�rentes fa�ons d'envoyer des donn�es � une m�me imprimante physique. Par exemple, une imprimante physique peut supporter les formats HP LaserJet et PostScript, en fonction de la s�quence de caract�res envoy�e au d�but d'un travail. Vous d�finirez donc deux entr�es, l'une permettant de traiter le format HP, l'autre le format PostScript. Les programmes g�n�rant des donn�es ``HP'' les enverront � l'imprimante HP, ceux g�n�rant des donn�es PostScript les enverront � l'imprimante PostScript. Toutes les deux repr�sentent la m�me imprimante physique.
Les programmes qui modifient les donn�es avant de les envoyer � l'imprimante physique sont des filtres.
Exemple d'entr�e d'un fichier /etc/printcap
:
# LOCAL djet500
lp|dj|deskjet:\
:sd=/var/spool/lpd/dj:\
:mx#0:\
:lp=/dev/lp0:\
:sh:
Ceci d�finit une imprimante dont les noms sont lp
(par
d�faut), dj
et deskjet
. Les deux derniers sont
des alias de la m�me imprimante. La file (on dit tr�s souvent
le spool, m�me en fran�ais...) de cette imprimante de trouve
dans le r�pertoire /var/spool/lpd/dj
(sd
signifie
spool directory). Le p�riph�rique utilis� est
/dev/lp0
. La page d'en-t�te est supprim�e
(sh
) et aucune limite de taille de fichier n'est fix�e
(mx
)
Notez que la m�me entr�e pourrait s'�crire:
lp|dj|deskjet:sd=/var/spool/lpd/dj:mx#0:lp=/dev/lp0:sh:
mais c'est moins beau.
Vous pouvez consultez la page de manuel de printcap
sur
http://www.picante.com/~gtaylor/pht/man/printcap.html
. Toutes les
options y sont d�crites.
Tous les champs except�s les noms d'imprimantes sont entour�s de deux-points et rep�r�s par un symbole de deux lettres suivi du signe �gal. Ensuite est indiqu�e la valeur qui peut �tre de type num�rique, bool�enne ou cha�ne de caract�res:
champ type signification
lp string designe le peripherique d'impression
sd string designe le repertoire de spool
lf string designe le fichier de rapport d'erreurs
if string specifie le nom du filtre d'entree
rm string designe le nom d'un site d'impression distant
rp string designe le nom d'une imprimante distante
sh booleen indique s'il faut supprimer les en-tetes
sf booleen indique s'il faut supprimer les sauts de pages
de fin de travaux
mx numerique indique la taille maximum d'un job
(en blocs = 1Ko sous linux)
Si vous sp�cifiez /dev/null
comme
p�riph�rique, tous les traitements se feront, mais tout
partira � la poubelle. Ca semble ridicule, mais cela vous permet par
exemple de tester une configuration. Lisez le chapitre ``Imprimantes qui
ne sont pas de simples p�riph�riques''. Si vous
d�signez une imprimante distante avec rp
et rm
,
lp
doit contenir :lp=:
.
Ne laissez pas ce champ vide en cas d'impression locale, le d�mon signalerait une erreur.
Tout fichier sp�cifi� ici doit exister, sinon le rapport d'erreurs ne se ferait pas.
Les filtres d'entr�e sont des utilitaires transformant les donn�es qu'il re�oivent sur leur entr�e standard en un format particulier qu'il sortent sur leur sortie standard. Typiquement, la conversion texte - PostScript d�j� mentionn�e.
Si vous sp�cifiez un filtre d'entr�e, le d�mon n'envoie pas directement les donn�es au p�riph�rique. Il ex�cute le filtre en dirigeant les donn�s sur son entr�e standard et en d�signant le p�riph�rique de sortie comme sortie standard.
Envoyer des donn�es � une imprimante rattach�e
� une machine distante est tr�s simple: il suffit de
sp�cifier le nom de la machine avec rm
et le nom de
l'imprimante avec rp
. S'assurer que l'entr�e lp
est vide. A noter que les donn�es seront d'abord mises dans le spool
local avant d'�tre transf�r�es. M�me si votre
imprimante est distante, il faudra �galement un spool local.
Les banni�res concernent �ventuellement les utilisations � plusieurs personnes. Elles identifient les jobs.
La suppression de ces banni�res vous permet d'�conomiser du papier. Par contre la gestion des sauts de page sera plus int�ressante, surtout si vous utilisez des traitements de textes qui formatent toujours des pages pleines. Dans ce cas, pas besoin de saut de page suppl�mentaire. Vous auriez sinon une page blanche en fin de chaque travail. Si vous utilisez des listings ou autres documents, ajouter un saut de page garantit que chaque travail commancera bien en d�but de page.
Ce champ permet de limiter la taille des donn�es pour chaque job. Le
nombre � sp�cifier est en blocs de BUFSIZE
(pardon,
de 1 Ko) sous Linux. La valeur 0 rend la taille illimit�e,
permettant la soumission de travaux limit�e uniquement � la
taille du disque. Notez que la limite concerne la taille des
donn�es mises en spool, et non pas les donn�es
envoy�es � l'imprimante physique. Si la limite est
d�pass�e, le fichier est tronqu� avec
l'�mission d'un message disant: lpr: <fichier>: copy file
is too large
.
Cela peut �tre int�ressant pour des imprimantes physiques en mode texte, notamment si des utilisateurs ou des programmes cr�ent accidentellement des donn�es trop volumineuses.
Si vous manquez de m�moire de masse, pourquoi n'inventeriez-vous pas un filtre qui d�compresse ce qu'il a � envoyer � l'imprimante ? Vous soumettriez alors des donn�es compress�es.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:43