docker安装cups让打印机实现无线打印(支持PC、IOS、安卓airprint)
安装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等ARM处理器的 要选带Foomatic/foo2xqx字样的驱动,别的驱动是适配X86的 据说HP没有提供ARM的插件,我的是M1005 只能选这个能用 如果你的打印机没有驱动可以选择型号相近的带Foomatic/foo2xqx的驱动 然后点击 Add Printer添加打印机。
设置打印机默认参数 不用改 直接提交
点上图按钮 打印一张测试页,顺利的话,打印机就工作了。
查看共享的打印机地址
此时在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容器有没有打开,只要打印机通电,容器都会启动或者重启,