Hp

CUPS 堵塞列印機並停止工作?

  • June 2, 2017

我們有 2 個連接網路的 HP LaserJet 400 M401dne,我們需要它們直接從伺服器命令行列印發票 PDF。

我已將列印機添加到 CUPS 並創建了一個包含這兩個列印機的列印類(發票)。

然後我設置了一個 cron 作業,它檢查發票文件的目錄並在找到任何文件時將它們發送到列印,然後將文件移開。

lpr -P invoices -# 4 {pdf文件列表}

然而,似乎只要同時列印超過 4-5 張發票,就會發生一些事情——列印機對杯子沒有響應,杯子作業永遠留在隊列中,不列印也不取消列印。

與此同時,列印機仍然接受來自 Windows 列印系統的列印輸出,它並行使用它。

似乎可行的是取消杯子中的所有列印作業,硬體循環列印機並執行cupsdisable/cupsenable(不確定是否需要最後一個)。

但是,應該有一些解決方案,以便 CUPS 在準備好接受它們之前不會將作業發送到列印機。

可能是什麼問題?

也許我需要選擇不同的列印協議?目前我使用 CUPS 管理網頁建議的內容:

dnssd://HP%20LaserJet%20400%20M401dn%20(636536)._ipp._tcp.local/?uuid=564e4835-5030-3038-3636-c8cbb8636536

但也許我應該使用 IPP 或其他協議?如果是這樣,我如何才能找到 HP 列印機的 IPP 隊列名稱?

或者也許我應該使用不同的列印機驅動程序而不是:HP LaserJet 400 M401dne Postscript(推薦)?

UPD:lpstat - v 輸出:

device for invoices: ///dev/null
device for default: ///dev/null
device for HP_LJ_PRO_400_1: dnssd://HP%20LaserJet%20400%20M401dn%20(072E87)._ipp._tcp.local/?uuid=564e4633-4430-3134-3232-6c3be5072e87
device for HP_LJ_PRO_400_2: dnssd://HP%20LaserJet%20400%20M401dn%20(636536)._ipp._tcp.local/?uuid=564e4835-5030-3038-3636-c8cbb8636536
device for HP_HP_LaserJet_P2055dn: dnssd://HP%20LaserJet%20P2055dn%20%5B0E39EF%5D._pdl-datastream._tcp.local/
device for Ricoh_1515: lpd://192.168.100.33/lp

到目前為止,似乎最好的選擇是使用 ipp://printer-ip/ 添加這個特定的列印機。

使用通用的 HP LJ PCL6 驅動程序(PCL5 在網上某處被推薦為在 HP 列印機上列印 PDF 的最佳驅動程序)產生列印機不接受複製參數(lpr -# 參數)的問題,所以我切換回 CUPS 推薦的 Postscript那些的司機。

使用 socket:// 介面時,仍然有一些打嗝,列印作業不再接受作業,並且它們以“連接到列印機”狀態掛在隊列中,需要手動重新啟動 cups 伺服器才能消除這種情況。

切換到ipp後,這還沒有發生。

我建議在埠 9100 上使用套接字列印:

device for invoices: socket://172.16.2.40:9100

簡單的配置:

# lpadmin -p invoices -v socket://172.16.2.40:9100 -E 

引用自:https://serverfault.com/questions/853337