web-dev-qa-db-ja.com

CUPSのデフォルトのプリンターエラーポリシーを変更する

複数のLinuxアプリケーションサーバーでCUPS印刷を実行しています。システムはRHELまたはCentOSバージョン4、5、または6です。EL5を開始すると、CUPSプリントサーバーはデフォルトでエラーポリシーに設定され、エラーまたは中断(USBケーブルの切断、ネットワークエラー、紙詰まりなど)が発生すると、基本的にプリンターが無効になります。 )。これは、/etc/cups/printers.confファイルのプリンターのスタンザにあるErrorPolicyディレクティブです。

<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-jobstop-printerではなくCUPSでデフォルトのErrorPolicyにする方法を教えてください。

8
ewwhite

まさにこの動作のために、CUPS 1.3への解決でクローズされた機能リクエストがあります。 CUPSバグ追跡システムへのリンク: http://www.cups.org/str.php?L1871

CUPSオンラインドキュメントでこの動作をサポートするドキュメントは見つかりませんでしたが、ダウンロードしたCUPS 1.5.2ソースtarballのドキュメントは、cupsd.conf構成ファイルからグローバル 'ErrorPolicy'宣言が機能することを示しています。

Ubuntu CUPS 1.5.2のcupsd.confドキュメントからの抜粋:

 CUPS 1.3/Mac OS X 10.5 
 
 ErrorPolicy 
 
例
 
 * ErrorPolicy abort-job 
 * ErrorPolicy retry-job 
 * ErrorPolicy stop-printer 
 
 Description 
 
 ErrorPolicyディレクティブは、使用されるデフォルトのポリシーを定義します
バックエンドがプリンターに印刷ジョブを送信できない場合。
 
次の値がサポートされています。
 
 * abort-job-ジョブを中止し、キュー内の次のジョブに進みます
 * retry-job-N秒待ってからジョブを再試行します。 cupsd.conf 
 JobRetryIntervalディレクティブは、N 
の値を制御します。* retry-this-job-現在のジョブを即座に無期限に再試行します。今後の印刷のためにジョブを保持します; 
これはデフォルト値です

(注:Apple Inc.のドキュメンテーション著作権および判読可能に再フォーマットされています。)

7
Magellan