10.10. 使用 cups-browsed 从远程打印服务器在本地集成打印机
cups-browsed 服务使用 DNS 服务发现(DNS-SD)和 CUPS 浏览来使本地 CUPS 服务中自动提供的全部共享远程打印机或过滤的共享远程打印机的子集。
例如,管理员可以在工作站上使用此功能,以使只有来自可信打印服务器的打印机能在应用程序的打印对话框中可用。如果打印服务器共享大量打印机,也可以将 cups-browsed 配置为按某些标准过滤浏览的打印机,以减少列出的打印机的数量。
如果应用程序中的打印对话框使用其它机制(如 DNS-SD)来列出远程打印机,则 cups-browsed 没有影响。cups-browsed 服务也不会阻止用户手动访问未列出的打印机。
先决条件
- CUPS 服务在本地主机上已配置。
存在一个远程 CUPS 打印服务器,且以下条件适用于这个服务器:
- 服务器侦听可从客户端访问的接口。
-
/etc/cups/cups.conf文件中服务器<Location />指令中的Allow from参数允许从客户端的 IP 地址访问。 - 服务器共享打印机。
- 防火墙规则允许从客户端访问服务器上的 CUPS 端口。
流程
编辑
/etc/cups/cups-browsed.conf文件,并进行以下更改:为您要轮询的每个远程 CUPS 服务器添加
BrowsePoll参数:BrowsePoll remote_cups_server.example.com BrowsePoll 192.0.2.100:1631
BrowsePoll remote_cups_server.example.com BrowsePoll 192.0.2.100:1631Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果远程 CUPS 服务器侦听与 631 不同的端口,请将
:<port>附加到主机名或 IP 地址。可选:配置过滤器来限制哪些打印机在本地 CUPS 服务中显示。例如,要过滤名称包含
sales_的队列,请添加:BrowseFilter name sales_
BrowseFilter name sales_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以根据不同的字段名称、对筛选取反,匹配确切的值来过滤。详情请查看您系统上
cups-browsed.conf (5)手册页中的参数描述和示例。可选:更改轮询间隔和超时来限制浏览周期的数量:
BrowseInterval 1200 BrowseTimeout 6000
BrowseInterval 1200 BrowseTimeout 6000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 按相同比例增加
BrowseInterval和BrowseTimeout,以避免打印机从浏览列表中消失的情况。这意味着,将BrowseInterval的值乘以 5 或更大的整数,并将这个结果值用于BrowseTimeout。默认情况下,
cups-browsed每 60 秒轮询一次远程服务器,超时为 300 秒。但是,在有许多队列的打印服务器上,这些默认值可能会消耗很多资源。
启用并启动
cups-browsed服务:systemctl enable --now cups-browsed
# systemctl enable --now cups-browsedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出可用的打印机:
lpstat -v
# lpstat -v device for Demo-printer: implicitclass://Demo-printer/ ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果打印机的输出包含
implicitclass,则cups-browsed服务管理 CUPS 中的打印机。