1 FreeBSD handbook中文版 11 打印 基本设置( 七 )


#
# /etc/printcap for host rose - added spooling DirectorIEs
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
:sh:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
:sh:sd=/var/spool/lpd/bamboo:
注意:打印机的名字一定是在定义第一行的第一个字,而其它行都要以TAB 缩进 。如果
需要换行则需要在行末加上反斜线字符 。
如果你没有用sd 指定spooling 目录,那么系统默认的spooling 目录将会是
/var/spool/lpd。
11.3.1.4.4 识别打印机设备
在为通讯端口新增/dev 目录下的设备文件这一节里,我们在/dev 目录下选定了要给
FreeBSD 使用与打印机通讯的连接端口 。现在我们要告诉LPD 这个信息 。当spooling 系统
有工作要打印时,它将会告诉过滤程序(负责送资料给打印机)使用指定的设备 。
在/etc/printcap 用lp 关键词指定使用/dev 下的设备名称 。
在我们的例子中,我们设置rattan 使用第一个并口,而bamboo 使用第六个串口 。因此
在/etc/printcap 中我们设置:
#
# /etc/printcap for host rose - identified what devices to use
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
:sh:sd=/var/spool/lpd/rattan:
:lp=/dev/lpt0:
第14 页FreeBSD 使用手册
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
:sh:sd=/var/spool/lpd/bamboo:
:lp=/dev/ttyd5:
如果你在/etc/printcap 里没有用lp 关键词指定要使用哪个通讯端口,LPD 将会使用
/dev/lp 为默认的通讯端口 。/dev/lp 目前在FreeBSD 中并不存在 。
如果你现在安装的打印机是连接在并口上,那么请跳至安装文字过滤程序这一节,否
则,请按照下面这一节继续设置 。
11.3.1.4.5 配置spooler 通讯参数
对于连接在串口上的打印机,LPD 设置的传输速率、同位检查、以及其它的通讯参数,
使得过滤程序能送资料到打印机上 。这是较有利的 。因为:
1. 你只要编辑/etc/printcap 就可以使用不同的通讯参数 。不需要去重新编译你的过
滤程序 。
2. 允许spooling 系统在多台打印机、多种不同通讯参数设置的情况下用同一个过滤
程序 。
在/etc/printcap 设置文件里,下列关键词控制lp 所指定的通讯端口:
br#bps-rate
设置通讯端口传输速度为bps-rate 其中bps-rate 可以是50、75、110 、134、150、
200、300、600、1200、1800、2400、4800、9600、19200 或是38400 bit-per-second 。
fc#clear-bits
打开通讯端口后,清除sgttyb 结构里的标记位clear-bits 。
fs#set-bits
设置sgttyb 结构里的标记位set-bits 。
xc#clear-bits
打开通讯端口后,清除local 模式位clear-bits 。
xs#set-bits
设置local 模式位set-bits 。
第15 页FreeBSD 使用手册
关于fc、fs、xc 以及xs 关键词各个bit 的说明,请参考
/usr/include/sys/ioctl_compat.h 。当LPD 打开由lp 所指定的通讯端口时,会先读取
sgttyb 这个结构,然后清掉fc 关键词所指定的位再设置由fs 关键词所指定的位 。设置完
成后,才开始使用这个结构 。同样的,对local 模式位设置也是以一样方式的处理 。
让我们在我们的例子里为第六个串行端口设置这些位 。我们会将传输速率设置成38400 bps 。
而在标记位方面,我们会设置TANDEM、ANYP、LITOUT、FLUSHO 以及PASS8 这些位 。而local
模式位,我们将设置LITOUT 以及PASS8 位:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
:sh:sd=/var/spool/lpd/bamboo:
:lp=/dev/ttyd5:fs#0x82000c1:xs#0x820:
11.3.1.4.6 安装文本过滤器
现在可以开始设置LPD 用什么文字过滤程序送工作给打印机 。一个文字过滤程序也叫做
输入用过滤程序,当LPD 有东西要打印时,它就会执行这个程序 。当LPD 运行这个程序时,
它会将过滤程序的标准输入设为要打印工作的标准输入,而过滤程序的标准输出则送给以

推荐阅读