Hack d'Epson et lpd.

Jean-Pierre CORNAGLIAa trouvé un moyen pour utiliser lpd (le démon d'imprimante) avec ma rustine. Cela vous permet d'utiliser les mécanismes de spooling d'Unix et la conversion automagique de différents types de documents.

Vous avez besoin des fichiers hstty et epsp et du paquetage rhs-printfilter ainsi que ghostscript 5.10 avec le périphérique uniprint.

Ajoutez une entrée pour votre imprimante dans /usr/lib/rhs/rhs-printfilters/printerdb
(si vous avez une Epson Stylus Color 600, remplacez tous les '800' en '600'):

(Ceci est extrait de http://www.cjnetworks.com/~jeffzahourek/text_html/esc800.html (NDT : URL disparue, hélas))

#
# Epson Stylus Color 800(N)
#
# gdevupd.c
#
# This is a cheesy hack of the printerdb to allow choosing
# the uniprint driver and a proper stc800*.upp for ghostscript
# via the red hat printtool control panel.
# Selecting a resolution in the printtool control panel
# will select the proper stc800*.upp file.
# ps-to-printer.fpi must be hacked also. An
# if-then clause must be added to ps-to-printer.fpi which senses 
# the uniprint driver assigned to $GSDEVICE and selects the proper 
# stc800*.upp based on the value assigned to $RESOLUTION
# in /var/spool/lpd/[name of your printer]/postscript.cfg.
# Like I said, cheesy. But it works, and works well.
#
StartEntry: EpsonStylusColor800
  GSDriver: uniprint
  Description: {Epson Stylus Color 800}
  About: { \
             Uniprint driver used with \
             Epson Stylus Color 800. \
             Uses stc800*.upp for configurating ghostscript. \
             Must be used with a hacked ps-to-printer.fpi file.\
           \
         }
  Resolution: {360} {360} {Plain Paper Standard-res}
  Resolution: {720} {720} {Plain Paper High-res}
  Resolution: {1440} {720} {Special Paper SuperHigh-res}
# if BitsPerPixel worked it could be used to select the model, eh?
EndEntry
Ensuite, effectuez quelques modifications dans ps-to-printer.fpi:
#  we're using ghostscript
    if [ "$GSDEVICE" = "uniprint" ]; then
        if [ "$RESOLUTION" = "720x720" ]; then
                configfile="stc800p.upp"
        elif [ "$RESOLUTION" = "1440x720" ]; then
                configfile="stc800ih.upp"
        else
                configfile="stc800pl.upp"
        fi
        eval "$mpage_cmd | gs -q @$configfile \
        -sPAPERSIZE=$PAPERSIZE \
        -sOutputFile=- \
        $EXTRA_GS_OPTIONS \
        -"
    else
        eval "$mpage_cmd | gs -q -sDEVICE=$GSDEVICE \
        -r$RESOLUTION \
        -sPAPERSIZE=$PAPERSIZE \
        -dNOPAUSE \
        -dSAFER \
        -sOutputFile=- \
        $COLOR \
        $EXTRA_GS_OPTIONS \
        -"
    fi
fi
#
Maintenant, créez une nouvelle imprimante (appelée lp) en utilisant printtool et choisissez "stylus color" dans la liste ( voyez le bouton select)
NOTE: pour le périphérique, choisissez /dev/null.

Enfin, modifiez le fichier /var/spool/lpd/lp/filter et changez :

#
# run the command!
#
    eval $bestpath
en :
#
# run the command!
#
    eval $bestpath 2>/dev/null  | /usr/bin/epsp
Vous devriez être maintenant capable d'imprimer n'importe quel fichier (texte ou postscript ou ....?) avec la commande : 
lpr filename

Assurez vous d'avoir passé la commande chown daemon /dev/cua1, pour que lpd puisse accéder au périphérique! (Tous les utilisateurs sont autorisés à imprimer via lpr, ainsi, il n'est pas nécessaire de donner à l'utilisateur l'accès au périphérique).

Bien sûr, ce procédé est toujours très lent et consomme beaucoup de ressources-système, mais pour le moment, c'est la seule façon d'utiliser ces imprimantes sur LinuxPPC (Pour Autant Que J'En Sache...)


retour à Epson sur LinuxPPC

 

les fichiers en tÚlÚchargement sont Ó ftp://ftp.linux-france.org/pub/macintosh/

 

Retour à GNU Linux sur Macintosh