忘机山人
家里的打印机有十多年了,最近使用频率不是很高,所以把打印机放在柜子里了,需要用的时候再拿出来接线——每次都像在搬砖:找线、找口、开机,试打一张、再把它塞回去。
那时候还不流行网络打印,但是现在看来确实是硬伤了。那我就计划把它改成“随时可用”。不求快,不求高级,只求你在任何设备上点一下就能打,别让我再拿着电脑跟着打印机跑。
大概前前后后摸索了这些方案:
我在第三个方法上进行了改良:不在OpenWrt上折腾了,换成用懒猫微服充当CUPS驱动传递的Server。
我这套里懒猫微服就干三件事:跑CUPS(带AirPrint)、挂网盘做中转、把Windows远程入口映射出去。
懒猫应用商店里直接可以下载CUPS服务端,内置了airprint协议,省去了自己折腾docker镜像的麻烦——别人测试好的我来开箱即用。

我们需要做的就是把USB直通给这个从商店下载的CUPS Docker。
这里有个很真实的小问题:每次打印机关机/重启、或者USB重新插拔以后,容器可能会读不到这个USB外设,所以每次都要重启一下容器来重新识别USB。
这个镜像内置了很多打印机驱动,所以我们选和打印机相同或者相近的型号的驱动。

我这里识别到了联想的打印机,可以直接添加:

填写信息,选择共享这个打印机。

列表里没有打印机的驱动,所以我选了兄弟的。(尽管测试下来兼容性有些问题,总之还能全平台凑合用)

打印机信息一览:

使用心得:
全平台的单页打印几乎都没什么问题,iPhone/iPad/Mac/Windows都能打,体验上就是“家里终于有一台网络打印机了”。
不过我的联想M7400 Pro在使用过程中遇到了两个很奇怪的问题,这是联想自己闭门搞驱动导致我使用的开源驱动无法适配导致的。
然后这一套方式也用了蛮久的。
如果你的打印机型号恰好在驱动列表里,那这套方案会非常舒服;你要做的就是商店装CUPS → 接打印机 → 选型号 → 结束。
如果型号不在列表里,那就像我这样:找个相近的驱动凑合用,能用到什么程度全凭缘分(以及厂商良心)。
一般来说,打印机安装完启动就可以找到了,如果你的打印机没有发现,然后就可以试试这个办法

添加打印机,需要等待片刻弹出我需要的打印机不在列表中,然后输入IP地址进行查找。

我是一个爱折腾的人,前面的办法只适用于局域网打印,那么广域网怎么办呢?
再纠结了好久之后,我还是弄了一台Windows,一方面是给家里人使用,一旦出问题调试难度小一些,也顺便使用了联想的官方驱动,防止他再搞幺蛾子。
首先Windows通过客户端自动挂载SMB,这样就可以直接读到懒猫网盘的文件。

我对SMB挂载顺便改了名字。

大概打印流程是这样的:
收到文件 -> 传到懒猫网盘 -> 同步windows -> RDP登录WINDOW -> 直接打印
打开SMB之后,我们就可以看到从其他终端收到的文件。微信收到的文件也可以直接分享到懒猫网盘,这一步比“RDP里传文件”舒服太多了。

懒猫微服在这期间做了两件事:



这样打印机就可以直接映射到局域网,手机就可以直接搜到并且打印了。

评论
0暂无评论