分页: 1 / 1

《NetBSD指南-12.1.启用打印进程》

发表于 : 2010-03-02 15:46
leo
安装完成后还不能打印, 因为 lpd 打印机处理进程还未启用。 要启用 lpd, /etc/rc.conf 文件中的一行必须由:

lpd=NO
修改为

lpd=YES
这项修改将在下次启动时生效, 但是进程也可以手动启动:

# sh /etc/rc.d/lpd start
要检查 lpd 是否已被激活, 输入如下命令:

# ps ax | grep lpd
179 ?? Is 0:00.01 lpd
如果你输入上述命令后在输出信息中没有看见一个lpd项, 则这个进程未激活。

lpd系统通过/etc/printcap进行配置。 在配置 /etc/printcap 前先进行打印测试是明智的, 检查一下是否计算机和打印机之间的物理连接正常。 测试直接向打印机设备发送一些数据。假设你的打印机连接在并口上,那是/dev/lpt0; 如果你使用的是 USB 打印机尝试一下 /dev/ulpt0. 请检查用户手册上有关这些设备 (lpt(4), ulpt(4)) 的说明以获取更详尽的信息!

本例中打印机连接在并口上, 所以我们运行:

# lptest 70 5 > /dev/lpt0
要看输出是什么样的,同样用这个命令但不重新定向输出到打印机:

# lptest 70 5
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef
"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg
#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh
$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi
%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij
一个常见的问题是打印机的输出没有在列向对齐,存在一个“楼梯” 状的外形。这通常意味着打印机配置为在接收了一个<CR> (carriage return, ASCII 13) 字符 和 一个 <LF> (line feed, ASCII 10) 字符两者后才在左边开始一个新行。NetBSD只发送一个 <LF> 字符。你可以用两种方式修正这个问题:

通过修改打印机的配置文件

通过使用一个简单的打印机过滤器(后面解释)

说明
上例中 lpd 假脱机处理程序没有被调用,因为程序输出被直接发送到打印机设备 (/dev/lpt0) 而不是假脱机程序.