Я использую печать CUPS на нескольких многопользовательских серверах приложений Linux. Это системы 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
ErrorPolicy по умолчанию в CUPS по сравнению с stop-printer
.
Именно для этого поведения есть запрос функции, который был закрыт с разрешением до CUPS 1.3. Ссылка на трекер ошибок CUPS: http://www.cups.org/str.php?L1871
Я не нашел документации для поддержки этого поведения в онлайн-документации CUPS, но документация в загруженном мною архиве исходного кода CUPS 1.5.2 указывает, что глобальное объявление ErrorPolicy будет работать из файла конфигурации cupsd.conf.
Выдержка из документации cupsd.conf в Ubuntu CUPS 1.5.2:
CUPS 1.3/Mac OS X 10.5 ErrorPolicy Examples * ErrorPolicy abort-job * ErrorPolicy retry-job * ErrorPolicy stop-printer Description The ErrorPolicy directive defines the default policy that is used when a backend is unable to send a print job to the printer. The following values are supported: * abort-job - Abort the job and proceed with the next job in the queue * retry-job - Retry the job after waiting for N seconds; the cupsd.conf JobRetryInterval directive controls the value of N * retry-this-job - Retry the current job immediately and indefinitely. * stop-printer - Stop the printer and keep the job for future printing; this is the default value
(Примечание. Документация, принадлежащая Apple Inc., переформатирована для удобства чтения.)