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


1. 中断驱动是GENERIC kernel 里默认的方式 。如果选择这个方式,操作系统将利用
IRQ 来判断打印机是否已经准备好接收资料 。
2. 而轮询的方式则是由操作系统一直重复地去询问打印机是否已经准备好可以接收
资料 。如果打印机已经准备好了,那么kernel 再将要打印的资料送过去 。
中断驱动的方式较快但是要占用一个IRQ 。你可以从上述两者任选一个可以正常工作的
来使用 。设置通讯模式有两种方式:设置kernel 或是使用lptcontrol 这个程序 。
如果要从kernel 里设置:
第7 页FreeBSD 使用手册
1. 编辑你的kernel 设置文件 。找出或是自行加入lpt0 这一项 。如果你要设置使用第
二个并口,那就加入lpt1 这项 。如果是第三个并口就用lpt2,依此类推 。
如果你要设置使用中断驱动模式,那么要指定irq:
device lpt0 at isa? port? tty irq N vector lptintr
其中N 是你并口所使用的IRQ 编号 。
如果你要用轮询模式,那么就不要指定irq:
device lpt0 at isa? port? tty vector lptintr
2. 将设置文件存储好后,重新编译、安装kernel 并重新启动 。你可以参考内核配置那
一节里更详细的说明 。
如果你想用lptcontrol 来设置通讯模式:
1. 输入:
# lptcontrol -i -u N
将lptN 设置为中断驱动模式 。
2. 输入:
# lptcontrol -p -u N
将lptN 设置为轮询模式 。
你可以把上述的命令加到你的/etc/rc.local 文件里使得每次启动时都可以自动设置 。
你可以查看lptcontrol 以得到更多有关的信息 。
11.3.1.3.2 检查打印机的通讯状况
在设置spooling 系统前,你应该先确定你的操作系统可以成功地将资料送到你的打印
机 。将打印机的连接和spooling 系统分开来测试会较容易 。
你可以送一些文字来测试你的打印机 。打印机应该会马上将它们收到的资料打出来 。
lptest 这个程序会送96 行每行96 个ASCII 文字的资料给你的打印机以协助测试 。
第8 页FreeBSD 使用手册
使用PostScript(或是其它语言)的打印机测试起来较复杂 。我们得先写一个较小的测
试程序,像下面这样:
%!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto /Helvetica findfont 12 scalefont setfont
(Is this thing working?) show
showpage
注意:上面这个小程序是给使用PostScript 的打印机用的,不能给比如说Hewlett
Packard 公司的PCL 语言使用 。PCL 语言可以让你打印纯文本,同时里面夹杂PCL 特别的命
令 。PostScript 不能直接打印纯文本,因此对于这样的打印机,我们必需做一些特别的设
置 。
11.3.1.3.2.1 检查一下并口打印机
这节将告诉你如何检查FreeBSD 是否可以使用接在并口的打印机 。
测试并口上的打印机:
1. 用su 命令切换成root 。
2. 将资料传送给打印机 。
如果这个打印机可以直接打印纯文本,请使用lptest 。输入:
# lptest > /dev/lptN
其中N 是你打印机所连接的并列端口 。从0 开始计算 。
如果这个打印机使用PostScript 或其它的打印机语言,那么送一个小小的测试程序给
打印机 。输入:
# cat > /dev/lptN
然后,一行接着一行,小心的把你的命令打进去,因为你按下ENTER 后,就无法再修改
了 。当你输入完毕后,按CONTROL D 或是其它产生文件结尾字符的按键 。或者是你可以将你
的测试程序放在一个文件里并输入:
# cat file > /dev/lptN
第9 页FreeBSD 使用手册
其中file 就是存储你测试程序的文件名 。
你应该可以看到有一些东西打出来了 。如果打出来的资料看起来不大正确,别担心,我
们等一会就修正它们 。
11.3.1.3.2.2 检查一下串口打印机
这节将告诉你如何检查FreeBSD 是否可以使用接在串口的打印机 。

推荐阅读