how to get printers on mac os 10.8 from a linux cups in a different subnet
doug at uq.edu.au
Thu Nov 22 20:46:06 PST 2012
> 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 ipp.eait.uq.edu.au.
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 ipp.eait.uq.edu.au.
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