The psof entry is responsible for formatting a banner break page. It exec's the psbanner filter which leaves the banner page in a file named ``.banner'' for pscomm to print. The program pscomm is the lowest level filter. It manages communication with the printer, error handling, status reporting, etc.
All other ``formatting'' filters run pscomm at the far end of a pipeline, the nearer end doing translation to POSTSCRIPT only. psgf, psnf, and pstf, are the filters for plot(5), ditroff(1), and troff(1) respectively. The psif filter will also accept any POSTSCRIPT print file. Other filter entries, such as those for TeX DVI files, cifplot, and raw raster data are not available in the TRANSCRIPT package, although they may be available from other sources. The default action for these filter types is to execute psbad, a script which prints and logs an error message that the translation filter is not available. The translation filters are usually invoked by giving an option to lpr(1). It is not correct to invoke the interface filters directly. More flexibility in format conversion may be achieved by invoking the appropriate translator directly, rather than specifying an lpr option.
psint.sh environment variables.
There are a number of environment variables used by the spooler filters.
These are listed below.
The
psint.sh
script sets the initial value for each,
and the .options file can be used to change the value for a
particular printer.
Note that Bourne shell syntax must be used in both
psint.sh
and the .options file.
Many of the variables take a number value, and specify whether
an action should take place or not; 1 means do the action, and
0 means don't do it.
BANNERFIRST=number Print banner at start of job
BANNERLAST=number Print banner at end of job
(See note below) 0=No banner at end
1=Don't unlink .banner file
2=Unlink .banner after use
BANNERPRO=file name Banner prolog file
VERBOSELOG=number Print verbose log messages
Note:
Due to some problems with the design of lpd(8), there is no
implementation of BANNERLAST that will work in all cases.
Two options are provided:
1) BANNERLAST=1.
This prints out a banner between each copy in a multiple-copy job.
It also may print out the previous user's banner on a job that has
specified no banner
(lpr -h).
2) BANNERLAST=2.
This never prints a banner on a job that has specified no banner
(lpr -h).
However, it prints a banner after the first copy only in a
multiple-copy job.
It should be after all copies or after the final copy.
One chould change the banner page for a particular printer by redefining the BANNERPRO value.