Getting AirPrint Working on Mac OS X Desktops

This afternoon, Angelina wanted to be able to print from her iPad to the printers in the house. Since AirPrint was not enabled in Mac OS X 10.6.6+, I knew I had a few options open to me: hacking the system to enable it (it was enabled in a pre-release version of OS X), or buying one of the sub-$10 apps that allowed you to share all your printers on a Mac OS X desktop with AirPrint clients. I'm not a fan of the hacking, so I decided to give the apps a try.

When I was going through all the apps for this, I noticed AirPrint Activator. This guy used to be a hack, but now the author says this about the app:

Apple requested that I take down the AirPrintHacktivator page as they stipulate that the application is distributing copyrighted source code and/or software. AirPrint Activator is now replacing the defunct AirPrint Hacktivator application. It provide the same functionality without the use of any Apple files.

You can use AirPrint Activator as a replacement of the previous generation Hacktivator application. If present, it will take care of cleaning any Apple files installed by the previous generation Hacktivator when you “deactivate” AirPrint. It will only inject a single line in a CUPS configuration when you select to “activate” AirPrint.

I really liked that it only injects a single line int he CUPS config file. That's the kind of change I can deal with. Sure, it's liable to be broken in the next release of OS X - or even on an update to CUPS in a subsequent security update. But for now, it's possible, and if I need to learn what this change is, I can, and then I'll be able to update it myself in the future.

The next wrinkle turned out to be that my Mac Mini was sharing a printer that wasn't being shared via LPD any more. Seems Snow Leopard turned off the LDP sharing by default. Well, I found this hint and simply enabled LPD sharing again:

  cupsctl 'BrowseLocalProtocols="cups dnssd lpd"'

As soon as I did that, my old LPD-based sharing machines found the printer again, and all was well. With these two things, I have AirPrint working perfectly in the house now. I even printed out a few pictures from my iPhone for Marie who needed them for school.

Very nice.