通过 NAS 共享打印机给苹果设备
苹果虽然是 CUPS 的主要贡献者,但随着发起人离开 Apple,苹果公司也把 CUPS 放弃了,把代码交给了 OpenPrinting。
我用的一台兄弟打印机支持 ipp 在线打印协议,但是不支持苹果的 bonjour 打印机发现功能,无法在iphone和mac的设置界面里找到打印机。即使是手动添加,也总是因为各种参数问题添加失败。
相对来说我对 CUPS 的打印机添加过程比较熟悉。mac 自带 CUPS 服务,在终端里运行以下命令可以打开 CUPSD
sudo cupsd
cupsctl WebInterface=yes
然后即可通过 web 访问 http://127.0.0.1:631/admin 进行打印机管理。在这里我们能看到 mac 自带的 CUPS 版本是 2.3.4。
点击 Add Printer,CUPS 已经发现了我的打印机,但是由于使用本地域名,会添加失败,我选择互联网打印协议 (ipp),手动输入地址 ipp://192.168.x.x/ipp/print
,在 make 里选择 Raw - IPP Everywhere 即可成功将打印机添加到 mac。经测试这里完全可以进行正常打印工作,不过无法选择彩打和黑白
但是这里有个问题:添加的打印机即使开启了共享,在iphone里还是看不到。据说生成一个 Avahi 的 AirPrint service 配置文件就可以看见了,但是即使能看到,如果mac休眠了依然是共享不了的。所以我考虑用 nas 来共享打印机。
首先在 nas 里安装了 CUPS 和 Avahi daemon (可以通过 docker 安装,我是在 lxc 手动 apt install)
sudo apt update
sudo apt install cups avahi-daemon
之后,我们访问 nas 的 IP:631
,重复上面的配置过程,再次添加一遍
这样 mac 和 iphone 就都可以看到打印机了