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

  • 4 months 2 weeks ago
    1.27.2 update
  • 4 months 4 weeks ago
    Drupal 10/11 config
  • 4 months 4 weeks ago
  • PHP
    4 months 4 weeks ago
    PHP 8.3.11 and AlmaLinux
  • 5 months 5 hours ago
    New version of Pound