启用或禁用打印机的打印操作
1、enable 和 disable 命令
enable 和 disable 命令控制打印机打印还是停止打印打印队列中的请求。当您禁用打印机时,打印机将停止打印队列中的请求。但是,请求仍被添加到队列中。若不希望将请求添加到队列中,则必须将打印机设置为拒绝打印请求。
使用 Solaris Print Manager 添加打印机后,将启用该打印机以执行打印任务并接受打印请求。Solaris Print Manager 不提供任何其他有关打印机处理的管理功能。
只要打印机被禁用(打印机出现故障时可能会出现此情况),您就必须启用打印机。启用打印机时,它将打印来自打印队列的请求,直到队列为空,即使打印服务拒绝打印队列中的其他请求时也是如此。
下图显示在禁用打印机时中断处理打印请求的时刻。
如何启用或禁用打印机
停止打印打印请求。
# disable [-c | -W] [-r "reason"] printer-name
disable
取消当前作业,然后禁用打印机。保存当前作业,以便在启用打印机时重新打印。
-c
取消当前作业,然后禁用打印机。将来不打印当前作业。
-W
在禁用打印机之前一直等待,直到完成当前作业。
-r "reason"
为用户提供禁用打印机的原因。只要用户通过使用 lpstat -p 命令检查打印机的状态,就会存储并显示原因。
printer-name
指定将停止打印请求的打印的打印机的名称。
注 –
无法启用或禁用打印机类。只能启用或禁用单台打印机。
开始打印打印请求。
# enable printer-name
验证是否已启用打印机。
# lpstat -p printer-name
示例启用或禁用打印机
以下示例说明如何停止打印机 luna 上的当前作业、保存该作业以便将来打印,以及提供打印机停止打印请求的打印的原因。
# disable -r "changing the form" luna
以下示例说明如何在打印机 luna 上开始打印打印请求。
# enable luna
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
指定将停止接受打印请求的打印机的名称。
只要启用打印机,就会继续打印已排队的请求。有关禁用打印机以便它停止打印的说明,请参见如何启用或禁用打印机。
开始接受打印机的打印请求。
# accept printer-name
检查打印机的状态,查看它是接受还是拒绝打印请求。
$ lpstat -p printer-name
接受或拒绝打印机的打印请求
以下示例说明如何阻止打印机 luna 接受打印请求。
# reject -r "luna is down for repairs" luna
destination "luna" will no longer accept requests
以下示例说明如何将打印机 luna 设置为接受打印请求。
# accept luna
destination "luna" now accepting requests
取消打印请求
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 命令与 -o printer 选项一起使用来查找它。
Procedure如何取消打印请求
如果要取消其他用户的打印请求,则需要成为超级用户 lp 或同等角色。
确定要取消的打印请求的请求 ID。
取消打印请求。
# cancel request-id | printer-name
request-id
指定要取消的打印请求的请求 ID。您可以使用此命令指定多个请求 ID。使用空格或逗号来分隔请求 ID。如果使用空格,请用引号将请求 ID 的列表引起来。
printer-name
指定要为其取消当前打印的打印请求的打印机。
您可以使用此命令指定多个打印机名称。使用空格或逗号来分隔打印机名称。如果您使用空格,请用引号将打印机名称列表引起来。
验证是否已取消打印请求。
$ lpstat -o printer-name
示例 取消打印请求
以下示例说明如何取消 luna-3 和 luna-4 打印请求。
$ cancel luna-3 luna-4
request "luna-3" cancelled
request "luna-4" cancelled
以下示例说明如何取消打印机 luna 上当前打印的打印请求。
# cancel luna
request "luna-9" cancelled
如何取消特定用户的打印请求
4、取消特定用户的打印请求
如果要取消其他用户的打印请求,则需要成为超级用户 lp 或同等角色。
取消特定用户的打印请求。
$ cancel -u user-list [printer-name]
-u user-list
取消指定用户的打印请求。
user-list 可以是一个或多个用户名。使用空格或逗号来分隔用户名。如果使用空格,请用双引号将名称列表引起来。
printer-name
指定要为其取消指定用户的打印请求的打印机。
printer-name 可以是一个或多个打印机名称。使用空格或逗号来分隔打印机名称。如果您使用空格,请用引号将打印机名称列表引起来。
如果不指定 printer-name,则会在所有打印机上取消特定用户的打印请求。
示例 8–8 取消特定用户的打印请求
以下示例说明如何在打印机 luna 上取消用户 george 提交的所有打印请求。
# cancel -u george luna
request "luna-23" cancelled
以下示例说明如何在所有打印机上取消用户 george 提交的所有打印请求。
# cancel -u george
request "asteroid-3" cancelled
request "luna-8" cancelled
5、其他方法
1、将lpr命令重新命名,并将原有的命令删除掉,再恢复打印功能时,将改后的命名名字重新变为原有的linux下的名字,(使用alias和unalias命令)这样可以实现打印机可以打印和不可以打印。
2、关闭打印机cups服务,service cups stop; service cups restart;