在Linux中是把硬件设备当作文件来管理。每个与Linux系统相连的实际设备(包括光盘驱动器、显示器、网卡、显示卡、扫描仪和打印机等),都可以在文件系统中表示出来。Linux系统把每一个设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。从用户的角度来看,对设备的使用和一般文件的使用一样。Linux提供了大量的命令,利用命令可以有效管理设备。所以,在Linux系统上使用打印机,离不开使用系统提供的命令。要想真正理解Linux系统打印,就必须从Linux打印命令学起。不管你是在 GUI 中点击一个按钮还是从命令行中键入命令,打印都不能算是一项很互动化的进程。下面将会向你介绍印相关命令。
1.CUPS打印系统命令见表4。
表4 CUPS打印系统命令
命令名称
功能说明
lp.cups
提交打印任务,即开始打印。
lpr.cups
打印机请求命令。
lprm.cups
从打印队列删除任务。
lpq.cups
查询打印队中的任务。
lpc.cups
行打印控制命令。
lpstat,.cups
显示打印机状态,包括打印队列长度和打印机数量。
lpoptions
显示或设置打印选项。
lppasswd
为用户修改打印密码。
lpinfo
显示打印设备。
lpadmin
配置打印机。
cancel
取消一个打印任务。
disabe
禁止一个打印任务。
enable
启动一个打印任务。
lpmove
改变打印任务到新队列。
accept
接受打印任务。
reject
拒绝打印任务。
2.LPD打印命令
Red Hat Linux现在默认打服务器是CUPS。但是许多Linux老用户仍然倾向使用行打印监控程序(LPD)。LPD包括四个主要命令:行打印机请求(Line Printer Request ,lpr)、行打印机控制(Line Printer Control,lpc)、行打印机查询(Line Printer Query,lpq)、行打印机删除(Line Printer Remove,lprm)。LPD打印系统命令见表5。
表5 LPD打印系统命令
命令名称
功能名称
常用选项
lpr
打印机请求
-h file:打印没有作业控制页的文件,通常包含用户账号和源计算机的主机名。作业控制页也称为粹发页。
-Pother file:用/etc/printcap文件定义的打印机other打印文件file。注意:P和打印机之间没有空格。
-s fike:生产打印文件file的符号链接。
lpq
提供当前打印队列
lpq ;返回默认打印机的当前打印队列,在/etc/printcap文件中定义。
lpq -P printer :返回指定打印机的当前打印队列,使用/etc/printcap文件中定义的名称。
lprm
打印队列删除任务
-P: 删除默认打印机的当前打印队列,在/etc/printcap文件中定义。
Lpc
可以控制每台打印机的几个特征
lpc [-P] [device][enable| disable|starp|stop|stataus]
lpc -P device stataus:显示打印机的状态。输出显示能否将打印作业发送到队列、队列中的作业号、打印机是否接收作业以及和打印机的通信状态。
lpc disable:禁止对默认打印机将发送(假脱机)到打印队列。
lpc enable:启动对默认打印机将发送(假脱机)到打印队列。与lpc disable命令相反。
lpc start:从订印队列重新开始传输。
lpc stop:停止打印机与打印队列之间的通信。
八、重要联机资料
要了解更多关于在 Red Hat Linux 上打印的信息,请参考下列资料。
man printcap — /etc/printcap 打印机配置文件的说明书页。
map lpr — 允许你从命令行打印文件的 lpr 命令的说明书页。
man lpd — LPRng 打印机守护进程的说明书页。
man lprm — 用来从 LPRng 假脱机队列中删除打印作业的命令行工具的说明书页。
man mpage — 用来在一张纸上打印多页的命令行工具的说明书页。
man cupsd — CUPS 打印机守护进程的说明书页。
man cupsd.conf — CUPS 打印机守护进程配置文件的说明书页。
man classes.conf — CUPS 类别配置文件的说明书页。
总结:以上介绍了Linux打印机配置的方法,与以前相比,随着更多、更高级打印系统的出现,情况已有了很大改观,也得到了HP、IBM等公司的关注,它们也努力致力于推进这个基础架构发展。FSG(自由标准组织)正在进行着一个名为OpenPrinting的项目。据称该项目是为Linux定义下一代打印系统的基础架构,目前其聚集了很多业内的专家。以提升Linux竞争者力。
man lpinfo
lpinfo [ -E ] [ -U username ] [ -h server[:port] ] [ -l ] [ --device-id device-id-string ] [ --exclude-schemes scheme-list ] [ --include- schemes scheme-list ] [ --language locale ] [ --make-and-model name ] [ --product name ] -m lpinfo [ -E ] [ -U username ] [ -h server[:port] ] [ -l ] [ --exclude- schemes scheme-list ] [ --include-schemes scheme-list ] [ --timeout seconds ] -v