今天早些时候我去了 AUR 存储库并下载了这个驱动程序https://aur.archlinux.org/packages/brother-hll2340dw/对于我的打印机。
事实证明,我什至根本不需要驱动程序,Avahi/CUPS 就能够检测到我的打印机。
但现在我遇到了一个非常烦人的问题;某些程序(例如 Libre Office)正在识别两台打印机,其中一台无法工作。
打印机UNIX printer
按avahi-browse
服务类型列出_printer._tcp
。
我真的只想找到该服务来自何处并将其删除。
答案1
如中所述RFC6763和Bonjour 打印规格,服务类型_printer._tcp
是打印的“旗舰名称”。显然,您可以通过搜索_printer._tcp
服务找到所有打印机和任何类型的打印服务。
更正式地说,_printer._tcp
服务类型是指 Unix LPD 打印协议,通常可以在支持网络打印机和打印服务器的 TCP 端口 515 中找到。但如果打印机不支持 LPD 或禁用了 LPD 支持,它仍应声明_printer._tcp
,但端口号为 0。
使用avahi-discover
或avahi-browse -r _printer._tcp
查找与该服务关联的 IP 地址和端口。您可能会发现它来自打印机本身,或者来自您的 CUPS(如果它配置为允许共享任何已配置的打印机)。
由于 Brother HL-L2340DW 显然支持 AirPrint,因此打印机本身可能是来源。如果自动检测导致应用程序中的打印机条目不起作用,您可以将 CUPS 配置为不自动发现打印机。在我的 CUPS 版本 (Debian 9) 中,这可以通过停止cups-browsed
、编辑/etc/cups/cups-browsed.conf
设置为BrowseRemoteProtocols
、none
然后重新启动 来完成cups-browsed
。
或者,您可以BrowseDeny <printer's IP address>
在同一文件中使用显式屏蔽该特定打印机的自动发现条目,同时仍然保留一般打印机自动发现功能。