我在许多多用户 Linux 应用服务器上运行 CUPS 打印。系统是 RHEL 或 CentOS 版本 4、5 或 6。启动 EL5 时,CUPS 打印服务器默认采用错误策略,该策略基本上会在出现错误或中断(USB 电缆断开、网络错误、卡纸等)时禁用打印机。这是文件ErrorPolicy
中打印机节中的指令/etc/cups/printers.conf
。
<Printer backupZ4>
Info backupZ4
DeviceURI socket://backupZ4:9100
State Idle
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>
ErrorPolicy retry-job
我通常在配置文件中或通过命令行创建打印机时将此字段更改为手动:
lpadmin -p backupZ4 -v socket://backupZ4:9100 -o printer-error-policy=retry-job -E
当其他用户或供应商管理打印系统时,他们经常会忘记这一更改,这会导致打印机在出现卡纸或需要使用 进行纠正的其他故障后被硬禁用cupsenable
。
我想知道如何制定retry-job
CUPS 中的默认 ErrorPolicy stop-printer
。
答案1
针对此行为,有一个功能请求已关闭并已解决,适用于 CUPS 1.3。CUPS 错误跟踪器链接:http://www.cups.org/str.php?L1871
我在 CUPS 在线文档中没有找到支持此行为的文档,但是我下载的 CUPS 1.5.2 源 tarball 中的文档表明全局“ErrorPolicy”声明可以在 cupsd.conf 配置文件中起作用。
摘自 Ubuntu CUPS 1.5.2 中的 cupsd.conf 文档:
CUPS 1.3/Mac OS X 10.5 错误策略 例子 * ErrorPolicy 中止作业 * ErrorPolicy 重试作业 * ErrorPolicy 停止打印机 描述 ErrorPolicy 指令定义了当 后端无法向打印机发送打印作业。 支持以下值: * abort-job - 中止该作业并继续执行队列中的下一个作业 * retry-job - 等待 N 秒后重试作业;cupsd.conf JobRetryInterval 指令控制 N 的值 * retry-this-job – 立即无限期地重试当前作业。 * stop-printer-停止打印机并保留作业以供将来打印; 这是默认值
(注:文档版权归 Apple Inc. 所有,并已重新格式化以便于阅读。)