2 Logiciels d'impression

Contenu de cette section

Cette partie décrit les logiciels disponibles spécialement pour Linux. Il est entendu que la plupart des logiciels UN*X (non spécifiques à Linux) peuvent être compilés et utilisés sous Linux.

2.1 Le texte simple

Sous Linux comme sous tout Un*x, le plus facile à imprimer est du texte ASCII pur. Toutes les méthodes pour envoyer le texte sur l'imprimante sont bonnes~:

ma_machine# cat text_ASCII  >/dev/par1

(si l'imprimante est sur le port parallèle) ou /dev/ttyS?, /dev/ttys?, /dev/cua?, etc, si elle est sur un port série. Le périphérique (/dev/xxxx) peut nécessiter des droits d'accès privilégiés. Attention donc~! Certaines imprimantes (HP DeskJet notamment) requièrent des fins de lignes à la mode DOS (m'enfin ...) c'est-à-dire newline+retour-chariot, pour éviter le célèbre effet d'escalier (Voir le chapitre Comment éviter l'effet d'escalier).

2.2 pr

La plupart des fichiers ascii du monde Un*x sont tels quels, c'est-à-dire non formatés, sans fin de pages, sans quoi que ce soit qui en fasse un texte présentable. La solution consiste donc à utiliser un outil capable de formater ces textes. Le plus simple d'entre-eux est sans aucun doute pr. Son rôle est de présenter le texte de façon que les pages soient bien coupées, précédées d'un en-tête, suivies (optionnellement) d'un pied de page. Comme beaucoup de commandes, pr a une foultitude d'options qu'il est bon de consulter via le man.

2.3 PostScript

PostScript est un langage de description de pages créé par Adobe. Actuellement, c'est le langage incontournable, notamment sous Unix, pour présenter du texte et des graphiques. Si vous possédez une imprimante PostScript, cela ira de soi pour vous. Sinon, c'est un petit peu plus compliqué.

Si ce n'est pas l'imprimante qui interprète directement le PostScript, c'est à un logiciel Unix de le faire~: Ghostscript est tout désigné pour cela. Il accepte du langage PostScript en entrée, l'interprète, et fournit un résultat en sortie que l'on peut soit visualiser sous X, ou sur certains écrans spécialisés (prévisualisation), soit imprimer directement sur l'imprimante, ou même que l'on peut fournir à des logiciels de fax.

Les périphériques suivants sont supportés par Ghostscript~:

             linux   PC vga utilisant la svgalib
     #       x11     X Windows version 11, version >=4   [Unix et VMS seulement]

     # Imprimantes :
       -----------
     # *     appledmp  Imprimante matricielle Apple (Imagewriter)
     #       bj10e     Canon BubbleJet BJ10e
     # *     bj200     Canon BubbleJet BJ200
     # *     cdeskjet  H-P DeskJet 500C avec 1 bit/pixel
     # *     cdjcolor  H-P DeskJet 500C avec couleur 24 bit/pixel et
     #                 extrapolation des couleur haute qualite (Floyd-Steinberg)
     # *     cdjmono   H-P DeskJet 500C impression noire
     # *     cdj500    H-P DeskJet 500C (meme que cdjcolor)
     # *     cdj550    H-P DeskJet 550C
     # *     declj250  autre pilote que DEC LJ250
     # +     deskjet   H-P DeskJet et DeskJet Plus
     # *     dfaxhigh  logiciel DigiFAX de DigiBoard, Inc.'s
     # *     dfaxlow   DigiFAX basse (normale) resolution
     #       djet500   H-P DeskJet 500
     # *     djet500c  H-P DeskJet 500C
     #       epson     Imprimantes a aiguilles compatibles Epson (9- or 24-aig)
     # +     eps9high  Imprimante compatible Epson 9-aig, lignes entrecroisees
     #                 (triple resolution)
     # *     epsonc    Imprimantes couleur Epson LQ-2550 et Fujitsu 3400/2400/1200
     # *     escp2     Imprimantes avec langage Epson ESC/P 2 , dont la Stylus 800
     # +     ibmpro    IBM 9-aiguilles Proprinter
     # *     jetp3852  Imprimante IBM Jetprinter jet d'encre couleur (Model #3852)
     # +     laserjet  H-P LaserJet
     # *     la50      Imprimante DEC LA50
     # *     la75      Imprimante DEC LA75
     # *     lbp8      Imprimante laser Canon LBP-8II
     # *     ln03      Imprimante DEC LN03
     # *     lj250     Imprimante couleur DEC LJ250 Companion
     # +     ljet2p    H-P LaserJet IId/IIp/III* avec compression TIFF
     # +     ljet3     H-P LaserJet III* avec compression "Delta Row"
     # +     ljet4     H-P LaserJet 4 (600 dpi par defaut)
     # +     ljetplus  H-P LaserJet Plus
     # *     m8510     Imprimante C.Itoh M8510
     # *     necp6     Imprimantes NEC P6/P6+/P60 resolution de 360 x 360 DPI
     # *     nwp533    Imprimantes laser Sony Microsystems NWP533  [seulement Sony]
     # *     oki182    Okidata MicroLine 182
     #       paintjet  Imprimantes couleur H-P PaintJet
     # *     pj        Autre pilote PaintJet XL
     # *     pjxl      Imprimantes couleur H-P PaintJet XL
     # *     pjxl300   Imprimantes couleur H-P PaintJet XL300
     # *     r4081     Imprimante laser Ricoh 4081
     # *     sparc     Imprimante SPARCprinter
     # *     t4693d2   Imprimante couleurTektronix 4693d, 2 bits par composante R/V/B
     # *     t4693d4   Imprimante couleurTektronix 4693d, 4 bits par composante R/V/B
     # *     t4693d8   Imprimante couleurTektronix 4693d, 8 bits par composante R/V/B
     # *     tek4696   Traceur a jet d'encre Tektronix 4695/4696
     #%*     trufax    Pilote de fax TruFax  [seulement Unix]

     # Formats de fichiers et autres :
       -----------------------------
     #       bit       un pilote mode bit
     #       bmpmono   Format de fichiers .BMP Monochrome MS Windows
     #       bmp16     Format de fichiers .BMP 4-bit (EGA/VGA)
     #       bmp256    Format de fichiers .BMP 8-bit (256-couleurs)
     #       bmp16m    Format de fichiers .BMP 24-bit
     #       gifmono   Format de fichiers GIF Monochrome
     #       gif8      Format de fichiers GIF 8-bits couleur
     #       pcxmono   Format de fichiers PCX Monochrome
     #       pcxgray   Format de fichiers PCX 8-bits a niveaux de gris
     #       pcx16     Format de fichiers couleur (ancien) PCX (EGA/VGA, 16-couleurs)
     #       pcx256    Format de fichiers couleur (nouveau) PCX (256-couleurs)
     #       pbm       Portable Bitmap
     #       pbmraw    Portable Bitmap (mode raw)
     #       pgm       Portable Graymap
     #       pgmraw    Portable Graymap (mode raw)
     #       ppm       Portable Pixmap
     #       ppmraw    Portable Pixmap (mode raw)
     # *     tiffg3    TIFF/F (G3 fax)

Les lignes commençant par \# correspondent à des pilotes inclus dans la distribution gs261, correspondant à la dernière version de ghostscript (gs) version 2.6.1.

Les pilotes marqués avec % nécessitent un logiciel du commerce pour être utilisés (typiquement fax, ...)

Où trouver ghostscript :

Premièrement dans la distribution slackware, dans xap1, gs_x11.tgz (pour ceux qui font l'installation manuellement) et qui nécessitent les librairies libX.so.??.

La distribution officielle de ghostscript, qui comme tout bon logiciel GNU, contient les sources, (donc à compiler soi-même) se trouve sur~:

        prep.ai.mit.edu:/pub/gnu/ghostscript-xxxx.tar.gz
        prep.ai.mit.edu:/pub/gnu/ghostscript-fonts-xxxx.tar.gz

Cette méthode permet de récupérer la dernière version (actuellement 2.6.1pl4, les 4 patches étant disponibles séparément).

Un patch permettant d'utiliser la librairie Linux svga, et donc de se passer de X, est disponible (Voir Prévisualisation sans X).

Une installation binaire minimale de ghostscript et d'outils associés, nécessaires à l'impression de documents est disponible sur sunsite.unc.edu:/pub/Linux/apps/tex/texmin/texmin-0.1.tar.z. A noter que cette installation ne contient pas de fontes.

La documentation de Ghostscript se trouve, outre dans le manuel en ligne, également dans /usr/lib/ghostscript/doc/use.doc, ou encore parmi les sources.

Pour utiliser gs :

Allez, on vous aide un peu. Votre imprimante est (par exemple) une...Mhhh...Epson stylus 800. Elle est sur le port parallèle, repéré par /dev/par1. Donc ca nous donne~:

gs -dNOPAUSE -sDEVICE=escp2 -sPAPERSIZE=a4 -sOutputFile=/dev/par1 fichier.ps'

le paramètre NOPAUSE permet de ne pas faire de pause entre chaque page (gs est aussi utilisé en pré-visualisation et dans ce cas une pause entre chaque page est utile). N'oubliez pas le format a4~! Sinon le format sera US si la version n'a pas été recompilée avec les bonnes options.

Ghostscript est fait pour imprimer avec la meilleure résolution de votre imprimante. Les options '-r300' '-r500' '-r360x180' permettent éventuellement de la contrôler. Les imprimantes matricielles, en particulier ont besoin d'être configurées avec la résolution adaptée, puisqu'elles ne travaillent que rarement à la résolution courante de 300dpi.

2.4 Les fontes

(Cette partie contient des informations sur les fontes spécifiques ni à ghostscript, ni aux pilotes de ghostscript). Les informations spécifiques aux pilotes X11 `gs' sont données dans le chapitre sur ghostview.

Toutes les versions de ghostscript sont livrées avec des fontes du domaine public, la plupart d'entre elles provenant de bitmaps et donc de qualité relativement faible. Cependant, ghostscript peut utiliser toute fonte PostScript Type 1 ou 3 que vous pouvez avoir sous la main. Par exemple ATM (Adobe Type Manager) contient des fontes que vous pouvez utiliser. Mettez-les (*.pc?) dans le répertoire lib/ghostscript/fonts et ajoutez au fichier lib/ghostscript/Fontmap des lignes comme la suivante~:

/Courier                        (com_____.pfb) ;

Un fichier fontmap complet (fontmap.atm) pour les fontes courantes (dont ATM), est disponible sur le serveur par courrier.

Les fontes "TimesNewRomanPS" et "ArialMT" sont interchangeables avec les fontes "Times Roman" et "Helvetica", donc vous pouvez les mettre en alias si ce sont celles que vous avez.

Les fontes Adobe Type 1 peuvent être trouvées sur~:

ftp.cica.indiana.edu:/pub/pc/win3/fonts
archive.umich.edu:/msdos/mswindows/fonts

Il peut être délicat d'effectuer des conversions entre différents types de fontes. Ghostscript est livré avec les outils nécessaires pour transformer des bitmaps en fontes ps à taille variable. L'utilitaire groff est livré avec les outils permettant d'utiliser les fontes tfm/mf (\TeX) et pfb (Type~1) dans les documents *roff. X11R5 (et sûrement X11R6) inclut pas mal d'utilitaires pour les fontes. D'autres utilitaires de conversion de fontes sont décrits dans comp.fonts (Foire Aux Questions). Des paquetages logiciels sur les fontes peuvent être trouvés sur~:

prep.ai.mit.edu:/pub/gnu/\\ ainsi que sur les sites français ftp.ibp.fr et ftp.univ-angers.fr

2.5 Faxer

Si vous disposez d'un modem/Fax, vous pouvez configurer votre système pour envoyer ou recevoir des fax aux formats PostScript, dvi, ascii, etc... Vous pourrez même faire en sorte que votre courrier électronique soit faxé~!

Les modems/Fax supportent les commandes de classe 1 ou 2. Les modems de classe 1 ont un sous-ensemble de fonctionnalités d'un fax disons traditionnel (donc, le logiciel doit faire le reste... et supporter de telles choses pour lesquelles le facteur temps est critique, sur un système multi-tâches préemptif comme Linux est des plus délicat~!)

La classe 1 correspond au standard EIA~578. Les modems de classe 2 répondent au sandard EIA~592. Vous trouverez dans la documentation de votre modem à quelle classe il appartient. Ne confondez pas classe et groupe. Le groupe souhaité est effectivement le groupe~III.

Les logiciels de fax tournant sous Linux doivent savoir convertir les données reçues en un format compatible avec le groupe~III pour la transmission. Comme d'habitude Ghostscript sait faire~! Le pilote tiffg3 génère des messages fax encodés au format g3/tiff. Vous devrez compiler et intégrer le pilote si ce n'est déjà fait. Certains logiciels de fax sur des plate-formes autres (commerciales) peuvent utiliser le logiciel de visualisation PostScript pour visualiser les images fax. Ce n'est pas possible sous Linux.

Le programme GNU netfax supporte seulement les modems de classe 2. Les patches pour la version 3.2.1 sont disponibles sur le serveur par courrier (netfaxpatch) ainsi que sur sunsite (voir ci-après). Netfax fonctionne comme un serveur mettant les travaux soumis depuis une machine lcoale ou distante en file. Netfax est utilisé au MIT. Il accepte le PostScript, les formats dvi et ascii et peut être configuré pour une utilisation conjointe avec le courrier électronique. La documentation fournie avec le paquetage logiciel est restreint aux notes de compilation et aux manuels en ligne pour chaque programme individuel. Vous le trouverez sur les serveurs GNU, notamment~:

prep.ai.mit.edu:/pub/gnu/fax-3.2.1.tar.gz

ainsi que sur les miroirs français~:

ftp.ibp.fr              (/pub/gnu)
ftp.univ-angers.fr      (/pub/gnu)

les patches pour linux sur~:

sunsite.unc.edu:/pub/Linux/apps/comm/fax/net-fax-3.2.1.linux-patch

Un autre logiciel, FlexFax est quant à lui disponible sur~:

sgi.com (192.48.153.1):/sgi/fax/?????.src.tar.Z

Il est écrit en C++ et requiert donc g++. FlexFax supporte les modems de classe 1 et 2, utilise ghostview (ou un serveur d'affichage PostScript) pour le rendu et est globalement plus complet et général que netfax. Il peut également prendre la place de getty et donc soit recevoir des fax, soit offrir un login approprié au type d'appel. La documentation inclut les instructions de configuration de smail3, sendmail et d'autres agents. C'est le paquetage que je recommande si vous souhaitez vraiment un bon logiciel dans ce domaine. La documentation est complète et bien faite. La version 2.x de Flexfax est disponible sous Linux.

"mgetty + sendfax" est un couple de logiciels, contenant un getty pour Linux et SCO pour les modems fax et un logiciel d'envois de fax assez simple. Ces logiciels sont disponibles sur~:

sunsite.unc.edu:/pub/Linux/system/Serial/mgetty+sendfax-0.22.tar.gz
                /pub/Linux/system/Serial/mgetty+sendfax-0.22.doc.tar.gz

Enfin, efax mérite d'être mentionné. Seulement classe 2. Pas de réseau, pas de courrier électronique, simplement l'envoi au format tiff. Efax est disponible sur~:

sunsite.unc.edu:/pub/Linux/apps/comm/fax/efax06a.tar.gz

(Répertoire dans lequel on trouvera également vfax10.tar.z, qfax1.0.tar.gz)

2.6 *roff, pages de manuel en ligne

Les pages de manuel peuvent parfois être imprimées directement à partir de pages préformatées (au lieu des pages au format nroff) comme un fichier texte normal. Toutefois certaines imprimantes n'acceptent pas les caractères de contrôle utilisés pour la surbrillance et tous les embellissements de la sorte. Un filtre peut donc être utilisé, livré par exemple avec le paquetage lpd (net-2).

Si vous disposez des pages de manuel au format nroff (ce que je vous souhaite) vous pouvez soumettre~: man~-t~bidule_chose~|~lpr. Votre programme man formatera les pages en PostScript en utilisant groff. Cette méthode d'impression donne vraiment un résultat superbe (essayez~!) comparé au texte simple. Malheureusement cela dépend de votre programme man et des logiciels installés sur votre machine. Si votre programme man ne permet pas cela, essayez la version perl disponible sur~:

sunsite.unc.edu:/pub/Linux/system/Manuel-pagers/

Il est écrit en perl et est donc facilement adaptable (perl étant un langage interprété inspiré du langage C et de sh).

Vous pouvez aussi activer groff manuellement en allant chercher les fichier source au format nroff dans les répertoires de man~:

groff -mandoc -TTYPE truc.1 | lpr

Où TYPE peut être `ascii', `dvi', `ps', `X100', `X75', `latin8'.

2.7 Imprimer du texte via PostScript

Nombreux sont les utilitaires permettant d'imprimer du texte sur une imprimante PostScript~!

mpage

Le logiciel mpage convertit du texte simple en PostScript avec la possibilité d'imprimer plus d'une page de texte par feuille. On peut le trouver sur~:

sunsite.unc.edu:/pub/Linux/system/Printing/mpage214.tgz

Soumettez~: man -t bidule_chose | mpage pour envoyez les pages du manuel (sur 2 pages par feuille, ou selon la variable d'environnement MPAGE) concernant bidule_chose sur l'imprimante via lpr et son interpréteur PostScript.

a2ps

a2ps transforme un texte Ascii en un document très bien présenté, avec en-têtes, pieds de pages, numéros de pages, ... Et en plus la possibilité d'imprimer deux pages sur une seule page (physique), d'orienter le texte en portrait ou paysage. Du très beau travail~! Un utilitaire que je conseille fortement. On le trouve assez facilement. Attention toutefois aux versions. Choisissez de préférence une version dans laquelle la description PostScript se trouve dans le source plutôt que dans un fichier à part (header.ps). La dernière version que je connaisse est la 4.3 et que l'on trouvera par exemple sur~:

ftp.inria.fr:/postscript/a2ps.V4.3.tar.Z

Attention~: lors d'impression de plusieurs pages par feuille, il se peut que le résultat soit tronqué (en dehors des limites imprimables). Par exemple, si vous utilisez a2ps et gs comme filtre, il faudra effectuer quelques réglages.

(NDT: J'ai personnellement adapté à la fois a2ps et gs pour mon imprimante (Stylus 800). Concernant gs, j'ai modifié le fichier /usr/lib/ghostscript/gs_statd.ps décrivant la taille des pages~:

ancien :
 /a4 {595 842 //statusdict begin .setpagesize end} bind def  % ISO standard

nouveau :
 /a4 {612 842 //statusdict begin .setpagesize end} bind def  % ISO standard

Je ne pense pas que ce soit bien "réglementaire" mais sans cela a2ps était incapable de me sortir une page correcte. Concernant a2ps, je l'ai contraint à rester dans des limites raisonnables pour la longueur des pages. Pour une imprimante laser, les limites étant plus grandes, il devrait y avoir moins de problèmes).

Je suis prêt à donner plus d'informations sur ce que j'ai fait et à en recevoir, notamment si vous avez de meilleures méthodes.

enscript

Enscript est un utilitaire qui fait quasiment le même travail que a2ps. On peut le trouver avec certains Unix commerciaux. Une version clone, appelée nenscript est disponible sur sunsite.unc.edu~:

/pub/Linux/system/Printing/nenscript-1.13++.bin.tar.z
/pub/Linux/system/Printing/nenscript-1.13++.tar.z

gslp

Gslp est un des utilitaires fournis avec ghostscript 2.6.x, et dont le but est d'effectuer une conversion ascii/Postscript à l'instar de a2ps ou enscript, mais moins puissant. exemple:

gs -q -sDEVICE=escp2 -sPAPERSIZE=a4 -dNOPAUSE -- gslp.ps FICHIER [OPTIONS]

gslp.ps est un fichier contenu dans la distribution ghostscript dont le rôle est d'effectuer le formatage. Vous pouvez consulter la documentation qu'il contient.

2.8 Utilitaires Postscript

Ceux qui font une grande consommation du format PostScript souhaiteront trouver le maximum d'utilitaires. Il y en a une grande quantité, sur les sites connus (wuarchive.wustl.edu, ftp.uu.uunet, ... et leurs miroirs), ainsi que~:

achilles.doc.ic.ac.uk:/tex/inter/psutils/
ftp.cs.psu.edu:/pub/src/psutil.tar.gz

Ils permettent essentiellement le choix des pages, l'impression double face, l'édition de documents, etc...

2.9 \TeX/dvi

\LaTeX\ (ou \TeX) est un ensemble logiciel de traitement de texte conçu et essentiellement utilisé dans le milieu universitaire. \TeX\ fonctionne comme un compilateur, prenant un texte source en entrée, et le transformant en un nouveau fichier au format "dvi". Un tel fichier dvi peut ensuite être manipulé, traîté à nouveau, avant d'être imprimé. DVI signifie DeVice Independant, c'est-à-dire indépendant du périphérique (d'impression). Les résultats d'impressions sont de très grande qualité et méritent tous les traitements effectués.

Exemple: Si vous disposez d'un fichier dont l'extension est .tex, essayez la commande tex fichier.tex ou latex fichier.tex. Vous obtenez fichier.dvi. (Deux exécutions peuvent se révéler nécessaires pour l'indexation).

Pour la plupart d'entre nous qui ne possédons pas d'imprimante capable d'interpréter directement ce format, une nouvelle conversion est nécessaire. Par exemple la conversion dvi vers PostScript permettra d'utiliser une imprimante ou un filtre PostScript. (Voir Ecrire des filtres).

dvips

dvips convertit un fichier au format dvi en un fichier au format PostScript, que vous pouvez éventuellement rediriger vers ghostscript ou vers une imprimante. La plupart des installations Linux contiennent \TeX\ et dvips.

dvips -f1 fichier.dvi  | lpr

Imprimera fichier.dvi (éventuellement via un filtre PostScript).

dvips accepte des paramètres sur la ligne de commande. Les paramètres apparaissant régulièrement peuvent être définis dans un fichier de configuration /usr/TeX/lib/tex/ps/config.ps (d'après l'auteur) et /usr/lib/texmf/ps/config.ps (chez moi, mais bon...). Ce fichier permet de définir la configuration qui vous convient afin notamment d'utiliser dvips sans paramètre (dvips fichier.dvi) et également en tant que filtre.

dvips a d'intéressantes options; par exemple dvips -r1 fichier.dvi qui permet de commencer l'impression par la dernière feuille, est très appréciée des possesseurs d'imprimantes à jet d'encre. Si des graphiques sont inclus, ceux-ci peuvent l'être lors du traitement par dvips et non pas par \TeX. Attention donc à ce que les graphiques puissent être trouvés, sinon ceci se traduirait par des trous blancs au lieu de l'image. Normalement, les documents que vous pourrez trouver dans ce format sont livrés avec un fichier script ou makefile pour vous éviter des soucis. La documentation de LILO en est un exemple.

eps

eps est un programme qui convertit les fichiers au format dvi en langage des imprimantes Epson. C'est donc un pilote pour Epson. Il est référencé par l'auteur comme étant situé à~:

sunsite.unc.edu:/pub/Linux/apps/tex/eps-061.tar.gz

mais semble avoir disparu~! Des versions plus récentes pourront éventuellement apparaitre.

dvilj

Un petit programme pour les possesseurs de LaserJet qui convertit le format dvi directement en langage PCL. Il est aussi appelé dvilj2p, et est disponible sur les sites tsx-11, sunsite, et en tout cas sur ftp.uu.uunet.

(Description de Nils Rennebarth)

C'est un bon pilote, mais un peu démodé, dans ce sens que sa configuration n'est pas très souple (notamment la localisation des fontes) et qu'il ne supporte pas les fontes virtuelles ( en tout cas pas la version 0.51). Son plus grand avantage par rapport au couple dvips/ghostscript est qu'il utilise pour son propre compte des fontes téléchargeables, ce qui~: Il supporte l'impression double-face, et la plupart des options souhaitées pour un tel pilote. Il s'est parfaitement compilé et exécuté sur nos diverses machines.

2.10 texinfo

C'est le format natif des documents du project GNU. Il permet d'une part à Emacs de produire des fichiers Info, d'autre part à \TeX\ de produire une documentation imprimée de qualité à partir du même fichier. On est un peu à la limite des deux outils, mais ça marche~! Il n'y a en réalité que \TeX\ qui ait besoin que le fichier texinfo.tex soit installé sur votre système. L'exécution deux fois de tex FICHIER.tex (pour les besoin de la génération d'index) conduit à un fichier dvi complet, prêt à être imprimé.

Dans Emacs, vous pouvez exécuter~: M-x~texinfo-format-buffer pour convertir un fichier texinfo en un fichier info, visualisable grâce à M-x~info, ou tout utilitaire de votre choix. Il y a également d'autres utilitaires capables d'effectuer de telles transformations. Voir dans /pub/gnu.

2.11 Imprimer via un terminal

Un certain nombre de terminaux ou émulateurs de terminaux supportent la connexion d'une imprimante. L'ordinateur auquel est rattaché le terminal doit alors utiliser un ensemble de commandes d'échappement standards pour commander cette imprimante. Les DEC VT et certains terminaux ANSI ont cette possibilité. Un simple shell-script permet d'imprimer un fichier, en utilisant l'imprimante connectée au terminal~:

#!/bin/csh -f
# Impression sur un terminal compatible VT-100
echo -n \[5i ; cat $* ; echo -n \[4i

Si ce script est nommé vtprint, la commande vtprint [FICHIER [FICHIER]] imprimera ce(s) fichier(s) (ou vers stdin, si aucun nom n'est spécifié).

2.12 Matériels et pilotes

Le port parallèle peut être géré par le pilote du noyau de deux manières. D'une part par polling (scrutation), d'autre part par interruption. La méthode de gestion par interruption est en théorie plus efficace, puisque le gestionnaire n'est sollicité par une interruption qu'au moment où un travail est à effectuer. En pratique, il semble que ce soit dépendant de la machine. Dans beaucoup de cas, il n'y a pas tant de différence que cela.

Le source se trouve dans le fichier /.../drivers/char/lp.c des sources du noyau. Pour choisir l'un ou l'autre des pilotes, ainsi que pour effectuer des réglages, utilisez le programme tunelp. Dans le cas du pilote scrutateur, un ajustement de la fréquence de scrutation peut être nécessaire.

Pour choisir le pilote fonctionnant par interruption, utilisez le programme tunelp également. (Ajouter éventuellement la ligne appropriée dans le fichier /etc/rc.local.

Pour une machine de type AT, l'IRQ du port LPT1: est généralement la 7, celle du port LPT2: la 5. Certains BIOS Basic Input Output System affichent d'ailleurs cette information. Le deuxième paramètre de tunelp devra contenir une de ces adresses. A noter que si l'imprimante est lp0, le pilote par interruption ne fonctionnera probablement pas.

DOS utilisant un pilote scrutateur, si votre imprimante ne fonctionne pas sous Linux, elle le devrait avec le pilote scrutateur. Tunelp est disponible sur~:

sunsite.unc.edu:/pub/Linux/system/Printing/tunelp-1.3.tar.z

2.13 Le nom des périphériques pour les imprimantes

Sur un système de type XT, LPT1: correspond à /dev/lp0 (majeur 6, mineur 0), alors que sur un AT, LPT1: correspond à /dev/lp1 (majeur 6, mineur 1).

Nom     Majeur  Mineur  Port
lp0     6       0       0x3bc
lp1     6       1       0x378
lp2     6       2       0x278

Pour une imprimante série, utilisez /dev/ttyS? (ou /dev/ttys?), et non pas /dev/cua?. Le majeur de /dev/ttyS? est 4, celui de /dev/cua? est 5.

Chapitre Suivant , Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre