旧 USB 打印机能不能变成手机、电脑都能用的网络打印机,关键在于共享服务、USB 设备识别和驱动兼容。本文记录我用 CUPS 与 AirPrint 改造联想打印机的过程,也保留大图片失败、页数异常等实际问题。CUPS 运行在懒猫微服上;遇到驱动障碍时,我又用 Windows 官方驱动和 RDP 做了备用方案。

本文属于「懒猫微服实战入门 · 第三十五篇」。查看系列目录 · 懒猫微服的设备接入与家庭服务。

家里的打印机有十多年了,最近使用频率不是很高,所以把打印机放在柜子里了,需要用的时候再拿出来接线——每次都像在搬砖:找线、找口、开机,试打一张、再把它塞回去。

那时候还不流行网络打印,但是现在看来确实是硬伤了。那我就计划把它改成“随时可用”。不求快,不求高级,只求你在任何设备上点一下就能打,别让我再拿着电脑跟着打印机跑。

大概前前后后摸索了这些方案:

  1. 用小白盒连接路由器:其实这个思路跟网络打印机很类似,就是打印机 over IP,企业里几乎也都是这样的做法。缺点就是需要客户端安装驱动,所以相比之下就牺牲了移动端。
  2. Windows/macOS 共享:由于缺少 AirPrint,Apple 设备无法直接使用隔空打印。其实 Windows 的兼容性是最好的。
  3. 在 OpenWrt 上安装 CUPS 驱动,再把打印机接到路由器上当作无线打印机使用。Apple 生态会舒服很多。

我在第三个方法上进行了改良:不在 OpenWrt 上折腾,改用懒猫微服运行 CUPS 服务。

我这套方案里,懒猫微服就干三件事:运行 CUPS(带 AirPrint)、挂载网盘做中转、把 Windows 远程入口映射出去。

应用商店 CUPS

懒猫应用商店里可以直接下载 CUPS 服务端,内置了 AirPrint 支持,省去了自己折腾 Docker 镜像的麻烦——别人测试好的,我直接开箱即用。

image-20260215214245528

我们需要做的就是把 USB 设备直通给这个从商店下载的 CUPS 容器。

这里有个很真实的小问题:每次打印机关机、重启,或者 USB 重新插拔以后,容器可能会读不到这个 USB 外设,所以需要重启容器来重新识别 USB。

这个镜像内置了很多打印机驱动,所以我们选和打印机相同或者相近的型号的驱动。

image-20260215223042216

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

image-20250224164153529

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

image-20250224164118890

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

image-20250224164059690

打印机信息一览:

image-20250224164032734

使用心得:

全平台的单页打印几乎都没什么问题,iPhone/iPad/Mac/Windows都能打,体验上就是“家里终于有一台网络打印机了”。

不过我的联想 M7400 Pro 在使用过程中遇到了两个很奇怪的问题。联想使用自有驱动,导致我选用的开源驱动无法完全适配。

  • 大图片偶尔无法打印(队列里看着像发过去了,实际就是不动)
  • 双页打印变成四页打印

然后这一套方式也用了蛮久的。

如果你的打印机型号恰好在驱动列表里,那这套方案会非常舒服;你要做的就是商店安装 CUPS → 连接打印机 → 选择型号 → 结束。

如果型号不在列表里,那就像我这样:找个相近的驱动凑合用,能用到什么程度全凭缘分(以及厂商良心)。

转发 RDP,网盘传文件打印

我是一个爱折腾的人,前面的办法只适用于局域网打印,那么广域网怎么办呢?

纠结了好久之后,我还是弄了一台 Windows。一方面是给家里人使用,出了问题更容易调试;另一方面也能直接使用联想官方驱动,防止它再搞幺蛾子。

首先,Windows 通过客户端自动挂载 SMB,这样就可以直接读取懒猫网盘中的文件。

image-20260215214203202

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

image-20260215221511572

大概打印流程是这样的:

收到文件 → 传到懒猫网盘 → 同步到 Windows → 通过 RDP 登录 Windows → 直接打印

打开 SMB 之后,就可以看到从其他终端收到的文件。微信收到的文件也可以直接分享到懒猫网盘,这一步比“在 RDP 里传文件”舒服太多了。

image-20260215211307101

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

  1. 因为直接通过RDP传输文件很慢,而且移动端传起来也很麻烦。所以使用懒猫网盘来做文件的中转,私人云盘用起来就很舒服。

image-20260215223559760

  1. 懒猫微服可以转发 Windows 的 RDP 端口,这样在外面也能远程登录并直接打印;客户端只要安装一个支持 RDP 的 App 即可。

image-20260215223423183

  1. 如果使用的是懒猫微服商店里的 Windows 虚拟机,甚至可以通过 Web VNC 登录,只要把打印机 USB 设备映射进去即可。


忘机山人二维码

扫码关注「忘机山人」