lpf(1) general printer filter


lpf -Pprinter -wwidth -llength -xwidth -ylength [ -c ] -Kcontrolfilename -Lbnrname [ -iindent ] [ -Zoptions ] [ -Cclass ] [ -Jjob ] [ -Raccntname ] -nlogin -hHost -Fformat [ -T[crlf,debug] -Dlevel ] [ affile ]


Lpf is a general printer filter. Usually it is used as filter in the printcap file and is called by lpd. The -Tcrlf option will suppress translation of LF to CR/LF pairs. The -Tdebug option will increment the debug level.

The following options passes lpd by default:

The name of the printer.
The page width in chars, as given in the :pw field in the printcap file
The page length in lines, as given in the :pl field in the printcap file
The page width in pixels, as given in the :px field in the printcap file
The page length in pixels, as given in the :py field in the printcap file
The name of the control file.
The banner name. This is set by the lpr -T option.
The user login name.
The host where the job was submitted.
The job format from the lpr -F option or other option.

These options are optionally set by lpd:

Extra options. They are passed from the -Z parameter given on the lpr command command line and can be interpreted by the filter.

These remaining options can be added to the filter entry in the printcap file:

ignore control characters, set by lpr -b (binary) or -l (literal) options.
The indentation amount, set by lpr -i indent option.
The class name, set by lpr -C class option.
The job name, set by lpr -J job option.
The name of the accounting file, from printcap information.
Sets debug level. The level must be an integer, a nonzero value switches debugging on.
Turn LF to CR/LF translation off.
Increment the debug level.


The following exit values are returned:

zero (0)
Successful completion.
non-zero (!=0)
An error occurred.


The files used by LPRng are set by values in the printer configuration file. The following are a commonly used set of default values.

/etc/lprng/lpd.conf                          LPRng configuration file
${HOME}/.printcap                            user printer description file
/etc/printcap                                printer description file
/etc/lprng/lpd.perms                         permissions
/var/run/lprng/lpd                           lock file for queue control
/var/spool/lpd                               spool directories
/var/spool/lpd/QUEUE/control                 queue control
/var/spool/lpd/QUEUE/log                     trace or debug log file
/var/spool/lpd/QUEUE/acct                    accounting file
/var/spool/lpd/QUEUE/status                  status file


Patrick Powell <[email protected]>.


Most of the diagnostics are self explanatory. If you are puzzled over the exact cause of failure, set the debugging level on (-D5) and run again. The debugging information will help you to pinpoint the exact cause of failure.


LPRng is a enhanced printer spooler system with functionality similar to the Berkeley LPR software. The LPRng developer mailing list is [email protected]; subscribe by visiting https://lists.sourceforge.net/lists/listinfo/lprng-devel or sending mail to [email protected] with the word subscribe in the body.
The software is available via http://lprng.sourceforge.net