PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

2021-08-03 12:47:35 22点赞 84收藏 17评论

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机

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模板:

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

LXC系统的建立

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

新建的LXC系统暂不用启动

#####################

LXC直通USB端口:

印表机Canon LBP6030的USB口和PVE主机的USB口对接

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

lsusb查看连接的USB装置

lsusb

看到Bus 001内的Device 003是Canon

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

查看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的编号也不影响挂载

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

启动新建的LXC容器

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

在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

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

列印测试页面

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

安装CUPS软件成为印表机伺服器系统的设定部份已经完成

#####################

多个系统平台实现印表机安装及列印测试:

CUPS软件部署完成后可实现多个平台共享印表机了,

在以下范例中我测试了Windows7、Windows10、macOS、IOS及android均可实现无线打印功能。

Windows 10 系统安装印表机:

透过搜寻安装印表机

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

手动安装印表机

如透过搜寻找不到印表机 或在跨网段的网络就需要手动安装印表机

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

浏览器开启http://10.1.1.253:631 CUPS版面,复制路径

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

贴上路径 # 注意不能为https

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

Windows 7 系统安装印表机:

以手动安装印表机,需预先准备好印表机在相对应的Windows驱动程式

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

留意贴上的路径不能为https

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

选取预先准备好的Windows驱动程式

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

macOS 系统安装印表机:

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

android 系统安装印表机:

测试的android装置是OnePlus 6,在软件商店安装Mopria Print Service app。

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机(多图)

#####################

结语:

相信最困难的部份应该是印表机的驱动程式安装,如果在OpenPrinting找到相对应的厰商及型号,就会相对简单。

使用PVE的LXC安装CUPS软件的好处是不用额外多一部Linux装置(或armbian盒子)去配置印表机伺服器,而且Canon官方也有相应的Linux驱动支持。

别外利用zero-tier等软件手动安装印表机,可实现远端(跨地域)列印。如: 在公司可以直接存取家里的印表机列印文件。

#####################

参考资料:

展开 收起
17评论

  • 精彩
  • 最新
  • 还印表机,咋不印钞机呢? [喜极而泣] [吐舌]

    校验提示文案

    提交
    Windows的字眼是「印表機」,是打印機,列印機,Printer你理解就好。

    校验提示文案

    提交
    收起所有回复
  • LBP机器在非X86设备上没有驱动啊

    校验提示文案

    提交
    好像是這麼回事,官方驅動好像有原碼,應該可以編譯吧!

    校验提示文案

    提交
    收起所有回复
  • 都装虚拟机了,不如装个windows系统再共享打印机方便。

    校验提示文案

    提交
    Windows占用較多資源.

    校验提示文案

    提交
    收起所有回复
  • Bus 001 下有多个usb设备,怎样能够只直通其中一个?
    另,非原生usb支持吗?(usb转并口)
    谢谢

    校验提示文案

    提交
    1. 可以單個設備而不是群組,但插撥變動後可以編號不一樣而影響影射USB裝置。
    2. PVE支持就支持。

    校验提示文案

    提交
    收起所有回复
  • 加群组,有什么意义?
    可以到寻找打印机的那一步,但是本地打印机里没有canon打印机的选项

    校验提示文案

    提交
    貼內容也有解釋, 挂载整个Bus 001 USB端口(即群組) # 这样的好处是就算印表机的USB 多次插撥而变动Device的编号也不影响挂载

    校验提示文案

    提交
    收起所有回复
  • 楼主,为啥前半截讲装lxc下的debian,后半截扭头变成docker了?

    校验提示文案

    提交
    一直是LXC的container. @docker字眼是LXC的主機名稱。

    校验提示文案

    提交
    收起所有回复
  • 大佬, 为啥挂在了,cups还是没有它,LXC搞了2天了,始终无法显示打印机,虚拟系统,直连就可以,但是太大了,想搞一个小系统LXC

    校验提示文案

    提交
    因為PVE新的版本是使用"lxc.cgroup2.devices.allow: c 189:* rwm" 了, 而不是cgroup. 所以要跟住更新。

    校验提示文案

    提交
    收起所有回复
  • 难得有LXC的文章。不过这个和docker 有多大区别?

    校验提示文案

    提交
  • 我在centos下装了cups2.3,手动设置可以打印,但是mac跟iphone都发现不了是啥情况?

    校验提示文案

    提交
  • 大大 能解决 打印机断电后 不自动加载驱动问题么?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
84
扫一下,分享更方便,购买更轻松