Content-type: text/html Man page of printcap


Section: Devices and Network Interfaces (4)
Index Return to Main Contents


printcap - Printer capability data base  




The printcap file is used to describe printer characteristics. The format of the printcap file is a simplified version of the /etc/termcap database format.

The lpd line printer daemon accesses the /etc/printcap file every time a file is passed to the spooler for printing. The print spooling system uses the printcap file to obtain information about each printer attached to the system and about remote printers. Each entry in the printcap file describes a single printer.

When the local line printer driver supports indentation, the lpd line printer daemon must understand how to invoke this capability.

The default printer for your system usually has the device reference lp, although environment variable PRINTER can be used to override the default printer reference. The print commands (for example, lpr, lpq, and lprm) support the -Pprinter option, which enables you to specify a specific printer.  

Printer Characteristic Symbols

Each printer has various characteristics that tell the lpd line printer daemon how to communicate with the printing device defined in the /dev directory. A table in this section lists the printer characteristic symbols and provides the following information for each: The symbol, which is a 2-character mnemonic. The symbol must be specified exactly as it appears in this column. Type of data expressed by the entry as str, num, or bool. When the characteristic defined by the symbol is referenced as a string variable (str) in the Type column, it must be followed by an = (equal sign) together with a string value; when you do not define the string value, it either remains a NULL string and contains no data or takes the value specified in the Default column. When the Type column defines a symbol type as bool, it may only be logically true (yes) or logically false (no).
When the parameter you define is a numerical variable, it must be followed with a # (pound sign) together with the numerical value you assign; when you do not define the numerical parameter it takes the value specified in the Default column of the table. A summary of the printer characteristic that the symbol specifies.
Symbols whose descriptions are followed by "(I18N)" are provided to meet country-specific printing requirements. Refer to i18n_printing(5) for information about when these symbols are valid in a printer entry.
The following is an example of a printcap entry:
Entries can continue onto multiple lines by specifying the backslash (\) as the last character of a line. Empty fields can be included for readability (here between the last field on a line and the first field on the next line).
Comments can be included on lines beginning with the pound sign (#). If Compaq Advanced Printing Software is installed you must specify the string @dpa for the rm characteristic and specify a queue name for the rp characteristic.
Refer to the Compaq Advanced Printing Software documentation for more information on setting up the printing environment.


af str NULLName of accounting file
br num none If lp is a tty, set the baud rate (ioctl call).
cf str NULLThe cifplot data filter.
ct str dev The connection type. The choices are: dev, LAT, and tcp.
df str NULLThe tex data filter (DVI format).
fc num 0 If lp is a tty, clear flag bits (sgtty.h).
ff str \fString to send for a form feed.
fo bool falsePrint a form feed when the device is opened.
fs num 0Like fc, but set bits.
gf str NULLThe graph data filter (plot format).
hl bool falsePrint the burst header page last.
ic bool false Driver supports (non standard) ioctl to indent printout.
if str NULLName of text filter that does accounting.
lf str /dev/consoleError logging filename.
lo str lockName of lock file.
lp str /dev/lp Device name to open for output. The syntax for networked printers (tcp) specifies the service name from the /etc/services file and the remote hostname in the format @hostname/servicename.
mx num 1000 Maximum file size (in BUFSIZ blocks). Zero = unlimited.
nf str NULL The ditroff data filter (for device independent troff).
of str NULLName of output filtering program.
pl num 66Page length (in lines).
pw num 132Page width (in columns).
px num 0Page width in pixels (horizontal).
py num 0Page length in pixels (vertical).
rf str NULL Filter for printing FORTRAN style text files.
rm str NULL Machine name for remote printer. (Required for remote printers.) Use the string @dpa to define a gateway for the Advanced Printing Software.
rp str lp Remote printer name argument. (Required for remote printers.) Specify a queue name, such as lpr1, for the Advanced Printing Software.
rs bool falseRestrict remote users to those with local accounts.
rw bool false Open the printer device for reading and writing.
sb bool falseShort banner (one line only).
sc bool falseSuppress multiple copies.
sd str /usr/spool/lpd Spool directory. (Required for LAT and remote printers.)
sf bool falseSuppress form feeds.
sh bool falseSuppress printing of burst page header.
st str statusStatus filename.
tf str NULL The troff data filter (for the cat phototypesetter).
tr str NULL Trailer string to print when queue empties.
vf str NULLThe raster image filter.
xc num 0 If lp is a tty, clear local mode bits (tty).
xf str NULLPass-through filter.
xs num 0Like xc, but set bits.
ya str NULLAdditional parameters for print filter (I18N).
yd str NULLSecondary device name for font faulting (I18N).
yj str NULLRestart of for every job (I18N).
yp str NULLPrinter ID conforming to Wototo standard (I18N).
ys num 0Size of SoftODL character cache (I18N).
yt str "fifo"SoftODL character replacement strategy (I18N).

When the local line printer driver supports indentation, the lpd line printer daemon must understand how to invoke this capability.  

LAT Printing Characteristics

The following table lists the LAT printing characteristics:


ctstrLATRemote printing using LAT as the
lpstr/dev/ttyWX Device name to open for output where WX is a LAT device.


Network (TCP/IP) Printing Characteristics

The following table lists typical TCP/IP printing characteristics for a DEClaser3500 printer. The entry in the /etc/services file reads: dlaser35 10001/tcp Examples of print symbol settings are set as follows: Has a value of tcp to specify network printing using TCP/IP Has a value of @prthub/dlaser35 which specifies service name dlaser35 on node prthub  

Filter and Flags

The lpd line printer daemon creates a pipeline of filters to process files for various different printer device. The filters you select depend on the flags that are passed to the lpr command. The pipeline setup is:


noneifregular text
-ppr | ifregular text + pr
-ddfDVI (tex)
-vvfraster image

The if filter is invoked with arguments according to the following format:

if [-c] -wwidth -llength -iindent -nlogin -hhost acct-file

The xf pass-through filter is specified when output is preformatted and does not require special filtering.

The -c flag is passed only when the -l flag (pass control-characters literally) is specified to the lpr command. The -wwidth and -llength parameters specify the page width and length (from the assigned or default values of pw and pl respectively in the printcap file) in characters. The -n and -h flags specify the login name and hostname of the owner of the job, respectively. The acct-file is passed from the af entry in the printcap file.

The if filter is opened for all individual jobs, which makes it suitable for accounting. When the if filter is not specified, the system uses the of filter as the default value. The of filter however, is opened only once and is only given the -wwidth and -llength flags.

All other filters are called according to the following format:

filter -xwidth -ylength -nlogin -h host acct-file

In this format, -xwidth and -ylength are represented in pixels as specified by the px and py entries, respectively, in the printcap file.

All filters take standard input (stdin) as the source file and standard output (stdout) as the destination. The printer may log either to standard error (stderr) or use syslogd, and must not ignore the SIGINT signal.  


Error messages generated by the line printer programs (that is, the lp* programs) are logged by syslogd using the lpr facility. Messages printed on the stderr of one of the filters are sent to the corresponding lf file specified in the printcap file. The filters may, of course, also use syslogd.

Error messages sent to the console have a carriage return and a line feed appended to them, rather than just a line feed.  


Commands: lpq(1), lpr(1), lprm(1), lpc(8), lpd(8), lprsetup(8), pac(8)

Files: termcap(4)

Others: i18n_printing(5)

System Administration

Network Administration delim off



Printer Characteristic Symbols
LAT Printing Characteristics
Network (TCP/IP) Printing Characteristics
Filter and Flags

This document was created by man2html, using the manual pages.
Time: 02:40:08 GMT, October 02, 2010