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

LG5 2023-7-14 230 7/14

注:只支持N1 贝壳云 我家云 粒子云 等arm处理器的机器,集成了大部分的驱动,支持airprint,打印机通电,再部署容器,容器装好了,浏览器打开 192.168.1.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盒子] docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)

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

 

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

Name栏是给打印机命名,随便写,我就写M1005简单,其它不用写,下面sharing打勾,这样才能共享,点按钮下一步

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

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

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

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

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

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

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

然后进win10 搜索打印机,正常的话就能搜索到了。

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

有个问题,打印机如果断电再开机, 发送打印任务就无法打印了,估计是容器识别不到打印机 必须重启cups,
我的我家云装的是灯大的小钢炮系统,管理热插拔的是mdev, 解决方法是 利用mdev程序检测到打印机接入自动执行脚本让cups重启,
在/etc/mdev.conf 文件的最底下添加一行

usb/lp0       0:0 660   @/root/cupsstart.sh

然后再在root目录里添加一个脚本名字 cupsstart.sh 内容

#!/bin/sh
docker restart cups

记得把脚本文件的权限改成0777 ,这样,mdev程序检测到打印机接入,就会触发执行脚本,脚本执行cups重启,很完美,无论cups容器有没有打开,只要打印机通电,容器都会启动或者重启,
(PS:后来发现这段代码有个小瑕疵,会导致后面无法再添加新打印机,不过估计这不是问题,因为家里也就一台打印机,原因是,再添加打印机的时候会导致/dev/usb/lp0 这个节点重新挂载,从而触发脚本重启cups,导致添加打印机界面无法进入,这是个死循环,我找到了完美的解决方法,
方法一。就是不用节点名字/usb/lp0来触发 改为打印机的型号参数 即用

$PRODUCT=3f0/3b17/100    0:0    660      @/root/cupsstart.sh

代替上面那行代码,此处3f0/3b17/100 是打印机的型号参数,可以执行lsusb命令查看。
方法二,就是如果真要再添加打印机或者修改打印机属性,就临时把那个脚本改个名字,这样就不会执行重启cups命令了 嘿嘿。)

如果你的N1是armbian系统的话估计要用udev实现开机重启cups (注意 此法只针对docker版cups,如果是原生armbian直装cups,应该不存在这些问题) 具体可参考博客 https://20122012.xyz/index.php/archives/157/

转自:docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)
https://www.right.com.cn/forum/thread-8220309-1-1.html
(出处: 恩山无线论坛)

- THE END -
Tag:

LG5

12月09日10:52

最后修改:2023年12月9日
0

非特殊说明,本博所有文章均为博主原创。