How can share my printer so that I can use it with Airprint?

How can I set up Ubuntu to share my printer so that I can use it with Airprint ? Airprint is a system set-up by Apple on iOS devices (iPhone, iPad, iPod Touch)


This has changed since the initial question was asked.

Since Ubuntu 11.04, you can share local printers so they are available via AirPrint.

AirPrint support is either built-in a printer or not. For printers that don't have this support built-in (which is most printers bought before AirPrint was introduced in 2010), AirPrint support can be achieved by configuring such a printer on an intermediary system for local printing, shared on the same network. In this particular context this means any Ubuntu desktop or server with local printing configured. Follow these steps (source):

  1. On your computer start the printer configuration utility via System -> Administration -> Printing (GNOME Classic) or via Turn-off-button at the upper right -> System Settings -> Hardware -> Printing (Unity Natty) or via the command line (all systems including Unity Oneiric): gksudo system-config-printer.

  2. In the printer configuration utility choose Server -> Settings and activate Publish shared printers connected to this system. Click OK and then right-click on the icon of your print queue and choose Properties in the pop-up menu. In the Policies section of the dialog make sure that Shared is activated.

  3. Make sure your mobile device is accessing your local network using WLAN and then open an application with printing functionality on it (like for example the browser or the photo viewer). Print something. The print dialog should show your print queue and allow some basic settings.

Note: The Description/Info field and not the name of the queue is shown.

This is automatically available in GNU/Linux distributions with CUPS since version 1.4.6 (such as Trisquel 5 and Ubuntu 11.04). AirPrint Activator provides the functionality on Mac OS X. There is also a paid solution offered to Windows users.

Some of this information was adapted from the AirPrint article on Wikipedia (which I updated previously).


  1. First download this Python file and make it executable: https://github.com/tjfontaine/airprint-generate/raw/master/airprint-generate.py : Go to the downloaded file , right-click, show Properties, Permissions, and check-mark; Allow executing file as program. 1b ) go to the downloaded file , right-click, show Properties, Permissions, and check-mark; Allow executing file as program.
    1. Run it in a terminal to create a customized service file: Open a terminal,go to the folder where you downloaded the file and run; sudo python airprint-generate.py 2b ) Open a terminal,go to the folder where you downloaded the file and run; sudo phyton airprint-generate.py 2c ) look for file/files like; AirPrint-Your-printer-name-.service
  2. Save the generated file in /etc/avahi/services
  3. Edit /etc/cups/cupsd.conf
  4. Add ServerAlias * Port 631 Listen /var/run/cups/cups.sock

  5. Now go back to System -> Administration -> Printing and click Server -> Settings. Make sure "Publish shared printers connected to this system" is checked. Click OK. Restart the CUPS server. sudo /etc/init.d/cups restart

  6. You should now be able to print from the iPhone, the iPod Touch or the iPad!

Confirm!

This method is good for iOS5.x but not run with iOS6.0, can't find any printer otherwise founded with iOS5.x

Thaks anyway for Your explain


founded a solution here: Re: iOS 6 doesn't recognize CUPS print sharesdescription here

Hope will be helpfull

it work for me