如何透過網路列印和掃描
前言
簡單來說就是因為家中的印表機和掃描器放置的位置距離電腦有段距離,又不希望每次需要使用時都需要搬動電腦來連接,因此起了架設伺服器來分享的想法。
設置
Print Server
建議不要使用性能太差的單片機來架設Print Server,之前我使用過orange pi zero,因為性能太差,導致解碼Ghostscript需要花很多時間,印一頁需要超過一分鐘來渲染。
- 安裝cups
1 |
|
- 編輯cups設定檔(
/etc/cups/cupsd.conf
)
1 |
|
- 將自己的帳號加入lpadmin群組,才能使用帳號登入
1 |
|
- 重啟cups服務即完成架設,
systemctl restart cups.service
- 插上印表機,並在網頁中設定印表機
選擇Add Printer,接著按照指示設定即可,需在最後一步將Share Printer勾起,之後就可以直接使用對應的位置直接進行影印了,不過windows應該可以在同一個Lan底下直接偵測到。
如:http://x.x.x.x:631/printers/Samsung_ML-1710 (使用http因為https的證書沒有簽名,windows預設會拒絕,linux就沒差了)
Remote scan
在遠端掃描這方面使用的是SANE(Scanner Access Now Easy),它支援透過網路進行遠端掃描
服務端
- 安裝必要的軟體
1 |
|
- 設定允許使用掃描的IP,編輯設定檔(
/etc/sane.d/saned.conf
)
1 |
|
1 |
|
- 插上掃描器,確認掃描器的權限正確( 如果之前已經插上掃描器,這一步沒看到+號,可以嘗試重新插拔掃描器,讓udev rule偵測到硬體變化 )
1 |
|
應該可以看到掃描器對應的usb設備的權限後面有一個+,udev rule會在設備插入的時候加上權限
- 檢查掃描器是否被sane偵測到
1 |
|
- 如果上面的正常被檢查到,那SANE的服務端大概就配置成功了
客戶端( Linux )
- 按照對應的distro安裝sane,(例:
sudo pacman -S sane
) - 編輯
/etc/sane.d/dll.conf
,將net的註解取消 - 編輯
/etc/sane.d/net.conf
,將SANE伺服器的IP加入,echo x.x.x.x >> /etc/sane.d/net.conf
- 使用
scanimage -L
,確認是否成功連線遠端掃描器
客戶端( Windows )
Windows上有兩種方案可以使用
- 使用wiasane,他是一個驅動,可以把SANE的遠端掃描器變成Windows下的WIA設備,但是需要自己編譯,目前我沒找到編譯好的執行檔
- 使用SaneTwain,這個掃描軟體可以直接連線遠端的SANE伺服器,直接填入IP即可開始掃描
參考
如何透過網路列印和掃描
https://www.zenwen.eu.org/how-to-print-and-scan-over-network/