Newbie lpd printing
Malcolm Kay
Malcolm.Kay at internode.on.net
Fri Apr 11 22:44:04 PDT 2003
On Fri, 11 Apr 2003 14:15, Gary Schenk wrote:
> This FreeBSD newbie has even learned how to print! I'm using lpd to print
> and it works fine from the console. I'm using an old Epson with the hpif
> filter from the FreeBSD handbook, using uniprint as the device.
>
> However, it does not work in KDE. I've read the KDE printing handbook, but
> have not found much there.
>
> It seems to be an input filter problem. My /etc/printcap file calls on
> hpif, which does print text files to the Epson just fine, yet the results
> I get in KDE seem to indicate that the input filter is not working. Does
> KDE use /etc/printcap? Have I missed something in setting up printing for
> KDE? Basically all I've done is click "print" in the application, choose
> lpd, and ok.
>
> I'm not good at scripts yet, so maybe that is the problem? Here is my input
> filter file:
>
> #!/bin/sh
>
> # Treat LF as CR+LF
>
> printf "\033&k2g" || exit 2
>
> # Now read first two characters of the file to determine if PostScript or
> not # and apply the appropiate massaging
>
> IFS="" read -r first_line
> first_two_chars=`expr "$first_line" : '\(..\)'`
>
> if [ "$first_two_chars" = "%!" ]; then
>
> exec 3>&1 1>&2
> /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=uniprint \
> -sOutputFile=/dev/fd/3 - && exit 0
>
> #
> /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=uniprint \
> -sOutputFile=- - && exit 0
>
> else
> echo "$first_line" && cat && printf "\033&10H" &&
> exit 0
> fi
>
> exit 2
>
The parameters given to gs here are quite insufficient; ghostscript needs a
number of parameters specific to the particular printer model to be processed
through the uniprint device.
The norm is to supply these in a file (*.upp) selected from the ghostscript
library (/usr/local/share/ghostscript/x.xx/lib) to match your particular
printer model. This is referenced as say:
/usr/local/bin/gs @stc.upp -q -sOutputFile=- - && exit 0
where stc.upp is the lbrary file matching your printer. -dSAFER; -dNOPAUSE
and -sDEVICE=uniprint are normally setup in the *.upp file.
An alternative, which I use for an Epson C80 with gnu ghostscript, is the stp
device. Have a look at /usr/local/share/ghostscript/x.xx/gimp-print/README.
(I don't think stp is directly available in the Aladdin ghostscript
distribution)
Malcolm Kay
More information about the freebsd-questions
mailing list