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
如果远程 CUPS 服务器侦听与 631 不同的端口,请将
:<port>
附加到主机名或 IP 地址。可选:配置过滤器来限制哪些打印机在本地 CUPS 服务中显示。例如,要过滤名称包含
sales_
的队列,请添加:BrowseFilter name sales_
您可以根据不同的字段名称、对筛选取反,匹配确切的值来过滤。详情请查看
cups-browsed.conf (5)
手册页中的参数描述和示例。可选:更改轮询间隔和超时来限制浏览周期的数量:
BrowseInterval 1200 BrowseTimeout 6000
按相同比例增加
BrowseInterval
和BrowseTimeout
,以避免打印机从浏览列表中消失的情况。这意味着,将BrowseInterval
的值乘以 5 或更大的整数,并将这个结果值用于BrowseTimeout
。默认情况下,
cups-browsed
每 60 秒轮询一次远程服务器,超时为 300 秒。但是,在有许多队列的打印服务器上,这些默认值可能会消耗很多资源。
启用并启动
cups-browsed
服务:# systemctl enable --now cups-browsed
验证
列出可用的打印机:
# lpstat -v device for Demo-printer: implicitclass://Demo-printer/ ...
如果打印机的输出包含
隐式类
,则cups-browsed
会在 CUPS 中管理打印机。
其它资源
-
cups-browsed.conf(5)
手册页