LPRPS(8)

NAME
lprps - lpr PostScript communication filter

SYNOPSIS
lprps [ -M ] [ -Uuser ] [ -c ] [ -wn ] [ -ln ] [ -xn ] [ -yn ] [ -in ] [ -n login_name ] [ -h host ] [ -j job ] [ -p printer ] [ -s status_file ] [ accounting_file ]

DESCRIPTION
lprps handles communication with a PostScript printer for lpr output filters. The PostScript printer must be connected using a bidirectional serial channel. Each output filter should be a pipeline with lprps "$@" as the last command. The other commands in the pipeline should handle conversion into PostScript and possibly page reversal. The command-line syntax of lprps is such that any argument vector which lpd might pass to an output file is a legal argument vector for lprps. The psof output filter can be used in conjunction with lprps.

Output generated by the PostScript document and errors caused by defects in the PostScript file are mailed back to the user (identified by the -n and -h options). If the -M option is given, this output will instead be written to the standard error file, which the spooling system will copy to the error logging file specified by the lf capability (some versions of lpr have a bug which prevents this happening.) Other errors (such as `out of paper' errors) are logged using syslog with the LOG_LPR facility. lprps attempts to update the status file (the contents of which are displayed by lpq) with the printer's status.

lprps supports printer accounting. If this facility is required, a file to contain the accounting information must be specified in af capability in the printcap file. This file should exist, have mode 644 and be owned by daemon. The name of this file will be passed to lprps in the accounting_file argument. For each job, lprps will append to this file an accounting record specifying the user's name and host together with the number of pages used. The pac(8) command can then be used to generate an accounting report. The accounting information should be reliable except when the printer has been turned off or disconnected in the middle of a job.

OPTIONS

The following options can be supplied by the output filter script that calls lprps:

-Uuser
    user is not a real user; errors from jobs for user will not be mailed back to user but will instead be written to stderr. This option is intended for sites that have software packages (eg Interleaf) that spool user's jobs using another userid (eg daemon).

-M  Don't mail errors back to the user; errors will be written to stderr.

The following options are automatically supplied by the spooling system:

-n name
    The user's login name is name.

-h host
    The user's host machine is host.

-c
-xn
-yn
-wn
-ln
-in
    These options are ignored.

The following options are not supplied by the standard version of the lpr spooling system and lprps does not require them. However, the lpr system can be modified to supply these options; lprps will work slightly better with such a system.

-j job
    The job name is job. lprps will include this in messages mailed to the user.

-p printer
    The printer name is printer. lprps will use this in some error messages, and in messages written to the status file. If this option is not specified, lprps will attempt to deduce the printer name from the contents of the status file. This option might also be specified in the output filter script.

-s status_file
    The name of the status file is status_file. The name used by the spooling system for the status file can be changed by the st capability in the printcap entry. If this option is not specified, lprps will assume that the name is the default status. This option might also be specified in the output filter script.

SEE ALSO
textps(1), psrev(1), syslog.conf(5), psif(8), psof(8), pac(8), lpd(8)