您好,欢迎来到悍铭数据中心!

新闻中心

FreeBSD handbook中文版 11 打印 (3)使用打印机

 
11.5 使用打印机 
这一节将告诉你如何在FreeBSD 下使用打印机。这里有份使用者等级命令的概述。 
lpr 
打印工作 
lpq 
检查打印机队列 
将工作从打印机队列中删除 
lprm 
也有系统维护使用的命令,lpc,用来控制打印机及其队列。在管理打印机这一节里有 
更详细的说明。 
lpr,lprm 和lpq 这三个命令都接收-P printer-name 这个指定在/etc/printcap 文件里设定 
的打印机/队列的参数。允许你对不同的打印机做要求、删除,以及检查工作。如果你没有 
使用-P 参数,那么这些命令将使用PRINTER 环境变量所指定的打印机。若你也没有 
PRINTER 环境变量,那么这些命令则会对别名为lp 的打印机指定动作。 
此后,默认打印机指的就是以PRINTER 环境变量设定的打印机或是当lp 环境变量不存 
在时,别名为lp 的打印机。 
11.5.1 打印工作 
要打印文件,输入: 
% lpr filename ... 
这将把所有列出的文件以默认打印机打印。如果你没有指定任何文件,那么lpr 将会从 
标准输入读入资料。下面这个例子将会打出一些重要的系统文件: 
% lpr /etc/host.conf /etc/hosts.equiv 
若要指定以特定的打印机输出,输入: 
% lpr -P printer-name filename ... 
下面这个例子会将当前目录下的文件列表从名为rattan 打印机输出: 
% ls -l | lpr -P rattan 
因为lpr 命令之后没有指定任何一个文件,lpr 将会从标准输入读入资料以打印出来,即 
由ls -l 命令所产生的输出。 
第61 页FreeBSD 使用手册 
lpr 命令有许多参数如控制输出格式、套用文件转换、一次打印出多份,等等。请参看 
打印参数这一节里有更详细的说明。 
11.5.2 检查打印工作 
当你使用lpr 打印时,一起送到LPD spooling 系统的资料称为一个“打印工作”。每一 
台打印机都有一个打印工作队列,而你的打印工作和其它的打印工作一样在队列里等待打 
印。打印机会将先打印先送达的工作。 
要显示默认打印机的队列,输入lpq 即可。若要指定打印机,请指定-P 参数。例如 
% lpq -P bamboo 
这个命令会显示叫做bamboo 的打印机队列。这里有一份lpq 命令的输出例子: 
bamboo is ready and printing 
Rank Owner Job Files Total Size 
active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes 
2nd kelly 10 (standard input) 1635 bytes 
3rd mary 11 ... 78519 bytes 
上面显示一共有三个工作在bamboo 的队列里。第一个工作由使用者kelly 送出,“工作 
代码”为9。每一个工作都会有个唯一的工作代码。通常你可以忽略工作代码,但是如果你 
要取消某个工作时,你就会需用知道工作号码。详情请参看删除队列这一节。 
工作号码9 里包含了两个文件。用lpr 送多个文件将会被视为同一个工作。这是目前正 
在处理的工作(注意“Rank”栏标示的active),即打印机现在应该就在打印这个工作。第二 
个工作的资料是用lpr 从标准输入接收资料的。而第三个工作是由使用者mary 送出的。这 
是一个较大的工作。而她要打印的文件因为太长而放不下,所以lpq 命令只显示三个点。 
lpq 最前面的输出通常可以看出打印机现在在做什么(至少是LPD 觉得打印机现在应该是在 
做什么)。 
lpq 命令可以使用-l 参数以得到更详细的列表。这里有一个lpq -l 的输出范例: 
waiting for bamboo to become ready (offline ?) 
kelly: 1st [job 009rose] 
/etc/host.conf 73 bytes 
/etc/hosts.equiv 15 bytes 
第62 页FreeBSD 使用手册 
kelly: 2nd [job 010rose] 
(standard input) 1635 bytes 
mary: 3rd [job 011rose] 
/home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes 
11.5.3 删除打印工作 
如果你改变主意不想打印你的工作了,你可以用lprm 命令把他们从打印队列中删除。 
通常你也可以用lprm 把一个正在处理的工作删除,不过可能还是会打印出部分或是全部的 
文件。 
要从默认打印机里删除工作,首先,用lpq 找出工作代码,然后输入: 
% lprm job-number 
如果要从指定的打印机删除工作,那么用-P 参数。下列的命令从打印机bamboo 的队 
列中删除工作号码为10 的工作: 
% lprm -P bamboo 10 
lprm 命令有一些常用的用法: 
lprm - 
将(默认打印机)里所有属于你的工作都删除。 
% lprm -P rattan - 
lprm user 
将(默认打印机)里所有属于使用者user 的工作皆删除。只有超级使用者可以删除其 
它人的工作,你只能删除你自己的工作。 
lprm 
若不指定工作号码、使用者名称或是- ,lprm 将删除目前默认打印机正在处理的工 
作,但前提是这个工作必需是属于你的。超级使用者可以删除任何目前正在处理的 
工作。 
若使用-P 参数配合上述的常用用法,则上述的动作将对指定的打印机动作而不是对默 
认打印机。下列的命令将会删除目前使用者在打印机rattan 队列中的所有工作: 
注意: 如果你使用的是网络打印机,lprm 将只允许你从输出工作的机器删除该工作。 
第63 页FreeBSD 使用手册 
下面这些命令可以说明这个概念: 
% lpr -P rattan myfile 
% rlogin orchid 
% lpq -P rattan 
Rank Owner Job Files Total Size 
active seeyan 12 ... 49123 bytes 
2nd kelly 13 myfile 12 bytes 
% lprm -P rattan 13 
rose: Permission denied 
% logout 
% lprm -P rattan 13 
dfA013rose dequeued 
cfA013rose dequeued 
11.5.4 在纯文字之外:打印参数 
lpr 命令提供控制格式输出、转换图形及其它文件格式、一次打出多份、工作处理方式 
等参数。这一节将一一介绍。 
11.5.4.1 格式输出与转换参数 
下列的lpr 命令控制文件输出的格式。如果你的打印工作里没有纯文字或是你希望纯文 
字通过lpr 处理后以特定的格式输出时,你可以使用这些参数。 
举例来说,下面的命令从叫做bamboo 的打印机将DVI 文件(由TeX 排版系统产生)fish-report.dvi 打出: 
% lpr -P bamboo -d fish-report.dvi 
这些参数将套用这个工作里的每个文件,所以你不能把DVI 和ditroff 文件在同一个工 
作里一起处理,而要分两次工作用不同的转换参数。 
注意: 这些参数除了-p 和-T 需要为指定的打印机安装转换的过滤程序外,其它的都不 
用。举例来说,参数-d 需要安装DVI 转换过滤程序。转换用的过滤程序这一节有较详细的 
说明。 

香港云主机