how to get printers on mac os 10.8 from a linux cups in a different subnet

Douglas Kosovic doug at
Thu Nov 22 20:46:06 PST 2012

Hi Franz,

> What is the official way to connect from the Mac OS 10.8 WS to the server?
> There must be a better way, as to configure the print queues local on the WS!

To solve the issue for our OSX Mountain Lion clients, we ended up using 
Wide Area Bonjour to advertise the queues. We have over 180 password 
authenticated print queues all accessible on multiple VLANs, the ipp and 
ipps queues are also accessible on WiFi and VPN.

Moving away from CUPS browsing to dns-sd/Wide Area Bonjour turned out to 
be great for our Mac users (including Lion and Snow Leopard clients), 
it's much more user friendly to add a printers now. Another bonus is 
that we can now print with iPhones and iPads.

For the print server, I'm using custom cups-1.6.1, cups-filters-1.0.24 
and ghostscript-9.06 RPMs on RHEL6.3. For the Wide Area Bonjour, I wrote 
a simple python script using pyCUPS (aka python-cups) to query the CUPS 
server and generate output suitable for adding to a DNS zone file. Happy 
to supply the python script if you are interested. Also we are using 
slightly modified Mac PPD files (mostly ones bundled with OSX) on the 
print server as they are generally much nicer than Linux PPDs, 
especially on the OS X clients.

Although cups-1.6.1 can be built with Avahi for mDNS support, the Avahi 
version that comes with RHEL6 is too old and can't handle/advertise 
anywhere near the 180 print queues we have, so I didn't build CUPS with 
Avahi support. A problem with the older Avahi versions is that they are 
built with AVAHI_CACHE_ENTRIES_MAX (i.e. max number of resource records 
to be cached) set to 512, for the print queues we use 10 records per 
queue (ipp and ipps), e.g. :

_ipp                    PTR     lpHS217._ipp
_cups._sub._ipp PTR     lpHS217._ipp
_universal._sub._ipp    PTR     lpHS217._ipp
lpHS217._ipp            SRV     0 0 631
lpHS217._ipp            TXT     ( "rp=printers/lpHS217" ...)

_ipps                    PTR     lpHS217._ipps
_cups._sub._ipps PTR     lpHS217._ipps
_universal._sub._ipps    PTR     lpHS217._ipps
lpHS217._ipps            SRV     0 0 631
lpHS217._ipps            TXT     ( "rp=printers/lpHS217" ...)

So basically using Wide Area Bonjour (i.e. unicast DNS) solved a number 
of issues for us.


More information about the cups mailing list