BonjourPrinter wrote:These instructions should not be followed under any circumstances anymore!
Discovery of a Mint/Ubuntu attached printer from an iPad pretty much works out of the box as long as you have shared the printer, instructed the CUPS server to publish that printer, and have made sure that the avahi-daemon is running.
**********************************************************************************************************************************************
My wife owns an Apple IPad. A recent update to the OS now allows printing via something called AirPrint. According to the reports on AirPrint:
The good news is: AirPrint is incredibly seamless. The bad news is: it currently only works with 10 printer models—all of them from HP. On December 27th, HP will release six more AirPrint-enabled printers. Apple claims the number of AirPrint-ready printers will increase down the road, as will the number of manufacturers.
Well let's see, apple created ( assimilated ) two technologies that covers printing: CUPS and ZeroConf (avahi). Both of these exist in Linux so I figured there must be a way to do this with any printer attached to a Linux PC. Interestingly avahi is broken in Mint because of something Ubuntu did but there's a way around this as well. Did some googeling and did some experimenting and came up with this procedure:
First: Make sure your printer works locally and that it has been "shared" and "published". If needed refer to this HowTo on how to do that:
viewtopic.php?f=42&t=28397
I have an HP printer which I called HP970 ( and so old it's certainly not AirPrint enabled ) attached to Mint9.
[1] Install the following packages:
- Code: Select all
sudo apt-get install avahi-discover
sudo apt-get install python-lxml
[2] Download a python script that will be used to extract printer information and build the avahi printer services:
- Code: Select all
https://github.com/tjfontaine/airprint-generate
[3] Extract the downloaded tar.gz file
[4] Open a Terminal and change to the download directory and run the python script:
- Code: Select all
./airprint-generate.py
[5] Copy the avahi printer service file to the avahi services directory:
- Code: Select all
sudo cp AirPrint-HP970.service /etc/avahi/services
Note: It adds "AirPrint" in front of your existing printer name.
[6] Restart the avahi service:
- Code: Select all
sudo service avahi-daemon restart
[7] Run the avahi service discover applet and make sure the printer is listed:
- Code: Select all
avahi-discover
[8] Edit the cups configuration file as root:
- Code: Select all
gksu gedit /etc/cups/cupsd.conf
[9] Add the following line:
- Code: Select all
ServerAlias *
To this section so that it looks like this:
LogLevel warn
MaxLogSize 0
SystemGroup lpadmin
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
ServerAlias *
# Share local printers on the local network.
[10] Restart cups:
- Code: Select all
sudo service cups restart
Although it wasn't apparent to me how one does this my wife tells me that you should be able to print from safari, photos, and Mail.
As a side benefit anyone who owns a Mac or even another Linux machine now has another option to access a remote printer as the "Printing" applet that is used to add a new printer now has another option under Network Printer: Airprint HP970@altair. This effectively repairs what Ubuntu broke in avahi.
It is my sincerest hope that this works for you as is because in all seriousness my wife does not allow me much time on her growing list of apple products for fear that I will tinker with them.



