Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 0d5cd12c82d627a82c59047e1ba7b8a9 > files > 1130

howto-html-fr-9.0-0.2mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>Imprimer sous Linux</TITLE>
</HEAD>
<BODY>
<H1>2. <A NAME="s2"></A>Imprimer sous Linux</H1>
<P>
<A HREF="Printing-Usage-HOWTO.html#toc2">Contenu de cette section</A></P>

<P>Cette section d&eacute;crit comment imprimer des fichiers, examiner la file d'impression, supprimer des travaux de la file d'impression, formater des fichiers avant de les imprimer ainsi que comment configurer votre environnement d'impression.</P>
<P></P>
<H2>2.1 <A NAME="ss2.1"></A> Historique de l'impression sous Linux</H2>

<P>Le syst&egrave;me d'impression de Linux, le gestionnaire lp, est un portage du code source &eacute;crit par the Regents of the University of California pour la version BSD du syst&egrave;me d'exploitation UNIX.</P>
<P></P>

<H2>2.2 <A NAME="ss2.2"></A> Imprimer un fichier en utilisant lpr</H2>

<P>La mani&egrave;re la plus simple, et de loin, d'imprimer un fichier sous le syst&egrave;me d'exploitation Linux est de l'envoyer directement sur le p&eacute;riph&eacute;rique d'impression. Une fa&ccedil;on de le faire est d'utiliser la commande cat. En tant qu'utilisateur root, on peut faire quelque chose du genre :
<BLOCKQUOTE><CODE>
<HR>
<PRE>
# cat thesis.txt &gt; /dev/lp
</PRE>
<HR>
</CODE></BLOCKQUOTE>
</P>
<P></P>
<P>Dans le cas pr&eacute;sent, /dev/lp est un lien symbolique vers le p&eacute;riph&eacute;rique d'impression r&eacute;el, que ce soit une imprimante matricielle ou laser, un
logiciel de mise en page ou un traceur. (Cf ln(1) pour plus d'information sur les liens symboliques.)</P>
<P></P>
<P>Pour des raisons de s&eacute;curit&eacute;, seulement l'utilisateur root et les utilisateurs dans le m&ecirc;me groupe que le d&eacute;mon d'impression sont autoris&eacute;s &agrave; &eacute;crire directement sur l'imprimante. C'est pourquoi des commandes telles que lpr, lprm et lpq doivent &ecirc;tre utilis&eacute;es pour acc&eacute;der &agrave; l'imprimante.</P>
<P></P>
<P>De ce fait, les utilisateurs doivent utiliser lpr pour imprimer un fichier. La commande lpr prend en charge tout le travail initial n&eacute;cessaire &agrave; l'impression du fichier puis passe le contr&ocirc;le &agrave; un autre programme, lpd, le d&eacute;mon d'impression. Celui-ci dit alors &agrave; l'imprimante comment imprimer le fichier.</P>
<P></P>
<P>Quand lpr est ex&eacute;cut&eacute;, il commence par copier le fichier sp&eacute;cifi&eacute; vers un r&eacute;pertoire particulier (le r&eacute;pertoire spool) o&ugrave; le fichier demeure jusqu'&agrave; ce que lpd l'ait imprim&eacute;. Une fois que lpd est pr&eacute;venu de l'existence d'un fichier &agrave; imprimer, il va produire une copie de lui-m&ecirc;me (ce que nous programmeurs appelons forking). Cette copie imprimera alors notre fichier alors que l'original attend d'autres requ&ecirc;tes d'impression. Cela permet &agrave; de multiples travaux d'&ecirc;tre int&eacute;gr&eacute;s &agrave; la queue au m&ecirc;me instant.</P>
<P></P>
<P>La syntaxe de lpr(1) est tr&egrave;s famili&egrave;re :
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ lpr [ options ] [ nom_du_fichier ... ]
</PRE>
<HR>
</CODE></BLOCKQUOTE>
</P>
<P></P>
<P>Si un nom de fichier n'est pas sp&eacute;cifi&eacute;, lpr attend une entr&eacute;e en provenance de l'entr&eacute;e standard (g&eacute;n&eacute;ralement le clavier ou le r&eacute;sultat d'un autre programme). Cela permet &agrave; l'utilisateur de rediriger la sortie d'une commande vers le gestionnaire d'impression.
Ainsi :
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ cat thesis.txt | lpr
</PRE>
<HR>
</CODE></BLOCKQUOTE>

ou
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ pr -l60 thesis.txt | lpr
</PRE>
<HR>
</CODE></BLOCKQUOTE>
</P>
<P></P>
<P>La commande lpr accepte de nombreux arguments sur la ligne de commande qui permettent &agrave; l'utilisateur de contr&ocirc;ler son fonctionnement. Certains de ces arguments les plus utilis&eacute;s sont :
<UL>
<LI>-Pprinter pour sp&eacute;cifier l'imprimante &agrave; utiliser</LI>
<LI>-s pour cr&eacute;er un lien symbolique plut&ocirc;t que de copier le fichier dans le r&eacute;pertoire d'impression (utile pour de gros fichiers)</LI>
<LI>-#num pour sp&eacute;cifier le nombre de copies &agrave; imprimer</LI>
</UL>

Un exemple d'utilisation de lpr pourrait &ecirc;tre du genre :
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ lpr -#2 -sP dj thesis.txt
</PRE>
<HR>
</CODE></BLOCKQUOTE>

Cette commande cr&eacute;era un lien symbolique vers le fichier thesis.txt dans le r&eacute;pertoire spool pour l'imprimante appel&eacute;e dj, o&ugrave; il sera trait&eacute; par lpd. Il imprimera alors une seconde copie de thesis.txt.</P>
<P></P>
<P>Pour une liste de toutes les options que lpr reconna&icirc;tra, voyez lpr(1).</P>
<P></P>
<P></P>

<H2>2.3 <A NAME="ss2.3"></A> Voir la file d'impression avec lpq</H2>

<P>Pour voir le contenu de la file d'impression, utilisez la commande lpq. Employ&eacute;e sans arguments, elle renvoie le contenu de la file d'impression de l'imprimante par d&eacute;faut.</P>
<P></P>
<P>La sortie retourn&eacute;e par lpq peut &ecirc;tre utile &agrave; plus d'un titre.
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ lpq
lp is ready and printing
Rank   Owner      Job  Files                            Total Size
active mwf        31   thesis.txt                       682048 bytes
</PRE>
<HR>
</CODE></BLOCKQUOTE>
</P>
<P></P>

<H2>2.4 <A NAME="ss2.4"></A> Annuler un travail d'impression en utilisant lprm</H2>

<P>Une autre fonctionnalit&eacute; utile de tout syst&egrave;me d'impression est la possibilit&eacute; d'annuler un travail qui a &eacute;t&eacute; pr&eacute;alablement envoy&eacute; dans la file. Pour ce faire, utilisez lprm.
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ lprm -
</PRE>
<HR>
</CODE></BLOCKQUOTE>
</P>
<P>La commande ci-dessus annule tous les travaux d'impression qui appartiennent &agrave; l'utilisateur qui a employ&eacute; la commande. Un travail d'impression en particulier peut &ecirc;tre annul&eacute; en se munissant en premier lieu du num&eacute;ro de travail tel que mentionn&eacute; par lpq puis en donnant ce num&eacute;ro &agrave; lprm. Par exemple :
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ lprm 31
</PRE>
<HR>
</CODE></BLOCKQUOTE>

annulerait le travail 31 (thesis.txt) de l'imprimante par d&eacute;faut.</P>
<P></P>

<H2>2.5 <A NAME="ss2.5"></A> Contr&ocirc;ler le programme lpd avec lpc.</H2>

<P>Le programme lpc(8) est utilis&eacute; pour contr&ocirc;ler les imprimantes que lpd dessert. Vous pouvez activer ou d&eacute;sactiver une imprimante ou ses files d'impression, r&eacute;organiser les travaux &agrave; l'int&eacute;rieur d'une file, et obtenir un rapport d'&eacute;tat sur les imprimantes ou leurs files. Lpc est le plus
souvent utilis&eacute; dans une configuration o&ugrave; de multiples imprimantes sont raccord&eacute;es &agrave; la m&ecirc;me machine.
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ lpc
</PRE>
<HR>
</CODE></BLOCKQUOTE>
</P>
<P></P>
<P>La commande ci-dessus lancera le programme lpc. Par d&eacute;faut, vous entrez alors en mode interactif et vous pouvez commencer &agrave; envoyer des commandes. L'autre option est d'employer une commande lpc sur la ligne de commande.
<BLOCKQUOTE><CODE>
<HR>
<PRE>
$ lpc status all
</PRE>
<HR>
</CODE></BLOCKQUOTE>
</P>
<P></P>
<P>Une liste de toutes les commandes disponibles se trouve dans les pages man de lpd mais voici quelques unes des
commandes majeures dont vous allez avoir besoin. Toutes les commandes
o&ugrave; figure option acceptent soit un nom d'imprimante particulier (lp, print, etc) ou le mot-cl&eacute; all qui d&eacute;signe toutes les imprimantes.
<UL>
<LI> disable option - emp&ecirc;che l'entr&eacute;e de tout nouveau travail d'impression</LI>
<LI> down option - d&eacute;sactive toute impression sur l'imprimante</LI>
<LI> enable option - autorise de nouveaux travaux &agrave; int&eacute;grer la file d'impression</LI>
<LI> quit (ou exit) - quitte lpc</LI>
<LI> restart option - relance lpd pour cette imprimante</LI>
<LI> status option - imprime l'&eacute;tat de l'imprimante</LI>
<LI> up option - autorise tout et lance un nouveau lpd</LI>
</UL>
</P>
<P></P>

<H2>2.6 <A NAME="ss2.6"></A> Le programme printtool sous RedHat.</H2>

<P>Juste quelques mots sur l'&eacute;tonnant programme printtool de RedHat. Il semble &ecirc;tre en mesure de faire tout ce qu'un filtre magique ferait. RedHat installe d&eacute;j&agrave; la plupart des programmes n&eacute;cessaires au filtrage. Voici comment j'ai configur&eacute; mon imprimante  sous RH 4.0 avec une HP LJ 4L connect&eacute;e &agrave; mon port parall&egrave;le.
<UL>
<LI>Devenez root et lancez printtool (si vous avez utilis&eacute; su, vous vous &ecirc;tes rappel&eacute; de faire SETENV DISPLAY :0.0 et xhost +, n'est-ce pas ?)</LI>
<LI>Cliquez sur Add et appuyez sur OK pour une imprimante locale</LI>
<LI>Remplissez l'information sur le p&eacute;riph&eacute;rique d'impression (/dev/lp1 pour moi)</LI>
<LI>Compl&eacute;tez le filtre d'entr&eacute;e : s&eacute;lectionnez un type d'imprimante, une r&eacute;solution, et la taille du papier (ljet4, 300x300 et letter)</LI>
<LI>Appuyez sur OK jusqu'&agrave; revenir au point de d&eacute;part et relancez lpd.</LI>
</UL>
</P>
<P>Comme si vous remplissiez un fichier /etc/printcap &agrave; la main, vous pouvez avoir de multiples d&eacute;finitions d'imprimante pour chacune de vos imprimantes r&eacute;elles. Une pour chaque taille de papier, pour les diff&eacute;rentes r&eacute;solutions, etc.</P>
<P></P>

<HR>
<P>
Chapitre <A HREF="Printing-Usage-HOWTO-3.html">suivant</A>,
Chapitre <A HREF="Printing-Usage-HOWTO-1.html">Pr&eacute;c&eacute;dent</A>
<P>
Table des mati&egrave;res de <A HREF="Printing-Usage-HOWTO.html#toc2">ce chapitre</A>,
 <A HREF="Printing-Usage-HOWTO.html#toc">Table des mati&egrave;res</A> g&eacute;n&eacute;rale</P>
<P>
<A HREF="Printing-Usage-HOWTO.html">D&eacute;but</A> du document,
 <A HREF="#0"> D&eacute;but de ce chapitre</A></P>
</BODY>
</HTML>