1## The Super Quick Guide to LPRng Printcaps 2## Patrick Powell <papowell@lprng.com> 3## Thu Nov 15 13:31:08 PST 2001 4# VERSION=3.8.22 5# 6# LPD print queue configuration - Default options 7# The printcap entry below sets defaults. Add default options 8# or other entries here 9# 10.common: 11 :sd=/var/spool/lpd/%P 12 :sh:mx=0:mc=0 13# 14# [Translation: 15# .common - the period (.) causes LPRng to treat this as a 'information 16# only entry. This idea was stolen^H^H^H^H^H^H borrowed from the Unix 17# 'hidden' file convention, i.e. file names starting with a period 18# are not displayed by 'ls' or matched by '*' 19# :sd=/var/spool/lpd/%P 20# Spool queue directory for temporary storage of print jobs. The 21# %P will be expanded with the print queue name. Each print queue 22# MUST have a different spool queue directory, and by using %P 23# this is guaranteed. 24# :sh - suppress banners or header pages 25# :mx=0 - maximum job size in K bytes (0 is unlimited) 26# :mc=0 - maximum number of copies (0 is unlimited) 27# ] 28# 29# LPD print queue definitions: Define print queues 30# 31# Printer on Parallel Port (i.e. - /dev/lpt0) 32#lp:lp=DEVICE:tc=.common 33# Example: 34# lp:tc=.common:lp=/dev/lpt0 35# [Translation: 36# lp - name of the print queue 37# :tc=.common - include the options in the .common printcap entry 38# the 'tc' options will be put at the START of the printcap entry 39# :lp=/dev/lpt0 - open and write the print job to /dev/lpt0 40# ] 41# 42# Printer on Serial Port (i.e. - /dev/tty00) 43# Use the :stty to set the speed, bits, and parity using 'stty(1)' 44# options. Note: almost all printers use 8 bits, no parity. 45#lp:tc=.common:lp=DEVICE:stty=STTY OPTIONS 46# Example: 47# lp:tc=.common:lp=/dev/tty0:stty=19200 raw crtscts 48# [Translation: lp, :tc, :lp as for A) above. 49# :stty= options used to configure serial port 50# ] 51# 52# Printer on Network Print Server (i.e. - HP JetDirect) 53# connecting via a TCP/IP socket. IPADDR is IP address or Fully Qualified 54# Domain Name of the print server, PORT is the TCP/IP port. 55# 56# HP JetDirect uses port 9100 by default. 57# 58# Warning: check the Network Print Server documentation for correct 59# port number. Most non-HP Network Print Servers and non-HP printers 60# do not use port 9100. 61# 62#lp:tc=.common:lp=IPADDR%PORT 63# Example: 64# lp:tc=.common:lp=10.0.0.2%9100 65# [Translation: lp, :tc, as for A) above. 66# lp=10.0.0.2%9100 - open a connection to 10.0.0.2, port 9100 67# and write the print job to this port. 68# ] 69# 70# D) printer on Network Print Server (i.e. - HP JetDirect or LPD server) 71# connecting via the LPD print protocol. QUEUE is the name of the 72# print queue and IPADDR is the IP address or Fully Qualified Domain 73# Name of the print server. 74# 75# Warning: check the Network Print Server documentation for correct 76# QUEUE name. The 'lp' queue is used on the HP JetDirect as the 77# default print queue. If there are multiple printer ports on the 78# device then the QUEUE name is used to select the port. 79# 80# Warning: Using this protocol with JetDirect units will almost always 81# cause a 'banner page' to be generated by the JetDirect unit. 82# Check the HP documentation on how to disable this most annoying feature. 83# Usually you simply telnet to the JetDirect and then use the 84# simple configuration menu presented when you first make connection. 85# 86#lp:tc=.common:lp=QUEUE@IPADDR 87# 88# Example: 89# lp:tc=.common:lp=lp@10.0.0.2 90# [Translation: lp, :tc, as for A) above. 91# lp=lp@10.0.0.2 - open a connection to 10.0.0.2, port 515, 92# and use the RFC1179 (LPD) protocol to transfer the job 93# to the QUEUE print queue. 94# ] 95# 96# Step 4: Format Conversion (Filter) Required? 97# 98# You may discover that your printer does not support PostScript or 99# requires a special initialization to be done. This is handled 100# by a filter program. The 'ifhp' filter program is supplied with 101# LPRng and supports a very wide number of printers. If you need 102# to have a filter, then add the following lines to the printcap 103# entry: 104# 105# :filter=PATH_TO_IFHP_FILTER 106# :ifhp=IFHP_OPTIONS 107# 108# Note: the LPRng :filter= option replaces the legacy BSD lpd options 109# :if, :vf, ... options that specify filters for 'f' format, 'v' format, 110# and so forth (yes, yes, :if is for 'f' format, don't ask). 111# The :filter option specifies a default filter for all job formats. 112# Most modern filters such as IFHP, Magikfilter, and RedHat print 113# filters are smart enough to determine the job format and perform 114# the appropriate conversions. 115# 116# Examples: 117# 118# lp:tc=.common:lp=/dev/lpt0 119# :filter=/usr/libexec/filters/ifhp 120# :ifhp=model=hp4simx 121# 122# lp:tc=.common:lp=10.0.0.2%9100 123# :filter=/usr/libexec/filters/ifhp 124# :ifhp=model=hp4simx 125# 126# lp:tc=.common:lp=lp@10.0.0.2 127# :filter=/usr/libexec/filters/ifhp 128# :ifhp=model=hp4simx 129# 130# IFHP Options: 131# For almost all simple configurations you will only need to 132# supply the model of printer that you have attached. See the 133# /etc/ifhp.conf file for a complete listing of supported models. 134# The default model is for an HP Laserjet 4 SiMx, which supports 135# PostScript, PCL, and PJL. 136# 137# Warning: 138# IF: 139# Your model of printer normally provides status and error 140# reporting over a TCP/IP link 141# AND: 142# You are using lp=IPADDR%PORT to connect to the printer 143# THEN: 144# The IFHP filter will normally expect to have status information 145# returned by the printer to tell it that the printer is in working 146# condition. This will have a small but significant overhead 147# on job throughput, but you will also get error information. 148# 149# HOWEVER: 150# If the printer SHOULD return status but CANNOT due to either 151# the printer hardware configuration or it is on a unidirectional 152# and not bidirectional parallel printer port, then you must use 153# :model=...,status@ 154# to tell the IFHP filter not to expect status information. 155# 156# Example: 157# lp:tc=.common:lp=10.0.0.2%9100 158# :filter=/usr/libexec/filters/ifhp 159# :ifhp=model=hp4simx,status@ 160# 161# Step 5: Queue creation and LPD restart 162# Run the following commands to create your spool queues and 163# then tell the LPD server that it should use them: 164# su 165# checkpc -f 166# lpc reread 167