Lpd

如何在不本地安裝 CUPS 伺服器的情況下列印到遠端 LPD 列印伺服器

  • July 30, 2018

我有一台 linux (Fedora 22) 機器和兩台熱敏列印機,每台列印機都連接了 Digitus 列印伺服器。所有人都在同一個區域網路上。Digitus 列印伺服器每個都執行 LPD 守護程序,並且每個都配置為僅提供一個隊列: lpd://192.168.1.2/queuelpd://192.168.1.3/queue

我只是希望能夠僅使用 LPR 客戶端(沒有完整的 CUPS 安裝)將文件從 Fedora 傳輸到 LPD 伺服器。我嘗試了 cups-client (dnf install cups-client),它安裝 lpr 二進製文件並將遠端列印伺服器添加到我的 /etc/printcap,但Bad file descriptor每當我執行 lpr 時都會出錯。

有任何想法嗎?

我找到了一個非常好的解決方案:rlpr。(這裡是任何感興趣的人的連結。向下滾動到頁面底部的 rlpr,儘管所有條目都是舊寶石)

rlpr 完全符合我的需要:它將 LPR 協議直接與遠端 LPD 守護程序對話,甚至無需在本地聲明遠端列印機(例如 /etc/printcap):

rlpr --printer=queue@remotehost file_to_print

我下載了 tar.gz,配置,製作並只使用了二進製文件(我什至沒有安裝)。

使用像 rlpr 這樣的僅限客戶端的功能時要記住的一件事是,如果它是非互動式批處理或類似的生成列印請求的東西,並且客戶端系統和列印機/假離執行緒序之間存在網路中斷,那麼充其量是列表將失去,最壞的情況是批處理作業會失敗。

這是本地守護程序功能(如 CUPS/LPRng/classic LPD)的原因之一,其中 lpr 客戶端實際上與偵聽 127.0.0.1:515 或 :631 的本地守護程序對話,並通過該守護程序代理請求:守護程序提供儲存轉發。

沒有網路中斷或故障可以取消該過程。客戶端成功送出列印請求,被本地守護程序接受,然後 lpd/whatever 守護程序繼續嘗試將​​列表轉發到其最終目的地,直到成功。列表不會失去,同時批處理作業/無論成功繼續進行。

而使用 rlpr,如果網路出現故障 - 你就不走運了。

如果您使用 lpr.cups 客戶端,但使用 -H 將其直接指向遠端列印假離執行緒序/列印機,這也是一個問題。失敗是不可恢復的。

互動式使用不是問題,而是自動化流程要記住的問題。

引用自:https://unix.stackexchange.com/questions/257563