CUPS - 安装一次,使用另一台打印机(相同型号),无需重新配置问题

CUPS - 安装一次,使用另一台打印机(相同型号),无需重新配置问题

例如,我在 CUPS 上成功安装了“HP 1020 LaserJet”本地 USB 打印机。

它使用一个连接。

如果我购买另一台 HP 1020 LaserJet 打印机,它无法打印,我必须修改打印机并更改其连接。为什么?

我怎样才能避免这种情况?

我知道在同一台计算机上使用相同类型的打印机是不合逻辑的,但这就是我的环境。

如何使 CUPS 对相同类型、型号、制造商等的所有打印机使用相同的连接?

谢谢你!!!

编辑:

我发现通过配置或任何其他标准方式这是不可能的。

唯一的办法就是找到一个好的解决方法。

答案1

修复方法在 UDEV 规则中。

因为通过标准方式这是不可能的。

您只需创建一个 UDEV 规则来检测打印机添加,然后运行 ​​lpadmin -p PRINTERNAME -v CONNECTION?serial=

因此打印机将自动重新配置以使用另一个连接。

PS:如果有人给我正确的指导,我会给300分。我希望我现在能拿回我的 300 :D

答案2

在开发 Kiosk 应用程序时,我的树莓派也遇到了同样的问题。我按照可能的步骤找到了一个可能的解决方案(在本例中,我使用的打印机是 CUSTOM TG2460):

  1. 运行lpinfo -v它会返回连接的设备列表。
network https
file cups-brf:/
direct vnc:/
network ipp
network beh
network ipps
network socket
network lpd
network http
direct hp
direct usb://CUSTOM%20SPA/TG2460-H?serial=TG2460-H_NUM:_0
direct hpfax
network dnssd://HP%20LaserJet%20200%20color%20M251n%20(E9A2D9)._ipp._tcp.local/?uuid=564e4333-4230-3339-3439-a0d3c1e9a2d9
network dnssd://XEROX%20WorkCentre%203335%20(XRX9C934E79F15F)._printer._tcp.local/
network socket://192.168.10.12
network socket://192.168.10.123
network ipp://VodafonePS.local:631/ipp/print
network ipp://NPIE9A2D9.local:631/ipp/print
  1. 过滤包含所需打印机的行,并使用grep和提取设备 URI cut
lpinfo -v | grep usb://CUSTOM | cut -d ' ' -f 2
>>> usb://CUSTOM%20SPA/TG2460-H?serial=TG2460-H_NUM:_0
  1. 将 URI 添加到现有打印机,更新 CUPS 条目
lpadmin -p PRINTER_NAME -v usb://CUSTOM%20SPA/TG2460-H?serial=TG2460-H_NUM:_0

所有这些都可以概括为这一行:

lpadmin -p PRINTER_NAME -v $(lpinfo -v | grep usb://PRINTER_MODEL | cut -d ' ' -f 2)

然后我在每次重新启动时运行该命令。如果连接了新打印机,用户必须重新启动自助服务终端。我认为您可以轻松地将其绑定到 UDEV 规则,并在您想要交换的打印机上发生更改时运行。

相关内容