Login

Navigation

This articles is published 1011 days ago and last updated 863 days ago, some information may be out of date.

PVE的LXC容器系統安裝CUPS軟件,實現多平台共享的印表機

Canon-LBP3060-Cover.jpg

前言:
家裡使用Canon LBP6030USB印表機,連接住路由器(Youku1)的Padavan(老毛子)系統實現無線打印,但只能在Windows的平台實現無線打印,然而Apple的系統(如: macOSIOS)就無法實現,難免有少許不便。
SMZDM發現這篇貼文N1刷armbian變身打印服務器,支持全平台無線打印@PC掃瞄 ,可以安裝CUPS軟件成為印表機伺服器系統,就有了以下的內容記錄。


目錄內容:


實現條件:
  • 可以安裝CUPS軟件的平台

    如: armbianubuntu、centos等,我選取Debian Linux平台
  • 可支援平台的印表機驅動程式

    如果在OpenPrinting找到支援的驅動程式可忽略這一步

返回目錄內容


PVE下安裝LXC容器系統(Debian)
LXC 提供了一個作業系統級的虛擬化環境,基於 Linux 的系統上安裝。

而免費的PVE虛擬伺服器可以很方便地建立一個全新共用內核的Linux系統(即罐頭系統)

下載CT模板:

2021-08-01_180807.png

2021-08-01_180852.png

LXC系統的建立

2021-08-01_180903.png

2021-08-01_180951.png

2021-08-01_181002.png

2021-08-01_181008.png

2021-08-01_181014.png

2021-08-01_181016.png

2021-08-01_181030.png

2021-08-01_181037.png

2021-08-01_181102.png

新建的LXC系統暫不用啟動

返回目錄內容


LXC直通USB端口:
印表機Canon LBP6030USB口和PVE主機的USB口對接

2021-08-01_181144.png

lsusb查看連接的USB裝置

lsusb

看到Bus 001內的Device 003Canon

2021-08-01_181251.png

查看Canon裝置的數字編號是189

ls -al /dev/bus/usb/001
透過cgroup允許LXC存取PVE的USB裝置
cat >> '/etc/pve/lxc/100.conf' << EOF
lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/bus/usb/001 dev/bus/usb/001 none bind,optional,create=dir
EOF
LXCID100 #配置文件路徑是: /etc/pve/lxc/100.conf

189:* rwm 內的裝置 # 允許讀、寫、掛載

掛載整個Bus 001 USB端口 # 這樣的好處是就算印表機的USB unplug多次而變動Device的編號也不影響掛載

2021-07-29_195234.png

啟動新建的LXC容器

2021-08-01_181325.png

LXC容器內的Console查看是否已經掛載成

dmesg | grep -in 'canon'
1617:[3489934.461195] usb 1-1: Manufacturer: Canon,Inc.
1837:[3494585.821378] usb 1-1: Manufacturer: Canon,Inc.
看到Manufacturer: Canon,Inc. 代表已成功在LXC容器內連入到USB印表機

返回目錄內容


LXC(Debian)安裝CUPS軟件及印表機驅動:
CUPS(Common UNIX Printing System,通用Unix列印系統)是Fedora Core3中支援的列印系統,它主要是使用IPP(Internet Printing Protocol)來管理列印工作及佇列,但同時也支援LPD(Line Printer Daemon)和SMB(Server Message Block) 以及AppSocket等通信協定。來自百度

安裝CUPS軟件

sudo apt update && sudo apt install -y cups

開啟CUPS 的遠端存取權限

sudo cupsctl --remote-any

將當前的使用者加入到lpadmin群組

sudo usermod -aG lpadmin $USER

如果在OpenPrinting找到支援的印表機,可忽略驅動程式這一步

下載及安裝Canon LBP6030的印表機驅動程式

wget https://gdlp01.c-wss.com/gds/0/0100005950/10/linux-UFRIILT-drv-v500-uken-18.tar.gz && tar xzvf linux-UFRIILT-drv-v500-uken-18.tar.gz && sudo dpkg -i ./linux-UFRIILT-drv-v500-uken/64-bit_Driver/Debian/cnrdrvcups-ufr2lt-uk_5.00-1_amd64.deb && rm -rf linux-UFRIILT-drv-v500-uken linux-UFRIILT-drv-v500-uken-18.tar.gz

瀏覽器輸入https://10.1.1.253:631/admin/

LXC系統的IP地址是: 10.1.1.253

2021-08-02_084618.png

2021-08-02_084627.png

2021-08-02_084631.png

2021-08-02_084648.png

2021-08-02_084707.png

2021-08-02_084727.png

2021-08-02_084744.png

2021-08-01_180521.png

列印測試頁面

TestPage.png

安裝CUPS軟件成為印表機伺服器系統的設定部份已經完成

返回目錄內容


多個系統平台實現印表機安裝及列印測試:
CUPS軟件部署完成後可實現多個平台共享印表機了,

在以下範例中我測試了Windows7Windows10macOSIOSandroid均可實現無線打印功能。

Windows 10 系統安裝印表機:

透過搜尋安裝印表機

CUPS_WIN10_07-30_01.PNG

CUPS_WIN10_07-30_02.PNG

CUPS_WIN10_07-30_03.PNG

CUPS_WIN10_07-30_04.PNG

CUPS_WIN10_07-30_05.PNG

CUPS_WIN10_07-30_06.PNG

CUPS_WIN10_07-30_07.PNG

CUPS_WIN10_07-30_08.png

手動安裝印表機

如透過搜尋找不到印表機 或在跨網段的網絡就需要手動安裝印表機

CUPS_WIN10_08-02_01.PNG

CUPS_WIN10_08-02_02.PNG

瀏覽器開啟http://10.1.1.253:631 CUPS版面,複製路徑

CUPS_WIN10_08-02_03.PNG

貼上路徑 # 注意不能為https

CUPS_WIN10_08-02_04.PNG

CUPS_WIN10_08-02_05.png

返回目錄內容

Windows 7 系統安裝印表機:
手動安裝印表機,需預先準備好印表機在相對應的Windows驅動程式

CUPS_WIN7_07-30_01.PNG

CUPS_WIN7_07-30_02.PNG

CUPS_WIN7_07-30_03.PNG

CUPS_WIN7_07-30_04.PNG

CUPS_WIN7_07-30_05.PNG

留意貼上的路徑不能為https

CUPS_WIN7_07-30_06.PNG

CUPS_WIN7_07-30_07.PNG

CUPS_WIN7_07-30_08.PNG

選取預先準備好的Windows驅動程式

CUPS_WIN7_07-30_09.PNG

CUPS_WIN7_07-30_10.PNG

CUPS_WIN7_07-30_11.PNG

CUPS_WIN7_07-30_12.png

返回目錄內容

macOS 系統安裝印表機:

CUPS_MACOS_ 2021-07-31 上午9.00.59.PNG

CUPS_MACOS_ 2021-07-30 下午6.36.37.PNG

CUPS_MACOS_ 2021-07-30 下午6.36.44.png

CUPS_MACOS_ 2021-07-30 下午6.37.00.PNG

CUPS_MACOS_ 2021-07-30 下午6.37.08.PNG

CUPS_MACOS_ 2021-07-31 上午8.57.49.PNG

CUPS_MACOS_ 2021-07-31 上午8.58.02.PNG

CUPS_MACOS_ 2021-07-31 上午8.59.44.PNG

返回目錄內容

android 系統安裝印表機:
測試的android裝置是OnePlus 6,在軟件商店安裝Mopria Print Service app。

CUPS_ANDROID__01.JPG

CUPS_ANDROID__02.JPG

CUPS_ANDROID__03.JPG

CUPS_ANDROID__04.JPG

CUPS_ANDROID__05.PNG


返回目錄內容

Linux(Deepin)系統安裝印表機:

CPUS_Linux_01.png

CPUS_Linux_02.png

CPUS_Linux_03.png

CPUS_Linux_04.png

CPUS_Linux_05.jpg

返回目錄內容">返回目錄內容返回目錄內容" title="Paragraph Link" class="post-toc-link no-line">

結語:
相信最困難的部份應該是印表機的驅動程式安裝,如果在OpenPrinting找到相對應的厰商及型號,就會相對簡單。
使用PVELXC安裝CUPS軟件的好處是不用額外多一部Linux裝置(或armbian盒子)去配置印表機伺服器,而且Canon官方也有相應的Linux驅動支持。
別外利用zero-tier等軟件手動安裝印表機,可實現遠端(跨地域)列印。如: 在公司可以直接存取家裡的印表機列印文件。

參考資料:

USB Passthrough to an LXC (Proxmox)

OpenPrinting

N1刷armbian變身列印伺服器,支援全平臺無線列印@PC掃描