FreeBSD handbook中文版 11 打印 (3)使用打印机 (1)
目录
11.5使用打印机
11.6标准spooler之外的选择
=============================================================
11.5使用打印机
这一节将告诉你如何在FreeBSD下使用打印机。这里有份使用者等级命令的概述。
lpr
打印工作
lpq
检查打印机队列
将工作从打印机队列中删除
lprm
也有系统维护使用的命令,lpc,用来控制打印机及其队列。在治理打印机这一节里有
更具体的说明。
lpr,lprm和lpq这三个命令都接收-Pprinter-name这个指定在/etc/printcap文件里设定
的打印机/队列的参数。答应你对不同的打印机做要求、删除,以及检查工作。假如你没有
使用-P参数,那么这些命令将使用PRINTER环境变量所指定的打印机。若你也没有
PRINTER环境变量,那么这些命令则会对别名为lp的打印机指定动作。
此后,默认打印机指的就是以PRINTER环境变量设定的打印机或是当lp环境变量不存
在时,别名为lp的打印机。
11.5.1打印工作
要打印文件,输入
%lprfilename...
这将把所有列出的文件以默认打印机打印。假如你没有指定任何文件,那么lpr将会从
标准输入读入资料。下面这个例子将会打出一些重要的系统文件
%lpr/etc/host.conf/etc/hosts.equiv
若要指定以特定的打印机输出,输入
%lpr-Pprinter-namefilename...
下面这个例子会将当前目录下的文件列表从名为rattan打印机输出
%ls-l|lpr-Prattan
因为lpr命令之后没有指定任何一个文件,lpr将会从标准输入读入资料以打印出来,即
由ls-l命令所产生的输出。
第61页FreeBSD使用手册
lpr命令有许多参数如控制输出格式、套用文件转换、一次打印出多份,等等。请参看
打印参数这一节里有更具体的说明。
11.5.2检查打印工作
当你使用lpr打印时,一起送到LPDspooling系统的资料称为一个“打印工作”。每一
台打印机都有一个打印工作队列,而你的打印工作和其它的打印工作一样在队列里等待打
印。打印机会将先打印先送达的工作。
要显示默认打印机的队列,输入lpq即可。若要指定打印机,请指定-P参数。例如
%lpq-Pbamboo
这个命令会显示叫做bamboo的打印机队列。这里有一份lpq命令的输出例子
bambooisreadyandprinting
RankOwnerJobFilesTotalSize
activekelly9/etc/host.conf,/etc/hosts.equiv88bytes
2ndkelly10(standardinput)1635bytes
3rdmary11...78519bytes
上面显示一共有三个工作在bamboo的队列里。第一个工作由使用者kelly送出,“工作
代码”为9。每一个工作都会有个唯一的工作代码。通常你可以忽略工作代码,但是假如你
要取消某个工作时,你就会需用知道工作号码。详情请参看删除队列这一节。
工作号码9里包含了两个文件。用lpr送多个文件将会被视为同一个工作。这是目前正
在处理的工作(注重“Rank”栏标示的active),即打印机现在应该就在打印这个工作。第二
个工作的资料是用lpr从标准输入接收资料的。而第三个工作是由使用者mary送出的。这
是一个较大的工作。而她要打印的文件因为太长而放不下,所以lpq命令只显示三个点。
lpq最前面的输出通常可以看出打印机现在在做什么(至少是LPD觉得打印机现在应该是在
做什么)。
lpq命令可以使用-l参数以得到更具体的列表。这里有一个lpq-l的输出范例
waitingforbambootobecomeready(offline?)
kelly:1st[job009rose]
/etc/host.conf73bytes
/etc/hosts.equiv15bytes
第62页FreeBSD使用手册
kelly:2nd[job010rose]
(standardinput)1635bytes
mary:3rd[job011rose]
/home/orchid/mary/research/venus/alpha-regio/mapping78519bytes
11.5.3删除打印工作
假如你改变主意不想打印你的工作了,你可以用lprm命令把他们从打印队列中删除。
通常你也可以用lprm把一个正在处理的工作删除,不过可能还是会打印出部分或是全部的
文件。
要从默认打印机里删除工作,首先,用lpq找出工作代码,然后输入
%lprmjob-number
假如要从指定的打印机删除工作,那么用-P参数。下列的命令从打印机bamboo的队
列中删除工作号码为10的工作
%lprm-Pbamboo10
lprm命令有一些常用的用法
lprm-
将(默认打印机)里所有属于你的工作都删除。
%lprm-Prattan-
lprmuser
将(默认打印机)里所有属于使用者user的工作皆删除。只有超级使用者可以删除其
它人的工作,你只能删除你自己的工作。
lprm
若不指定工作号码、使用者名称或是-,lprm将删除目前默认打印机正在处理的工
作,但前提是这个工作必需是属于你的。超级使用者可以删除任何目前正在处理的
工作。
若使用-P参数配合上述的常用用法,则上述的动作将对指定的打印机动作而不是对默
认打印机。下列的命令将会删除目前使用者在打印机rattan队列中的所有工作
注重:假如你使用的是网络打印机,lprm将只答应你从输出工作的机器删除该工作。
第63页FreeBSD使用手册
下面这些命令可以说明这个概念
%lpr-Prattanmyfile
%rloginorchid
%lpq-Prattan
RankOwnerJobFilesTotalSize
activeseeyan12...49123bytes
2ndkelly13myfile12bytes
%lprm-Prattan13
rose:Permissiondenied
%logout
%lprm-Prattan13
dfA013rosedequeued
cfA013rosedequeued
11.5.4在纯文字之外打印参数
lpr命令提供控制格式输出、转换图形及其它文件格式、一次打出多份、工作处理方式
等参数。这一节将一一介绍。
11.5.4.1格式输出与转换参数
下列的lpr命令控制文件输出的格式。假如你的打印工作里没有纯文字或是你希望纯文
字通过lpr处理后以特定的格式输出时,你可以使用这些参数。
举例来说,下面的命令从叫做bamboo的打印机将DVI文件(由TeX排版系统产生)
fish-report.dvi打出
%lpr-Pbamboo-dfish-report.dvi
这些参数将套用这个工作里的每个文件,所以你不能把DVI和ditroff文件在同一个工
作里一起处理,而要分两次工作用不同的转换参数。
注重:这些参数除了-p和-T需要为指定的打印机安装转换的过滤程序外,其它的都不
用。举例来说,参数-d需要安装DVI转换过滤程序。转换用的过滤程序这一节有较具体的
说明。
c
第64页d
f
g
inumber
l
n
p
Ttitle
t
v
下面是一个以默认打印机打印格式化过的lsmanualpage的例子
zcat命令将ls原始数据解压缩并传送给troff命令,将该数据格式化后以GNUtroff格式
输出给lpr送给LPDspooler处理。因为我们在使用lpr命令时使用了-t参数,所以spooler
在打印时会把GNUtroff转换成默认打印机所能了解的格式。
将输出缩进number个字符。假如你省略number,则缩进8个字符。这个
参数只有在某些转换用的过滤程序上有效。
原封不动的打出文字数据,包括控制字符。
打印ditroff(deviceindependenttroff)数据。
在打印之前以pr格式化输出。请参见pr以取得更多的信息。
以title取代prheader中的文件名。这个参数只有在配合-p参数使用时才有
效。
打印troff数据。
打印raster数据。
%zcat/usr/share/man/man1/ls.1.gz|troff-t-man|lpr-t
打印cifplot文件。
打印DVI文件。
打印FORTRAN文本文件
打印plot数据。
注释:请不要在-i和数字之间加上空白
FreeBSD使用手册
第65页11.5.4.2工作处理方式参数
#copies
m
s
r
11.5.4.3HeaderPage参数
这些参数就没有作用了。请参见HeaderPages这一节以了解如何设定headerpages。
1.Ctext
将同一工作里的每个文件都打出copies份。系统治理员可以将这个参数关闭,以减
低打印机的障碍并鼓励使用复印机。请参见限制打印多份这一节的说明。
这个例子将会从默认的打印机打出三份parser.c,然后打出三份parser.h
%lpr-#3parser.cparser.h
完成打印工作后,便通知使用者。若使用这个参数,当打印工作完成后,LPD系统
将会写信给你。在这封信中将会告诉你你的工作是否成功地打出或是有错误以及
(通常会)告诉你错误的原因。
不要将要打印的文件拷贝到spooling目录,而只要以symboliclinks的方式取代。
假如你要打印大的文件,你可考虑用这个参数。这可以节省你spooling目录的空间(否
则spooling目录所在的文件系统可能会空间不足)。同时他也可以省下LPD将文件
拷贝到spooling目录所需的时间。
这么做有一个缺点就是当打印还没结束时,你不能修改或删除打印中的文件,因为
LPD在打印时还会用到原始的文件。
Note:假如你是用网络打印机打印,那么LPD还是会把你的文件拷贝到远程的机器,
所以参数-s只有在本机上打印时才有用。
当你的文件已经拷贝到spooling目录时,或是用-s参数且打印完成时,就将原本的
文件删除。请小心使用这个参数!
有一些参数是设定lpr打印在headerpages上的文字。假如打印headerpages的话,那么
将headerpage上的机器名称以text取代。机器名称通常是打印送出工作的机器名称。
2.Jtext
FreeBSD使用手册
下列的参数将会让lpr告诉LPD以非凡的方式处理工作
第66页FreeBSD使用手册
将header上的工作名称以text取代。工作名称通常是一份打印工作里的第一个文件名
称,假如你是从标准输入打印数据的话,那么将会是stdin。
3.h
不要打印headerpage。
注释:在某些机器上,由于headerpages产生的方式不同,这个选项可能会无效。请参
见HeaderPages这一节里更具体的说明。
11.5.5治理打印机
作为打印机治理员,你必需安装、设定以及测试它们。你可以用lpc这个命令
1.让打印机开始工作或停止工作。
2.开启或关闭他们的队列。
3.重新安排队列里工作的顺序。
我们得先知道的一个概念是假如一个打印机已经停止工作了,他将不会将队列里的任
何东西打出。使用者仍然可以将工作送过来,但是这些工作将会在队列里等待直到打印机开
始工作或是队列被清空了。
假如队列被关闭了,那么没有使用者(除了root之外)可以将工作送给打印机。只有已
经开启队列的打印机可以接收其它人将工作送过来。一个打印机可以为一个已经关闭的队列
开始工作。在这个情况下,原本存在队列中的工作将会一一的被打印直到没有工作为止。
通常,拥有root权限的使用者才可以用lpc下命令。一般的使用者只能用lpc命令来
查询打印机工作以及重新启动当掉的打印机。
以下是一份lpc的命令列表。大部份的命令都需要指定printer-name以指定要对哪一
台打印机下命令。printer-name也可以用all表示所有排在/etc/printcap里的打印机。
abortprinter-name
取消目前的工作,同时也停止打印机工作。假如队列被关闭,使用者仍然可以送工作给
打印机。
cleanprinter-name
将打印机spooling目录中的旧文件删除。有时候LPD可能没有把打印完的工作从
spooling目录中删除,尤其是当打印的工作发生错误时或是有其它命令将其中止时。
第67页FreeBSD使用手册
这个命令将会找出这些不该存在于spooling目录中的文件并将他们删除。
disableprinter-name
关闭队列以停止接收新工作。假如打印机并未停止工作,那么队列中剩余的工作将会继
续打印直到队列中没有工作为止。关闭队列后,root仍然可以继续送工作给打印机。
这个命令在你测试一台新打印机或是新的过滤程序时非凡有用你可以将队列关起来然
后以root测试打印的工作。其它使用者则无法将工作送过来,除非你测试完毕后将队
列以enable命令打开。
downprinter-namemessage
这个命令等于是disable后再接着stop命令。其中message是当有使用者以lpq检查
打印机队列或是以lpcstatus命令检查打印机状态时所显示的信息。
enableprinter-name
将打印机队列打开。这样使用者就可以将工作送给打印机,但是只有在打印机已经开始
工作后,队列里的工作才会被打出来。
helpcommand-name
将command-name命令的说明打出。假如没有指定command-name,那么将会打出所有可
用的命令。
restartprinter-name
重新启动打印机。假如因为某些情况使得LPD当掉了,一般的使用者可以用这个命令让
打印机重新开始工作。但是他们无法用这个命令让由stop或down命令停止的打印机开
始工作。restart命令等于abort再接着start命令。
startprinter-name
让打印机开始工作。打印机会将队列里的工作打出。
stopprinter-name
停止打印机工作。打印机将会先完成目前的工作然后停止打印队列中的任何工作。打印
机停止工作后,使用者仍然可以把工作送给一个未关闭的队列中。
topqprinter-namejob-or-username
第68页FreeBSD使用手册
将打印机printer-name队列中工作代号为job或是属于使用者username的工作移到队
列的最前面。在这个命令里,你不可以将all填在printer-name上指定所有的打印机。
upprinter-name
这是和down命令相对的指令。等于是start后再接着enable命令。
lpc能以参数的方式接收上述的命令。假如你不输入任何命令,lpc将会进入交谈模式,
在这里你可以一直输入命令直到你以exit命令、quit命令或是输入文件结尾字符为止。
11.6标准spooler之外的选择
假如你读完了这份文件,现在你应该已经彻底了解FreeBSD提供的LPDspooling系统。
不过你可能觉得这个系统有些缺点,因此你可能会想到“除此之外还有哪些spooling系统(可
以配合FreeBSD使用)?”
不幸的是,只有两种选择。它们分别是
LPRng
LPRng指的是“下一代的LPR”。LPRng是将PLP完全重写。PatrickPowell和JustinMason
(PLP的主要负责人)一起合作LPRng。LPRng的网站是ftp://dickory.sdsu.edu/pub/LPRng/。
PLP,thePortableLinePrinterSpoolerSystem
PLP是以由PatrickPowell所发展的软件为基础,现在由网络上的一群人共同维护发展。你
可以在(ftp://ftp.iona.ie/pub/plp/)这个网站取得这个软件。它和BSDLPD很相似,不过加
强了一些功能,包括
1.更好的网络支持,包括内建一网络打印机支持、以NIS治理的printcaps以及用NFSmount
的spooling目录。
2.成熟的队列治理。答应多台打印机使用同一个队列、在队列之间传送工作或是将队列
重新传给其它打印机。
3.远程控制打印机
4.工作优先权设置
5.较复杂的保密及访问设置
11.5使用打印机
11.6标准spooler之外的选择
=============================================================
11.5使用打印机
这一节将告诉你如何在FreeBSD下使用打印机。这里有份使用者等级命令的概述。
lpr
打印工作
lpq
检查打印机队列
将工作从打印机队列中删除
lprm
也有系统维护使用的命令,lpc,用来控制打印机及其队列。在治理打印机这一节里有
更具体的说明。
lpr,lprm和lpq这三个命令都接收-Pprinter-name这个指定在/etc/printcap文件里设定
的打印机/队列的参数。答应你对不同的打印机做要求、删除,以及检查工作。假如你没有
使用-P参数,那么这些命令将使用PRINTER环境变量所指定的打印机。若你也没有
PRINTER环境变量,那么这些命令则会对别名为lp的打印机指定动作。
此后,默认打印机指的就是以PRINTER环境变量设定的打印机或是当lp环境变量不存
在时,别名为lp的打印机。
11.5.1打印工作
要打印文件,输入
%lprfilename...
这将把所有列出的文件以默认打印机打印。假如你没有指定任何文件,那么lpr将会从
标准输入读入资料。下面这个例子将会打出一些重要的系统文件
%lpr/etc/host.conf/etc/hosts.equiv
若要指定以特定的打印机输出,输入
%lpr-Pprinter-namefilename...
下面这个例子会将当前目录下的文件列表从名为rattan打印机输出
%ls-l|lpr-Prattan
因为lpr命令之后没有指定任何一个文件,lpr将会从标准输入读入资料以打印出来,即
由ls-l命令所产生的输出。
第61页FreeBSD使用手册
lpr命令有许多参数如控制输出格式、套用文件转换、一次打印出多份,等等。请参看
打印参数这一节里有更具体的说明。
11.5.2检查打印工作
当你使用lpr打印时,一起送到LPDspooling系统的资料称为一个“打印工作”。每一
台打印机都有一个打印工作队列,而你的打印工作和其它的打印工作一样在队列里等待打
印。打印机会将先打印先送达的工作。
要显示默认打印机的队列,输入lpq即可。若要指定打印机,请指定-P参数。例如
%lpq-Pbamboo
这个命令会显示叫做bamboo的打印机队列。这里有一份lpq命令的输出例子
bambooisreadyandprinting
RankOwnerJobFilesTotalSize
activekelly9/etc/host.conf,/etc/hosts.equiv88bytes
2ndkelly10(standardinput)1635bytes
3rdmary11...78519bytes
上面显示一共有三个工作在bamboo的队列里。第一个工作由使用者kelly送出,“工作
代码”为9。每一个工作都会有个唯一的工作代码。通常你可以忽略工作代码,但是假如你
要取消某个工作时,你就会需用知道工作号码。详情请参看删除队列这一节。
工作号码9里包含了两个文件。用lpr送多个文件将会被视为同一个工作。这是目前正
在处理的工作(注重“Rank”栏标示的active),即打印机现在应该就在打印这个工作。第二
个工作的资料是用lpr从标准输入接收资料的。而第三个工作是由使用者mary送出的。这
是一个较大的工作。而她要打印的文件因为太长而放不下,所以lpq命令只显示三个点。
lpq最前面的输出通常可以看出打印机现在在做什么(至少是LPD觉得打印机现在应该是在
做什么)。
lpq命令可以使用-l参数以得到更具体的列表。这里有一个lpq-l的输出范例
waitingforbambootobecomeready(offline?)
kelly:1st[job009rose]
/etc/host.conf73bytes
/etc/hosts.equiv15bytes
第62页FreeBSD使用手册
kelly:2nd[job010rose]
(standardinput)1635bytes
mary:3rd[job011rose]
/home/orchid/mary/research/venus/alpha-regio/mapping78519bytes
11.5.3删除打印工作
假如你改变主意不想打印你的工作了,你可以用lprm命令把他们从打印队列中删除。
通常你也可以用lprm把一个正在处理的工作删除,不过可能还是会打印出部分或是全部的
文件。
要从默认打印机里删除工作,首先,用lpq找出工作代码,然后输入
%lprmjob-number
假如要从指定的打印机删除工作,那么用-P参数。下列的命令从打印机bamboo的队
列中删除工作号码为10的工作
%lprm-Pbamboo10
lprm命令有一些常用的用法
lprm-
将(默认打印机)里所有属于你的工作都删除。
%lprm-Prattan-
lprmuser
将(默认打印机)里所有属于使用者user的工作皆删除。只有超级使用者可以删除其
它人的工作,你只能删除你自己的工作。
lprm
若不指定工作号码、使用者名称或是-,lprm将删除目前默认打印机正在处理的工
作,但前提是这个工作必需是属于你的。超级使用者可以删除任何目前正在处理的
工作。
若使用-P参数配合上述的常用用法,则上述的动作将对指定的打印机动作而不是对默
认打印机。下列的命令将会删除目前使用者在打印机rattan队列中的所有工作
注重:假如你使用的是网络打印机,lprm将只答应你从输出工作的机器删除该工作。
第63页FreeBSD使用手册
下面这些命令可以说明这个概念
%lpr-Prattanmyfile
%rloginorchid
%lpq-Prattan
RankOwnerJobFilesTotalSize
activeseeyan12...49123bytes
2ndkelly13myfile12bytes
%lprm-Prattan13
rose:Permissiondenied
%logout
%lprm-Prattan13
dfA013rosedequeued
cfA013rosedequeued
11.5.4在纯文字之外打印参数
lpr命令提供控制格式输出、转换图形及其它文件格式、一次打出多份、工作处理方式
等参数。这一节将一一介绍。
11.5.4.1格式输出与转换参数
下列的lpr命令控制文件输出的格式。假如你的打印工作里没有纯文字或是你希望纯文
字通过lpr处理后以特定的格式输出时,你可以使用这些参数。
举例来说,下面的命令从叫做bamboo的打印机将DVI文件(由TeX排版系统产生)
fish-report.dvi打出
%lpr-Pbamboo-dfish-report.dvi
这些参数将套用这个工作里的每个文件,所以你不能把DVI和ditroff文件在同一个工
作里一起处理,而要分两次工作用不同的转换参数。
注重:这些参数除了-p和-T需要为指定的打印机安装转换的过滤程序外,其它的都不
用。举例来说,参数-d需要安装DVI转换过滤程序。转换用的过滤程序这一节有较具体的
说明。
c
第64页d
f
g
inumber
l
n
p
Ttitle
t
v
下面是一个以默认打印机打印格式化过的lsmanualpage的例子
zcat命令将ls原始数据解压缩并传送给troff命令,将该数据格式化后以GNUtroff格式
输出给lpr送给LPDspooler处理。因为我们在使用lpr命令时使用了-t参数,所以spooler
在打印时会把GNUtroff转换成默认打印机所能了解的格式。
将输出缩进number个字符。假如你省略number,则缩进8个字符。这个
参数只有在某些转换用的过滤程序上有效。
原封不动的打出文字数据,包括控制字符。
打印ditroff(deviceindependenttroff)数据。
在打印之前以pr格式化输出。请参见pr以取得更多的信息。
以title取代prheader中的文件名。这个参数只有在配合-p参数使用时才有
效。
打印troff数据。
打印raster数据。
%zcat/usr/share/man/man1/ls.1.gz|troff-t-man|lpr-t
打印cifplot文件。
打印DVI文件。
打印FORTRAN文本文件
打印plot数据。
注释:请不要在-i和数字之间加上空白
FreeBSD使用手册
第65页11.5.4.2工作处理方式参数
#copies
m
s
r
11.5.4.3HeaderPage参数
这些参数就没有作用了。请参见HeaderPages这一节以了解如何设定headerpages。
1.Ctext
将同一工作里的每个文件都打出copies份。系统治理员可以将这个参数关闭,以减
低打印机的障碍并鼓励使用复印机。请参见限制打印多份这一节的说明。
这个例子将会从默认的打印机打出三份parser.c,然后打出三份parser.h
%lpr-#3parser.cparser.h
完成打印工作后,便通知使用者。若使用这个参数,当打印工作完成后,LPD系统
将会写信给你。在这封信中将会告诉你你的工作是否成功地打出或是有错误以及
(通常会)告诉你错误的原因。
不要将要打印的文件拷贝到spooling目录,而只要以symboliclinks的方式取代。
假如你要打印大的文件,你可考虑用这个参数。这可以节省你spooling目录的空间(否
则spooling目录所在的文件系统可能会空间不足)。同时他也可以省下LPD将文件
拷贝到spooling目录所需的时间。
这么做有一个缺点就是当打印还没结束时,你不能修改或删除打印中的文件,因为
LPD在打印时还会用到原始的文件。
Note:假如你是用网络打印机打印,那么LPD还是会把你的文件拷贝到远程的机器,
所以参数-s只有在本机上打印时才有用。
当你的文件已经拷贝到spooling目录时,或是用-s参数且打印完成时,就将原本的
文件删除。请小心使用这个参数!
有一些参数是设定lpr打印在headerpages上的文字。假如打印headerpages的话,那么
将headerpage上的机器名称以text取代。机器名称通常是打印送出工作的机器名称。
2.Jtext
FreeBSD使用手册
下列的参数将会让lpr告诉LPD以非凡的方式处理工作
第66页FreeBSD使用手册
将header上的工作名称以text取代。工作名称通常是一份打印工作里的第一个文件名
称,假如你是从标准输入打印数据的话,那么将会是stdin。
3.h
不要打印headerpage。
注释:在某些机器上,由于headerpages产生的方式不同,这个选项可能会无效。请参
见HeaderPages这一节里更具体的说明。
11.5.5治理打印机
作为打印机治理员,你必需安装、设定以及测试它们。你可以用lpc这个命令
1.让打印机开始工作或停止工作。
2.开启或关闭他们的队列。
3.重新安排队列里工作的顺序。
我们得先知道的一个概念是假如一个打印机已经停止工作了,他将不会将队列里的任
何东西打出。使用者仍然可以将工作送过来,但是这些工作将会在队列里等待直到打印机开
始工作或是队列被清空了。
假如队列被关闭了,那么没有使用者(除了root之外)可以将工作送给打印机。只有已
经开启队列的打印机可以接收其它人将工作送过来。一个打印机可以为一个已经关闭的队列
开始工作。在这个情况下,原本存在队列中的工作将会一一的被打印直到没有工作为止。
通常,拥有root权限的使用者才可以用lpc下命令。一般的使用者只能用lpc命令来
查询打印机工作以及重新启动当掉的打印机。
以下是一份lpc的命令列表。大部份的命令都需要指定printer-name以指定要对哪一
台打印机下命令。printer-name也可以用all表示所有排在/etc/printcap里的打印机。
abortprinter-name
取消目前的工作,同时也停止打印机工作。假如队列被关闭,使用者仍然可以送工作给
打印机。
cleanprinter-name
将打印机spooling目录中的旧文件删除。有时候LPD可能没有把打印完的工作从
spooling目录中删除,尤其是当打印的工作发生错误时或是有其它命令将其中止时。
第67页FreeBSD使用手册
这个命令将会找出这些不该存在于spooling目录中的文件并将他们删除。
disableprinter-name
关闭队列以停止接收新工作。假如打印机并未停止工作,那么队列中剩余的工作将会继
续打印直到队列中没有工作为止。关闭队列后,root仍然可以继续送工作给打印机。
这个命令在你测试一台新打印机或是新的过滤程序时非凡有用你可以将队列关起来然
后以root测试打印的工作。其它使用者则无法将工作送过来,除非你测试完毕后将队
列以enable命令打开。
downprinter-namemessage
这个命令等于是disable后再接着stop命令。其中message是当有使用者以lpq检查
打印机队列或是以lpcstatus命令检查打印机状态时所显示的信息。
enableprinter-name
将打印机队列打开。这样使用者就可以将工作送给打印机,但是只有在打印机已经开始
工作后,队列里的工作才会被打出来。
helpcommand-name
将command-name命令的说明打出。假如没有指定command-name,那么将会打出所有可
用的命令。
restartprinter-name
重新启动打印机。假如因为某些情况使得LPD当掉了,一般的使用者可以用这个命令让
打印机重新开始工作。但是他们无法用这个命令让由stop或down命令停止的打印机开
始工作。restart命令等于abort再接着start命令。
startprinter-name
让打印机开始工作。打印机会将队列里的工作打出。
stopprinter-name
停止打印机工作。打印机将会先完成目前的工作然后停止打印队列中的任何工作。打印
机停止工作后,使用者仍然可以把工作送给一个未关闭的队列中。
topqprinter-namejob-or-username
第68页FreeBSD使用手册
将打印机printer-name队列中工作代号为job或是属于使用者username的工作移到队
列的最前面。在这个命令里,你不可以将all填在printer-name上指定所有的打印机。
upprinter-name
这是和down命令相对的指令。等于是start后再接着enable命令。
lpc能以参数的方式接收上述的命令。假如你不输入任何命令,lpc将会进入交谈模式,
在这里你可以一直输入命令直到你以exit命令、quit命令或是输入文件结尾字符为止。
11.6标准spooler之外的选择
假如你读完了这份文件,现在你应该已经彻底了解FreeBSD提供的LPDspooling系统。
不过你可能觉得这个系统有些缺点,因此你可能会想到“除此之外还有哪些spooling系统(可
以配合FreeBSD使用)?”
不幸的是,只有两种选择。它们分别是
LPRng
LPRng指的是“下一代的LPR”。LPRng是将PLP完全重写。PatrickPowell和JustinMason
(PLP的主要负责人)一起合作LPRng。LPRng的网站是ftp://dickory.sdsu.edu/pub/LPRng/。
PLP,thePortableLinePrinterSpoolerSystem
PLP是以由PatrickPowell所发展的软件为基础,现在由网络上的一群人共同维护发展。你
可以在(ftp://ftp.iona.ie/pub/plp/)这个网站取得这个软件。它和BSDLPD很相似,不过加
强了一些功能,包括
1.更好的网络支持,包括内建一网络打印机支持、以NIS治理的printcaps以及用NFSmount
的spooling目录。
2.成熟的队列治理。答应多台打印机使用同一个队列、在队列之间传送工作或是将队列
重新传给其它打印机。
3.远程控制打印机
4.工作优先权设置
5.较复杂的保密及访问设置





