# # Simply copies stdin to stdout. Ignores all filter arguments. 第16 页FreeBSD 使用手册 /bin/cat && exit 0 exit 2 然后要让这个文件可执行: # chmod 555 /usr/local/libexec/if-simple 同时,在/etc/printcap 设置文件里用if 关键词告诉LPD 来使用这个过滤程序。在下面的例子里,我们在/etc/printcap 中为两台打印机都指定了过滤程序: # # /etc/printcap for host rose - added text filter # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:\ :if=/usr/local/libexec/if-simple: 11.3.1.4.7 打开LPD lpd 从/etc/rc 运行,通过使用lpd_enable 来控制。默认是NO。如果你还没有启用它,可以加入下面这行到/etc/rc.conf,然后重新启动电脑或只运行lpd: lpd_enable="YES" # lpd 11.3.1.4.8 测试 你已经把LDP 需要的设置都完成了。不过,我们需要测试看看这些设置是否可以正确地工作。测试的方法就是打出一些东西。如果要用LPD 系统来打印,我们可以使用lpr 这个命 令来送出一些打印工作。你可以使用检查打印机连接状况这一节里介绍的lpr 及lptest 来产生一些测试文字。 测试LPD 设置: 第17 页FreeBSD 使用手册 输入: # lptest 20 5 | lpr -Pprinter-name 其中printer-name 是/etc/printcap 里的某一台打印机名称或别名。如果要测试默认的打印机,那么在执行lpr 命令时不要指定-P 这个参数。再一次的提醒,如果你要测试的 是PostScript 打印机,那么请传送PostScript 程序给打印机,而不要用lptest。你可以将程序放在一个文件里然后输入lpr file。如果是PostScript 打印机,你应该会得到程序
输出的结果。如果你是用lptest 的话那么你的结果看起来应该是下面这个样子: !”#$%&’()*+,-./01234 “#$%&’()*+,-./012345 #$%&’()*+,-./0123456 $%&’()*+,-./01234567 %&’()*+,-./012345678 如果要做更进一步的测试,你可以下载更大的程序(给某个特定打印机语言的打印机使用)或是在执行lptest 时加一些额外的参数。例如lptest 80 60 将会产生60 行每行80 个 字符的测试数据。如果打印机并没有反应,请参考疑难解答这一节。 11.3.1.4.9 疑难解答 用lptest 做过简单的测试后,你可能会遇到下列的问题。打印机打了一阵子,但是并没有输出任何结果。打印机打出上面所列的东西,但是没多久就停了。这时,你可能需要按打
印机上的PRINTREMAINING 或FORM FEED 钮才看得到输出的结果。 如果是这种情况的话,打印机在打印前可能在等待是否还有更多的资料要打印。要解决这个问题,你可以让你的文字过滤程序送出FORM FEED 字符(或是其它需要的字符)给打印机
。 这个动作让打印机打出目前打印机缓存区里的资料。同时也确定每个工作的最后一页可以完整的输出,使得下个工作不会从前一个工作的最后一页中间输出。 下面这个shell script 取代/usr/local/libexec/if-simple。将工作送给打印机后,会再送出一个form feed 字符: #!/bin/sh 第18 页FreeBSD 使用手册 # # if-simple - Simple text input filter for lpd # Installed in /usr/local/libexec/if-simple # # Simply copies stdin to stdout. Ignores all filter arguments. # Writes a form feed character (\f) after printing job. 上一篇:FreeBSD handbook中文版 10 安全 下一篇:FreeBSD handbook中文版11 打印(2)高级打印机设置 A.过滤器 |