PPD files vs printer drivers also LPD vs LPRng vs CUPS

Roland Smith rsmith at xs4all.nl
Sat Nov 10 16:15:23 PST 2007

On Sat, Nov 10, 2007 at 04:39:29PM -0700, Predrag Punosevac wrote:
> I am trying to understand little bit better Unix printing. I am terribly 
> confused about
> the real meaning of PPD files and printer drivers.
> According to this 
> http://en.wikipedia.org/wiki/PostScript_Printer_Description
> PPD files are post script description files that act as a drivers for post 
> script printers. This seems clear to me but I have never had a post
> script printer in my life.

They are not really drivers but more files that describe the
capabilities of the printer.
> According to same page CUPS-PPD are used by CUPS to do post-script printing 
> on non-postscript printers by directing files through
> CUPS-filter. Could somebody explain this things better to me. Every time I 
> used CUPS the PPD files where enough to enable me printing.
> Did I really use some other drivers beside these PPD files or did CUPS 
> communicate with my printers with some generic driver and just
> uses PPD files to do filtering.

The latter. Cups uses the ghostscript program to translate postscript
into something that the non-postscript printer can understand.
> What is the simplest way to send ps file to the printer that doesn't speak 
> ps? If I could do that everything else is peace of cake. I read very 
> carefully printing form the handbook but I want to learn more.

Use ghostscript. This is what both apsfilter and cups do. They've just
made it a lot easier than doing it yourself. And as you can see from the
size of both cups and apsfilter 'everything else' is a substantial piece
of cake.

> Could anybody explain me if there are some strong reasons for choosing LPD 
> over CUPS or LPRng system (seems just GUI added on the top of LPD)
> It would logical to me that LPD is safer (CUPS port has some security 
> warnings) and maybe more reliable. In any case it is included in the base 
> system and I prefer to use something included in the base system

In the past, lpd had a lot of security issues as well. I'm not sure if
they're all solved.

Both apsfilter and cups do more than standard lpd, which is only a
printer spooler. Both cups and apsfilter look at what you're trying to
print and try to convert it to a form suitable for printing. Standard
lpr only understands a couple of ancient formats (ditroff, dvi, cif,
plot) next to plain text.

R.F.Smith                                   http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20071111/a5064139/attachment.pgp

More information about the freebsd-questions mailing list