在 OS X Lion 上的用户打印机列表中显示 CUPS 共享打印机

在 OS X Lion 上的用户打印机列表中显示 CUPS 共享打印机

背景

我们的主要环境是 Linux,但我们需要支持 40 台 Mac。我正尝试将它们集成到我们的标准化打印系统中。我们有大约 50 台打印机通过 CUPS 浏览功能从 CUPS 服务器共享。

当前状态

我已/printers/etc/cupsd.conf通过删除 BrowseLocalProtocols 行并添加行进行了修改BrowseProtocols CUPS。现在,当我在“系统偏好设置”中打开窗格时,我可以看到我们所有的打印机Print & Scan。不幸的是,任何应用程序的打印对话框中都没有显示任何打印机。

我可以通过单击 来将打印机添加到列表中,+在 中添加打印机Print & Scan,选择打印机,然后单击添加。我收到一个对话框,询问我是否要继续,因为同名的打印机已经存在。我不确定修改 CUPS 服务器上的打印机会如何影响客户端。

有没有办法让所有 cups 共享打印机都显示在用户的打印机列表中?有没有办法在命令行或登录脚本中添加这些打印机?我是否应该在运行 Workgroup Manager 的系统上添加它们并使用 MCX 分发它们?

答案1

使用 CUPS,您应该能够直接使用服务器打印机,只需告诉 cups 客户端使用特定服务器而不是本地假脱机程序即可。您可以通过修改 /etc/cups/client.conf 并添加或修改包含 ServerName 的行来实现

ServerName cups.example.com[:port]

您应该能够看到并使用 CUPS 服务器上的所有打印机。如果您将本地打印机连接到某些 Mac,则无法使用此功能,但您仍然可以使用 lpadmin 在脚本中为每台打印机添加打印机:

lpadmin -p printer -E -v ipp://server/printers/printer

答案2

Apple 使用“管理偏好设置”的官方答案是将您的 PPD 文件分发给客户端,然后在工作组管理器中为每个打印队列指定自定义 PPD。

http://support.apple.com/kb/HT4618?viewlocale=en_US

进一步的测试表明,您必须安装和使用制造商的驱动程序,而不是通用的 postscript ppd。

由于苹果官方的方法比较繁琐,所以我写了一个脚本使用最匹配的驱动程序自动添加 CUPS 服务器共享的所有打印机。我预计每天都会运行它。它对带有可选双面打印器的打印机没有帮助,但我们的大多数打印机都有内置双面打印器。

相关内容