为什么 Avahi 可以看到我的网络打印机,但 CUPS 却看不到?

为什么 Avahi 可以看到我的网络打印机,但 CUPS 却看不到?

我已经设置了.本地主机名解析,开始杯子浏览重新启动 org.cups.cupsd.serviceavahi-browse显示 WiFi 打印机:

$ avahi-browse --all --ignore-local | head --lines=1 | tr --squeeze-repeats ' '
+ enp5s0 IPv6 Canon MG6400 series _canon-bjnp1._tcp local

然而,http://127.0.0.1:631/admin/显示没有任何打印机。是什么赋予了?

答案1

警告:此答案的全部内容仅适用于较新版本的 CUPS(如 2.2.x)。对于以前的版本,如果您不明白联机帮助页的内容,请特别询问cupsd.conf说...


第一的,CUPS 仅自动安装和检测声明自己具有 IPP 功能的本地网络打印机(互联网打印协议)。佳能专有设计的协议将不起作用。

要检查您的打印机是否是支持 IPP 的型号之一,只需运行

ippfind [ENTER]

它应该返回启用 IPP 的打印设备(或 CUPS 队列)URI 列表。

第二, 如果您的佳能 MG6400 型号做过支持 IPP,您的 avahi-browse 发现应该不仅返回服务子类型_canon-bjnp1._tcp,还应该返回_ipp._tcp.和/或_ipps._tcp.....但也许您忽略了这一点,因为您| head --lines=1将这些结果抛出了窗外?

第三,要使 CUPS 能够完全参与 ZeroConf/Bonjour 网络以自动使用共享打印机并依次共享其自己的本地打印机,您需要在您的/etc/cups/cupsd.conf文件:

BrowseDNSSDSubTypes _cups,_print
BrowseLocalProtocols all
Port 631

答案2

对于自动发现,您需要来自 CUPS 的一个名为 的额外组件cups-browsed,该组件查询 Avahi 守护程序,然后根据 Avahi 守护程序所看到的内容填充 CUPS 配置。不幸的是,我不太确定 Arch 上需要什么来进行此设置(守护进程本身不需要对配置进行任何自定义,我只是不确定 Arch 上启用它的服务名称是什么,甚至不确定无论它是否是标准 CUPS 安装的一部分)。

相关内容