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

背景

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

当前状态

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

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

有没有办法让所有的杯子共享打印机出现在用户的打印机列表中? 有没有办法在命令行或login脚本中添加这些打印机? 我应该将它们全部添加到运行Workgroup Manager的系统上,并使用MCX进行分发?

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

     ServerName cups.example.com[:port] 

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

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

    Apple使用“受pipe首选项”的正式答案是将PPD文件分发给客户端,然后为Workgroup Manager中的每个打印队列指定自定义PPD。

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

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

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