AirPrint mit CUPS unter ubuntu
Nachdem auch ich Besitzer eines iPad nanos = iPhone 🙂 bin und mit dem letzten Firmwareupdate iOS 4.2.1 die Funktion „AirPrint“ ins iPhone bzw. iPad Einzug hielt, dachte ich mir, die muss genutzt werden. Mit der „AirPrint“-Funktion ist es möglich direkt vom iPhone/iPad über WLAN und Bonjour aus einer App (die diese Funktion unterstützt) zu drucken. Offiziell ist dies momentan nur mit ein paar wenigen HP-Druckern möglich, aber es geht auch anders….ein wenig googeln brachte Möglichkeiten zum Vorschein, mit denen AirPrint – auch ohne speziellen HP-Drucker – mit CUPS unter Linux funktioniert.
Was man braucht, bevor es losgeht:
- einen unter CUPS laufenden Drucker
(CUPS ist ein Druckserver-Dienst unter Linux) - installierten und laufenden avahi-daemon
(avahi ist das Pendant zu Bonjour unter Linux).
Und was noch ?
Eine Datei printer.service in /etc/avahi/services mit folgendem Inhalt:
<?xml version=“1.0″ standalone=’no‘?><!–*-nxml-*–>
<!DOCTYPE service-group SYSTEM „avahi-service.dtd“>
<service-group>
<name>My Printer</name>
<service>
<type>_ipp._tcp</type>
<subtype>_universal._sub._ipp._tcp</subtype>
<port>631</port>
<txt-record>txtver=1</txt-record>
<txt-record>qtotal=1</txt-record>
<txt-record>rp=printers/My-Printer-CUPS-Name</txt-record>
<txt-record>ty=My Printer</txt-record>
<txt-record>adminurl=http://198.168.1.4:631/printers/My-Printer-CUPS-Name</txt-record>
<txt-record>note=My Printer</txt-record>
<txt-record>priority=0</txt-record>
<txt-record>product=virtual Printer</txt-record>
<txt-record>printer-state=3</txt-record>
<txt-record>printer-type=0x801046</txt-record>
<txt-record>Transparent=T</txt-record>
<txt-record>Binary=T</txt-record>
<txt-record>Fax=F</txt-record>
<txt-record>Color=T</txt-record>
<txt-record>Duplex=T</txt-record>
<txt-record>Staple=F</txt-record>
<txt-record>Copies=T</txt-record>
<txt-record>Collate=F</txt-record>
<txt-record>Punch=F</txt-record>
<txt-record>Bind=F</txt-record>
<txt-record>Sort=F</txt-record>
<txt-record>Scan=F</txt-record>
<txt-record>pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/urf</txt-record>
<txt-record>URF=W8,SRGB24,CP1,RS600</txt-record>
</service>
</service-group>
- My Printer
kann frei gewählt werden – dieser Name taucht im AirPrint-Auswahlmenü von iPad/iPhone auf - My-Printer-CUPS-Name
Druckername unter CUPS - http://198.168.1.4:631/printers/My-Printer-CUPS-Name
muss entsprechend der CUPS-Installation angepasst werden
Jetzt muss noch ein wenig in der CUPS-Configdatei cupsd.conf unter /etc/cups/ geändert werden:
ServerAlias *
Port 631
Listen /var/run/cups/cups.sock
Und abschliessend mit sudo /etc/init.d/cups restart den CUPS-Serverdienst neu starten.
Jetzt sollte das Drucken mit iPad/iPhone und AirPrint möglich sein.
Ergänzung:
Nachdem das iPhone/iPad als anonymer User drucken will, muss als berechtigter User „guest“ oder „anonymous“ im entsprechenden CUPS-Druckermenü hinzugefügt werden.
Gefunden bei http://hartlessbydesign.com/blog/view/197-airprint-with-ubuntu-1010
…nur zur Ergänzung:
Auch unter Windows ist es mit Hilfe des Windows-Dienstes AirPrint.zip möglich, AirPrint ür unter Windows freigegebene Drucker zu aktivieren.
Gefunden bei http://www.mielke.de/blog/Drucken-mit-AirPrint-unter-Windows-vom-iPad-oder-iPhone–293/