web-dev-qa-db-ja.com

特定のジョブの印刷に時間がかかるCUPSサーバー

Windowsマシンが印刷できるCUPSサーバーをセットアップしました。 Adobe Acrobat Proを除いて、すべてがうまく機能しているようです(Microsoft Officeおよび私が試した他のいくつかのプログラム)。印刷ジョブが正常に実行されるまでには、長い時間がかかります(場合によっては約40分)。

CUPS LogLevelをDebugに設定しましたが、これらは常にハングする前の最後の数行であることがわかりました。

...
D [25/May/2012:15:09:24 -0700] cupsdSetBusyState: Not busy
D [25/May/2012:15:09:24 -0700] cupsdReadClient: 12 POST /printers/printer HTTP/1.1
D [25/May/2012:15:09:24 -0700] cupsdSetBusyState: Active clients
D [25/May/2012:15:09:24 -0700] cupsdAuthorize: No authentication data provided.
D [25/May/2012:15:09:24 -0700] cupsdReadClient: 12 1.0 Print-Job 2

その最後の行の後、しばらくの間何も起こりません。

何も、つまり、これらの行を除いて、何度も何度も繰り返されました:

D [25/May/2012:15:15:03 -0700] Report: clients=1
D [25/May/2012:15:15:03 -0700] Report: jobs=72
D [25/May/2012:15:15:03 -0700] Report: jobs-active=0
D [25/May/2012:15:15:03 -0700] Report: printers=2
D [25/May/2012:15:15:03 -0700] Report: printers-implicit=0
D [25/May/2012:15:15:03 -0700] Report: stringpool-string-count=8555
D [25/May/2012:15:15:03 -0700] Report: stringpool-alloc-bytes=11344
D [25/May/2012:15:15:03 -0700] Report: stringpool-total-bytes=163552
D [25/May/2012:15:15:15 -0700] cupsdNetIFUpdate: "lo" = localhost:631
D [25/May/2012:15:15:15 -0700] cupsdNetIFUpdate: "eth0" = <server-ip>:631
D [25/May/2012:15:15:15 -0700] cupsdNetIFUpdate: "lo" = localhost:631
D [25/May/2012:15:15:15 -0700] cupsdNetIFUpdate: "eth0" = <server-ip>%eth0:631

これらの行が表示されると、任意の(そして変化する)時間が経過するまで、これらは繰り返され続け、ドキュメントはすぐに印刷を開始します。

D [25/May/2012:15:15:35 -0700] Print-Job http://<server-ip>:631/printers/printer
D [25/May/2012:15:15:35 -0700] [Job ???] Auto-typing file...
I [25/May/2012:15:15:35 -0700] [Job ???] Request file type is application/postscript.
D [25/May/2012:15:15:35 -0700] cupsdMarkDirty(----J-)
...

ただし、Microsoft Wordから印刷しても、そのようなハングは発生しません。

...
D [25/May/2012:14:17:25 -0700] cupsdReadClient: 17 1.0 Print-Job 2
D [25/May/2012:14:17:25 -0700] Print-Job http://<server-ip>:631/printers/printer
...

ただし、Wiresharkとtcpdumpは、通信が常に行われていることを示しています。

この問題を解決する方法について何かアイデアはありますか?

[〜#〜]編集[〜#〜]

基本的に同じドキュメントを再度印刷しました。今回は、ハングする前に別の何かを観察しました。

D [25/May/2012:15:50:02 -0700] cupsdReadClient: 17 POST /printers/printer HTTP/1.1
D [25/May/2012:15:50:02 -0700] cupsdAuthorize: No authentication data provided.
D [25/May/2012:15:50:02 -0700] cupsdReadClient: 17 1.0 Print-Job 2
D [25/May/2012:15:50:02 -0700] cupsdReadClient: 21 1.0 Get-Jobs 10
D [25/May/2012:15:50:02 -0700] Get-Jobs http://<server-ip>:631/printers/printer
D [25/May/2012:15:50:02 -0700] Returning IPP successful-ok for Get-Jobs (http://<server-ip>:631/printers/printer) from <client-ip>
D [25/May/2012:15:50:23 -0700] Report: clients=4
D [25/May/2012:15:50:23 -0700] Report: jobs=73
D [25/May/2012:15:50:23 -0700] Report: jobs-active=0
D [25/May/2012:15:50:23 -0700] Report: printers=2
...
D [25/May/2012:15:54:23 -0700] Report: stringpool-alloc-bytes=11376
D [25/May/2012:15:54:23 -0700] Report: stringpool-total-bytes=167048
D [25/May/2012:15:54:30 -0700] Closing client 12 after 300 seconds of inactivity...
D [25/May/2012:15:54:30 -0700] cupsdCloseClient: 12
D [25/May/2012:15:54:30 -0700] Closing client 13 after 300 seconds of inactivity...
D [25/May/2012:15:54:30 -0700] cupsdCloseClient: 13
D [25/May/2012:15:54:40 -0700] cupsdNetIFUpdate: "lo" = localhost:631
D [25/May/2012:15:54:40 -0700] cupsdNetIFUpdate: "eth0" = <server-ip>:631
...
D [25/May/2012:15:55:23 -0700] Report: stringpool-total-bytes=167048
D [25/May/2012:15:55:32 -0700] Print-Job http://<server-ip>:631/printers/printer
D [25/May/2012:15:55:32 -0700] [Job ???] Auto-typing file...
I [25/May/2012:15:55:32 -0700] [Job ???] Request file type is application/postscript.
D [25/May/2012:15:55:32 -0700] cupsdMarkDirty(----J-)
...

ファイルは15:56にプリンターから出てきましたが、これが遅延の最大の部分のようです。

編集2

Adobe AcrobatからXPSファイルに印刷してから、XPSファイルからCUPSサーバープリンターに印刷しても、このような遅延は発生しないことに注意してください。したがって、原因はAdobeAcrobatであるように見えます。

[〜#〜]ソリューション[〜#〜]

私はついに、プリンター用の非汎用のポストスクリプトドライバー(Windowsの場合)を選択することで問題を解決しました。

1
wrongusername

Adobe Acrobatによって生成される印刷ファイルのサイズを見ましたか?

Wordと比較して非常に大きい場合、これは遅延を説明する可能性があります。

1
harrymc