PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机
前言:
家里使用
Canon LBP6030
的USB印表机,连接住路由器(Youku1)的Padavan(老毛子)系统实现无线打印,但只能在Windows的平台实现无线打印,然而Apple的系统(如: macOS、IOS)就无法实现,难免有少许不便。
在
SMZDM
发现这篇贴文N1刷armbian变身打印服务器,支持全平台无线打印@PC扫瞄 ,可以安装CUPS
软件成为印表机伺服器系统,就有了以下的内容记录。
目录内容:
- [实现条件]
- [PVE下安装LXC容器系统(Debian)]
- [LXC直通USB端口]
- [LXC(Debian)安装CUPS软件及印表机驱动]
- [多个系统平台实现印表机安装及列印测试]
- [Windows 10 系统安装印表机]
- [Windows 7 系统安装印表机]
- [macOS 系统安装印表机]
- [android 系统安装印表机]
实现条件:
-
可以安装
CUPS
软件的平台如: armbian、ubuntu、centos等,我选取Debian Linux平台
-
可支援平台的印表机驱动程式
如果在OpenPrinting找到支援的驱动程式可忽略这一步
PVE下安装LXC容器系统(Debian)
LXC
提供了一个作业系统级的虚拟化环境,基于Linux
的系统上安装。而免费的
PVE
虚拟伺服器可以很方便地建立一个全新共用内核的Linux
系统(即罐头系统)
下载CT
模板:
LXC
系统的建立
新建的LXC系统暂不用启动
LXC直通USB端口:
印表机
Canon LBP6030
的USB口和PVE
主机的USB口对接
lsusb
查看连接的USB装置
lsusb
看到Bus 001
内的Device 003
是Canon
查看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
LXC
的ID
是100
#配置文件路径是:/etc/pve/lxc/100.conf
189:* rwm
内的装置 # 允许读、写、挂载挂载整个
Bus 001
USB端口 # 这样的好处是就算印表机的USB unplug多次而变动Device的编号也不影响挂载
启动新建的LXC
容器
在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
列印测试页面
安装
CUPS
软件成为印表机伺服器系统的设定部份已经完成
多个系统平台实现印表机安装及列印测试:
CUPS
软件部署完成后可实现多个平台共享印表机了,在以下范例中我测试了
Windows7
、Windows10
、macOS
、IOS
及android
均可实现无线打印功能。
Windows 10 系统安装印表机:
透过搜寻安装印表机
手动安装印表机
如透过搜寻找不到印表机 或在跨网段的网络就需要手动安装印表机
浏览器开启http://10.1.1.253:631
CUPS
版面,复制路径
贴上路径 # 注意不能为https
Windows 7 系统安装印表机:
以手动安装印表机,需预先准备好印表机在相对应的Windows驱动程式
留意贴上的路径不能为https
选取预先准备好的Windows驱动程式
macOS 系统安装印表机:
android 系统安装印表机:
测试的
android
装置是OnePlus 6
,在软件商店安装Mopria Print Service
app。
结语:
相信最困难的部份应该是印表机的驱动程式安装,如果在OpenPrinting找到相对应的厰商及型号,就会相对简单。
使用
PVE
的LXC
安装CUPS
软件的好处是不用额外多一部Linux
装置(或armbian
盒子)去配置印表机伺服器,而且Canon
官方也有相应的Linux
驱动支持。
别外利用
zero-tier
等软件手动安装印表机,可实现远端(跨地域)列印。如: 在公司可以直接存取家里的印表机列印文件。