UNIX环境下打印机安装和维护

来源:互联网 发布:剑灵最美2016捏脸数据 编辑:程序博客网 时间:2024/06/01 15:02

    打印机通常连接在系统的串口或并口上,首先要保证这样的端口对打印机是可用的,这就需要对端口进行设置。打印机的安装大致分为这样几步:配置所用端口、连接打印机与主机、向系统中添加打印机的驱动程序、进行必要的打印机配置等。
打印机通过特定的端口与计算机相连。如果是并行打印机,使用标准的接口电缆把计算机的并行端口与打印机相连。然后要对打印机使用的端口进行配置。配置并口时,系统会提示选择所安装并口的I/O地址和中断号,大多数情况下使用默认值就可以了。并口设备文件的命名规则为:/dev/term/a是第一个并口,即LPT1;/dev/term/b是第二个并口。如果是串行打印机,用RS-232电缆把计算机的串口与打印机相连,然后执行admintool程序,对该端口进行配置,串行打印机必须能够支持XON/XOFF或者DTR(数据终端准备好)协议,并且按照这些协议进行配置。
    配置好端口,连接好打印机后,需要测试连接是否正确,测试的方法是利用输出重定向,将一条命令的执行结果重定向到打印机,看看打印机上是否打印出命令的执行结果。对串行打印机,可以使用命令:#date>;/dev/ttya(假设打印机连接到COM1);对并行打印机,可以使用命令:#date>;/dev/term/a(假设打印机连接到LPT1)
如果连接正确,打印机上应该打印出当前日期。如果日期没有打印出来,就需要检查故障所在,可能的情况有:端口是否配置正确;使用的端口设备是否正确;连线是否正确;打印机的硬件设置是否正确等。
    当把打印机正确连接到主机之后,就可以通过直接发送数据到端口设备进行打印,但是,还无法通过打印命令向打印机发送打印请求,更不能使用UNIX系统的打印作业队列管理功能,所以还必须把打印机添加到系统中,添加打印机的命令为lpadmin

    此后还要执行enable命令来启动打印机,执行accept命令使该打印机能够接收用户的打印作业。这两条命令的格式为:    enable 打印机名    accept 打印机名
    在UNIX系统中,把文档在打印机上打印称为发送打印请求。发送打印请求使用lp命令,该命令执行后,将返回一个打印请求ID号,这个ID号唯一标志了每个打印请求,在注销、修改打印请求或查看其状态时,都要使用这个ID,lp命令的格式为:lp –d dest files,其中files是要进行打印的文件名,打印将按照文件在命令行中出现的先后次序进行,如果在命令行中没有给出要打印的文件名,系统就打印来自标准输入的内容。-d选项用来指定打印作业要发送到哪一台打印机,dest是所指定的打印机名或类名,如果不指定,系统将把打印请求发送到默认打印机上。
    lp命令只是提交打印作业请求,这个请求要能被执行,需要3个条件,一是打印服务已启动,二是系统中至少有一台默认打印机,三是默认打印机能够接受打印请求。如果要注销一个打印请求,可以使用cancel命令,其格式为:cancel [request_ids][printers],cancel request_ids(取消打印请求);cancel printers(取消打印机上的所有请求)
要使打印机或类拒绝任何新的打印请求,可以使用命令:
/usr/lib/reject –r[reason] 打印机名或类名
    拒绝打印请求,仅仅是使打印机不再接收受新的打印请求,但并不会注销当前打印队列中的任何请求,也不会移动他们。
    如果系统中有多台打印机,可以把打印任务由一台打印机转移到另一台打印机,要转移打印请求,可以使用:/usr/lib/lpmove request_id 打印机名,有时希望将一台打印机上的所有打印请求转移到另一台打印机,可以执行:/usr/lib/lpmove 打印机名1 打印机名2
这时打印机1不再接收新的打印请求,相当于打印机1使用了reject命令。
    每当系统引导进入多用户状态时,打印服务就自动地启动(/etc/rc2.d/S80lp);每当系统关闭时,打印服务也随之关闭,所以,一般情况下打印服务的启动和关闭并不需要手动地执行,如果出于特殊的需要,也可以进行人工干预,一旦停止了打印服务,所有的打印活动都将停止;并且,所有中断的打印作业在打印服务重新启动后,不能再继续完成。停止打印服务可以使用命令:
#/usr/lib/lpshut
启动打印服务:
#/usr/lib/lpsched
打印服务的每次启动和关闭活动,不论是手工方式,还是自动方式,都被记录再/usr/spool/lp/logs/lpsched文件中。

配置打印机,主要使用lpadmin命令:
如果一台打印机不再使用,可以删除这台打印机:
lpadmin –x  打印机
如果系统中有多台打印机,可以设置其中一台为默认打印机,这样用户在打印时即不需要指定打印机,所有的打印请求被自动发往这台默认打印机。设置默认打印机的命令为:
lpadmin –d  打印机
也可以通过定义环境变量LPDEST来设置默认打印机。想取消默认,则使用:lpadmin -d

打印机类的操作
打印机类由一组打印机组成,这组打印机按照一定的顺序排列,打印请求发送到一个类时,系统将按照类中打印机的排列顺序,找到第一个空闲的成员打印机去完成打印请求,类概念的引入,可以使系统更好的利用打印资源。打印时,只需要把打印请求发送给这个类,打印机的调度工作则由系统内部完成。一台新增加到系统的打印机不属于任何类,要把一台打印机增加到一个类中,可以使用命令:lpadmin –p 打印机名 –c 类名。打印机和类名必须唯一,如果命令行中指定的类名在系统中还不存在,那么执行这个命令后,将创建这个类,并把命令行中指定的打印机加到这个类中,删除打印机类可以使用:lpadmin –x 类名,删除指定的打印机类时,不删除作为类成员的打印机。注意:不论是删除打印机,还是删除类,必须保证所要删除的打印机或类上没有等待的打印请求。
如果仅仅希望把打印机从它所属的某个类中删除,可以使用:lpadmin –p 打印机名 –r 类名。


打印机权限设置
对于某台打印机,可以限制只有一部分用户使用打印机。一种方法是通过设置文件权限来实现,既然打印机是一台设备,有对应的设备文件名,那么就可以对这个文件的属主、与属主同组的其他用户分别设置权限。这种方法的缺陷是缺乏灵活性,不能对某个具体的用户设置权限。另一种方法是通过对一台打印机定义允许和不允许名单来实现。一个用户可以属于允许名单或不允许名单。这两个名单的定义应遵循下述规则:
1)允许名单中包含所有允许使用这台打印机的用户,而不允许名单中包含所有不允许使用这台打印机的用户。
2)如果允许名单不空,则不使用不允许名单;如果允许名单为空,则使用不允许名单,如果两个名单为空,则这台打印机没有使用限制。
3)如果将any或all放入允许名单,则允许所有人使用打印机。如果将any或all放入不允许名单,则禁止除了用户lp和root以外的所有人使用打印机。


允许名单和不允许名单分别用下面的命令来定义:
/usr/lib/lpadmin –p打印机名 –u allow: 用户名列表
/usr/lib/lpadmin –p打印机名 –u deny: 用户名列表
打印机状态的查看:
在维护和使用打印机的过程中,经常需要了解打印机当前的状态,为此,系统提供了lpstat命令。使用lpstat命令可以全面地了解系统中打印机的配置,系统的默认打印机、打印机类及其成员、打印机的端口设备名、打印机是否接受打印请求等,lpstat命令的格式为:
lpstat 选项
lpstat支持的选项有:
-a 打印机或类:显示打印机接收打印请求的状态,默认为all,即显示系统中所有打印机和类
-c 打印机类:显示类的名字和它们的成员打印机。默认为系统中所有的类
-d :显示系统中默认打印机
-o 打印机 –l:显示打印机上所有打印请求的输出状态,-l可以使显示信息更详细。
-p 打印机:显示打印机状态,可以指定多台打印机,默认为系统中所有的打印机
-t 列出所有的打印请求
-u 用户名:显示指定用户的打印请求的输出状态,可以指定多个用户,默认为所有用户。
-v 打印机:显示打印机的端口设备名

最后,总结一下打印机的管理和使用方法。普通用户只能发送打印请求,注销自己的打印请求,查看打印机的状态,管理员除了这些操作外,还可以对打印机进行设置


普通用户可以使用的命令
lp                    发送打印请求
cancel                注销打印请求
lpstat                检查打印机的状态


管理员命令列表
/usr/bin/disalbe        禁止指定的打印机
/usr/bin/enable         开启指定的打印机
/usr/lib/accept         使打印机可以接受打印请求
/usr/lib/reject         使打印机拒绝打印请求
/usr/lib/lpadmin        对打印机进行配置
/usr/lib/lpfilter       建立或改变处理程序定义
/usr/lib/lpforms        建立或改变预打印格式
/usr/lib/lpmove         转移打印请求
/usr/lib/lpsched        启动打印服务
/usr/lib/lpshut         关闭打印服务
/usr/lib/lpusers        设置或改变用户的打印请求优先级级优先级设置

 

如果是网络打印机
1. 修改/etc/hosts文件;在文件末尾增加打印机的地址和机器名。
2. 在应用管理程序的pint程序界面中,配置"remote"项目。

3. HP Tru64 UNIX 使用printconfig命令通过X Server完成。