Apple Airprint is a technology (a zeroconf implementation under the bonnet) which allows apple devices to detect, configure and print without any overt configuration on the part of the user.

The bad news is that in only works for a handful of airprint printers natively. But never fear, Linux to the rescue!

At this point I’m going to assume that you have a Linux box somewhere on your network acting as a file and print server (pretty regular kit in most geek homes).

Set up your printer

The first step is to set up CUPS on your linux server and then installing the appropriate printer driver for your printer.

I won’t go into detail here as there are numerous guides out there on the wider web, but mostly this is a matter of installing cups and foomatic and then visiting the cups configuration website on the server (localhost:631 usually) and adding your printer.

Make sure that the printer is shared. Print a test page.

One gotcha I found is that my default configuration only allowed connections from the local machine, even though the printer was marked as shared (although frankly I was cheating since most of my computers printed to my server over a Samba relay, but that’s by the by).

Take a look at /etc/cups/cupsd.conf and make sure that has an Allow From from your local network. E.g.


<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.0/24
</Location>

Export the printer

The next step is to install the zeroconf demon, which is called Avahi. This varies from system to system, but on debian this is pretty much a matter of apt-getting avahi-daemon. You may also want avahi-discover so you can browse the exported devices on your network.

Assuming you’ve correctly set up and shared your printers in CUPS the next step is to generate an avahi configuration for it. Thankfully, there’s a handy Python script called airprint-generate, available on github which does much of the donkey work.

Copy the resultant file to /etc/avahi/services and restart the avahi demon.

If your printer is password protected, you will want to add a <txt-record>air=username,password</txt-record> field to the file before doing so. Where username and password is the literal cleartext strings sent.

Profit!!!

Theoretically that should be it. After the configuration, and restarting the various demons involved your printer should be available to the various iOS devices kicking around your network.

Let me know if you have any questions!

Update for IOS6 users

If you are using IOS6 and are seeing a “no airprint printers found” when you try and print (even when ios5 devices can print fine), you must make a small configuration change to CUPS.

Create two extra files in /usr/share/cups/mime:

airprint.types

image/urf urf string(0,UNIRAST<00>)

airprint.convs

image/urf application/pdf 100 pdftoraster

Then restart CUPS before regenerating the avahi configuration file for your printer using airprint-generate as documented in the steps above. Replace your existing avahi printer configuration with this new one and restart avahi.

You printer should now be visible again to both ios5 and ios6 devices via airprint.

So, in preparation for some changes coming later in November we have made latakoo completely free to use!

All you need to do is create an account, download the tool (available for Mac and Windows) and begin sending video about faster than you ever could before. Privately or to as many people as you like.

I should also point out that we place no restriction on commercial use, so feel free to use it commercially. Get in touch if you want more details!

Get latakoo now

Cast your mind back to 1998, when the internet still wasn’t cool and owning your own domain was something of a novelty.

Back then to buy a domain (at least in the UK) was an expensive and time consuming business… enter Just The Name. JTN provided an affordable (for that time) domain name registration service with a simple web interface and a number of basic services such as email and web forwarding and a DNS control panel.

Now of course there is much more competition, and JTN is really starting to show its age. For a start its prices are far from competitive, but while this is irritating it is not necessarily a showstopper (especially when it comes to people who have domains on the service already and can’t afford the down time of a transfer).

What is a showstopper however is that (while its front page has gone through numerous revisions) the back end systems haven’t been updated in the last however long. The upshot being that while you get helpful emails telling you that your domain is about to expire, you can’t do anything about them because the payment system has not been updated to accept a CVV code.

Therefore, all payments get rejected by the bank.

The last time a domain hosted with them came up for renewal I even reported this to them as their head of department took a manual card payment over the phone, but over a year later this issue remains unfixed.

While he may kill elephants for fun, at least Bob Parsons the Godaddy CEO understands that having a way for customers to give you money is fairly important for a successful business.

Since “providing a way to let customers give you money” doesn’t seem to rank on their list of priorities, I figured this didn’t bode well should anything go wrong with their infrastructure. So, as each domain comes up for renewal I’ve been moving them to a different provider.

Unsurprisingly, this isn’t exactly a walk in the park.

In fairness, they don’t quibble about unlocking the domain or providing me with an authentication code. However, since the administrator email is their info@ (unheard of nowadays) and they refuse to change it, the authorisation from the new provider is being lost in the void.

The back and forth with their support department (now going on for over a week) is starting to resemble a Turing test. Ever sympathetic as I am to anyone who works front line support, this is starting to tick me off in no small way and I dread the time when I have to move my main domains over.

Currently, it seems like the only way they are staying in business is by keeping people’s domains hostage.