斐讯设备

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

daimafengzi · 5月11日 · 2022年 · 本文共1560个字 · 预计阅读6分钟4093次已读

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

安装cups

只支持N1 贝壳云 我家云 粒子云 等arm处理器的机器,集成了大部分的驱动,支持airprint,打印机通电,再部署容器,容器装好了,浏览器打开 192.168.xx.xxx:631 打开cups控制界面
docker run \
       --name=cups \
       --restart=always \
       --net=host \
       -v /var/run/dbus:/var/run/dbus \
       -v ~/airprint_data/config:/config \
       -v ~/airprint_data/services:/services \
       --device /dev/bus \
       --device /dev/usb \
       -e CUPSADMIN="admin" \
       -e CUPSPASSWORD="password" \
       jysky007/cups:v1

代码直接全部复制到ssh界面粘贴执行即可 等待安装完毕

注意:执行命令的时候,要把打印机开机并连接到N1上面。不然执行会报错!

打开路由器http://192.168.10.1:631这个页面,点击“Administration”,这里提示要输入账号和密码,就是路由器的登陆帐号和密码。
然后点击“Find New Printers”,正常情况下就能看到自己连接着的打印机了,
然后选“Add This Printer”,
勾选“Share This Printer”前面的勾,再点击“Continue”进入下一步,
看到“Make”项里面有个“Raw”,选中后先点“Continue”,最后再点“Add Printer”进入下一步,
接着保持默认点击“Set Default Options”,打印机就添加完成了。

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

选择驱动,自带非常多的驱动, N1等ARM处理器的 要选带Foomatic/foo2xqx字样的驱动,别的驱动是适配X86的 据说HP没有提供ARM的插件,我的是M1005 只能选这个能用 如果你的打印机没有驱动可以选择型号相近的带Foomatic/foo2xqx的驱动 然后点击 Add Printer添加打印机。

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

设置打印机默认参数 不用改 直接提交

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

点上图按钮 打印一张测试页,顺利的话,打印机就工作了。

查看共享的打印机地址

此时在http://192.168.xx.xx:631的“Printers”页面可以看到自己添加的打印机了,点击自己的打印机,可以在地址栏看到当前打印机的网络地址比如http://192.168.10.1:631/printers/EPSON_LQ-630K,复制这个地址。

电脑上添加打印机

在控制面板的打印机里面,添加打印机,选择“添加网络打印机”,点“我需要的打印机不在列表中”,再选“按名称选择共享打印机”,输入刚才复制的地址http://192.168.10.1:631/printers/EPSON_LQ-630K,下一步就是添加自己打印机的驱动,这里不多说明了。

杂七杂八的问题

实测 安卓 IOS 都能搜索到打印机。不用安装第三方软件,直接系统自带打印服务里就能搜索到打印机。手机打印建议安装office,不要用wps wps打印好像有兼容问题。

有个问题,打印机如果断电再开机, 发送打印任务就无法打印了,估计是容器识别不到打印机 必须重启cups,解决办法:
进入文件目录/etc/hotplug.d/usb,新建一个10-usb_printer
文件内容填写:

#!/bin/sh
docker restart cups
docker exec cups cupsaccept M1005

记得把脚本文件的权限改成0777 ,这样,mdev程序检测到打印机接入,就会触发执行脚本,脚本执行cups重启,很完美,无论cups容器有没有打开,只要打印机通电,容器都会启动或者重启,

0 条回应