iPad printing to CUPS

I so love it when something works out of the box. When I just want something that should simply work, and it in fact does. Whenever I have a wish like that, let’s call it a requirement, I just Google around and then, when the first link takes me to a web page that tells me how to do it by installing something and configuring it and voilà, it works, I, as I said, love it.


When composing my weekly shopping list, I decide I want to eat soup at a later day in the week. Being fed-up with the pre-made soups of the local supermarket, I need a good recipe to make it myself. Sitting at my kitchen table and therefore using an iPad, I find a good recipe  on the Internet. I don not want to sign up for an account at yet another web site or install an app version of a site that I only use once, so I decide to print the recipe. I click the print button on the web site. The iPad looks for a printer and sends the web page to the printer.


  1. When the iPad queries the network for a printer, it needs to find my printer capable of accepting its printing requests.

Since I use Linux, I use Cups. Cups, short for Common Unix Printing System is a program that runs in the background on virtually every Linux machine and talks to the printer on behalf of the computer, the local network, or even the entire Internet if whoever configured it didn’t pay attention.

The computer attached to my printer was running, Cups had started, the printer was on line and I had found the recipe using the iPad. So I clicked the print button, but then the iPad told me it only looked for AirPrint printers. So I Googled: “cups airplay”.

Google found me this web page, which explained to me in pretty straight forward steps how to make my Cups printer show up on any iOS device, using Avahi and Multicast DNS. I’m not repeating the steps here, because that is not my point. What is important is that I only had to install Avahi and mdns, place an xml file in a directory and start the Avahi daemon. The contents of the xml file were provided, but I had to change a few things for my set up.

Test case (happy flow):

  1. When the iPad queries the network for a printer, it needs to find my printer capable of accepting its printing requests.

After I clicked the print button on the web page, the iPad suggested that it had to look for AirPrint printers again. I told it to go ahead, and it found a printer. I clicked ‘print’, and moments later my printer printed the recipe.

That was it. No money spend on software, no trial and error,  googling, grepping through logs or asking questions on forums need, it just worked. There is only one downside: should it ever break, I won’t have a clue where to start. Is this what it’s like to use a Mac?

Categorised as: howto, lifestyle, linux

Comments are closed.