启用或禁用打印机的打印操作
1、enable和disable命令
enable和disable命令控制打印机打印还是停止打印打印队列中的请求。当您禁用打印机时,打印机将停止打印队列中的请求。但是,请求仍被添加到队列中。若不希望将请求添加到队列中,则必须将打印机设置为拒绝打印请求。
使用SolarisPrintManager添加打印机后,将启用该打印机以执行打印任务并接受打印请求。SolarisPrintManager不提供任何其他有关打印机处理的管理功能。
只要打印机被禁用(打印机出现故障时可能会出现此情况),您就必须启用打印机。启用打印机时,它将打印来自打印队列的请求,直到队列为空,即使打印服务拒绝打印队列中的其他请求时也是如此。
下图显示在禁用打印机时中断处理打印请求的时刻。
如何启用或禁用打印机
停止打印打印请求。
#disable[-c|-W][-r"reason"]printer-name
disable
取消当前作业,然后禁用打印机。保存当前作业,以便在启用打印机时重新打印。
-c
取消当前作业,然后禁用打印机。将来不打印当前作业。
-W
在禁用打印机之前一直等待,直到完成当前作业。
-r"reason"
为用户提供禁用打印机的原因。只要用户通过使用lpstat-p命令检查打印机的状态,就会存储并显示原因。
printer-name
指定将停止打印请求的打印的打印机的名称。
注–
无法启用或禁用打印机类。只能启用或禁用单台打印机。
开始打印打印请求。
#enableprinter-name
验证是否已启用打印机。
#lpstat-pprinter-name
示例启用或禁用打印机
以下示例说明如何停止打印机luna上的当前作业、保存该作业以便将来打印,以及提供打印机停止打印请求的打印的原因。
#disable-r"changingtheform"luna
以下示例说明如何在打印机luna上开始打印打印请求。
#enableluna
printer"luna"enabled
接受或拒绝打印请求
2、accept和reject命令
利用accept和reject命令,可以打开或关闭打印队列(其中存储着要打印的请求)。
使用reject命令时,将关闭指定打印机的打印队列。新的打印请求无法进入打印服务器上的队列。但是,仍将打印队列中的所有打印请求。如果您希望打印机停止打印队列中已有的请求,则必须禁用该打印机。下表对accept、reject、enable和disable命令的功能进行了比较。
Accept接受发送到打印队列的打印请求。
Disable停止打印打印队列中当前的请求。
Enable打印打印队列中的请求。
Reject拒绝发送到打印队列的打印请求。
如果拒绝打印请求,则LP打印服务会通知或将消息发送给提交该请求的用户。该消息说明指定打印机未接受打印请求。
您还可以通过命令行指定不接受请求的原因。当用户尝试检查打印机队列时,将在用户的系统上显示原因。下图显示打印队列拒绝打印请求时中断处理打印请求的时刻。
打印队列接受或拒绝请求时发生的情况
如何接受或拒绝打印机的打印请求
在打印服务器上以超级用户lp或同等角色的身份登录。
停止接受打印机的打印请求。
#reject[-r"reason"]printer-name
-r"reason"
为用户提供打印机拒绝打印请求的原因。只要用户通过使用lpstat-p命令检查打印机的状态,就会存储并显示原因。
printer-name
指定将停止接受打印请求的打印机的名称。
只要启用打印机,就会继续打印已排队的请求。有关禁用打印机以便它停止打印的说明,请参见如何启用或禁用打印机。
开始接受打印机的打印请求。
#acceptprinter-name
检查打印机的状态,查看它是接受还是拒绝打印请求。
$lpstat-pprinter-name
接受或拒绝打印机的打印请求
以下示例说明如何阻止打印机luna接受打印请求。
#reject-r"lunaisdownforrepairs"luna
destination"luna"willnolongeracceptrequests
以下示例说明如何将打印机luna设置为接受打印请求。
#acceptluna
destination"luna"nowacceptingrequests
取消打印请求
3、cancel命令
您可以使用cancel命令取消打印机队列中的打印请求或者取消正在打印的作业。
使用cancel命令的方式有三种:
1、通过请求标识号(请求ID)取消请求
2、取消所有打印机或特定打印机上特定用户的请求
3、取消当前打印的作业
使用cancel命令时将显示一条消息,指明已取消一个或多个请求,并将打印队列中的下一个请求。
仅在以下情况下,您才能取消打印请求:
1、您是提交请求的用户,并且已登录到通过其提交请求的系统。
2、您是在任何客户机系统上提交请求的用户,而且打印服务器在其/etc/printers.conf文件中为打印机配置了"user-equivalence"选项。
3、您已在打印服务器上以超级用户lp或同等角色的身份登录。
要取消特定请求,您需要了解其请求ID。请求ID包含打印机的名称、破折号,以及打印请求编号。例如,luna-185。
提交打印请求时,将显示请求ID。如果您忘记了打印请求ID,则可以通过将lpstat命令与-oprinter选项一起使用来查找它。
Procedure如何取消打印请求
如果要取消其他用户的打印请求,则需要成为超级用户lp或同等角色。
确定要取消的打印请求的请求ID。
取消打印请求。
#cancelrequest-id|printer-name
request-id
指定要取消的打印请求的请求ID。您可以使用此命令指定多个请求ID。使用空格或逗号来分隔请求ID。如果使用空格,请用引号将请求ID的列表引起来。
printer-name
指定要为其取消当前打印的打印请求的打印机。
您可以使用此命令指定多个打印机名称。使用空格或逗号来分隔打印机名称。如果您使用空格,请用引号将打印机名称列表引起来。
验证是否已取消打印请求。
$lpstat-oprinter-name
示例取消打印请求
以下示例说明如何取消luna-3和luna-4打印请求。
$cancelluna-3luna-4
request"luna-3"cancelled
request"luna-4"cancelled
以下示例说明如何取消打印机luna上当前打印的打印请求。
#cancelluna
request"luna-9"cancelled
如何取消特定用户的打印请求
4、取消特定用户的打印请求
如果要取消其他用户的打印请求,则需要成为超级用户lp或同等角色。
取消特定用户的打印请求。
$cancel-uuser-list[printer-name]
-uuser-list
取消指定用户的打印请求。
user-list可以是一个或多个用户名。使用空格或逗号来分隔用户名。如果使用空格,请用双引号将名称列表引起来。
printer-name
指定要为其取消指定用户的打印请求的打印机。
printer-name可以是一个或多个打印机名称。使用空格或逗号来分隔打印机名称。如果您使用空格,请用引号将打印机名称列表引起来。
如果不指定printer-name,则会在所有打印机上取消特定用户的打印请求。
示例8–8取消特定用户的打印请求
以下示例说明如何在打印机luna上取消用户george提交的所有打印请求。
#cancel-ugeorgeluna
request"luna-23"cancelled
以下示例说明如何在所有打印机上取消用户george提交的所有打印请求。
#cancel-ugeorge
request"asteroid-3"cancelled
request"luna-8"cancelled
5、其他方法1、将lpr命令重新命名,并将原有的命令删除掉,再恢复打印功能时,将改后的命名名字重新变为原有的linux下的名字,(使用alias和unalias命令)这样可以实现打印机可以打印和不可以打印。
2、关闭打印机cups服务,service cups stop; service cups restart;