AirPrint

Hack the CUPS server to enable AirPrint - wireless printing from your iPad/iPhone. It uses Avahi - a system which facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite, such as Apple's Bonjour - to allow your iOS device to find your CUPS printers.

Installation
Edit /etc/cups/cupds.conf and add:

ServerAlias *
yum install avahi-daemon

Download airprint-generate. This script will generate avahi .service files for shared CUPS printers. This script will connect to a CUPS server and for each printer configured and marked as shared will generate a .service file for avahi that is compatible with Apple's AirPrint announcements.

cd /extra
wget --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py

The script will require CUPS support in Python (pycups) to run which can be installed with:

yum install system-config-printer-libs

The script would still give an error about Failed to find python libxml or elementtree, which you can fix by editing line 43 of airprint-generate.py:

from cElementTree import Element, ElementTree, tostring

Copy the generated files to /etc/avahi/services/:

cp AirPrint-*.service /etc/avahi/services/

Restart avahi:

service avavhi-daemon restart

Resources
AirPrint and Linux
Printing from iPad (AirPrint) via CUPS
AirPrint for Mac on Linux
AirPrint in corporate networks

Recent Updates

  • 11 months 3 weeks ago
  • 11 months 3 weeks ago
    Removed original versions of ucspi-tcp and ucspi-ssl and replaced them with upgraded versions. The old ones were failing PCI compliance tests by Security Metrics. ucspi-ssl also had issues installing on CentOS 7 - new version installed without issues.
  • 11 months 3 weeks ago
    1.3.7 update
  • 11 months 3 weeks ago
  • 1 year 1 hour ago
    MariaDB