Stampare da iPad/iPhone su Gnu/Linux con AirPrint

Ok,

visto che nel nuovo IOS 4.2 si può stampare via AirPrint, perché non sfruttare la condivisione delle stampanti di CUPS per stampare da iPhone/iPad su una periferica gestita da GNU/Linux?

Lo spunto, con qualche aggiunta personalizzata, lo ha dato questo articolo in cui l’autore ha spippolato con Wireshark per esaminare il dialogo in rete di AirPrint, per scoprire che il tutto viaggia su protocollo IPP modificato.

IPP???? Mmmmm….quindi…CUPS! E Avahi, naturalmente, per annunciare in rete il servizio di stampa.

Quindi…

1. Installare CUPS, configurare la stampante connessa al computer, collegarsi su localhost:631  e da tab di amministrazione condividere la stampante, come si vede nella immagine sottostante.

Quindi verificare che la stampante…stampi correttamente da computer.

Ora, installate avahi-daemon e quindi scaricate lo script python che trovate qui e che ho caricato in copia qui e lanciatelo da console:

root@SALOTTO:/home/zarrelli/Scaricati/tjfontaine-airprint-generate-af37647# python airprint-generate.py -v
BRFAX Losing support for: text/css,image/x-photocd,image/x-bitmap,application/vnd.hp-hpgl,application/vnd.cups-raw
Created: AirPrint-BRFAX.service
Hewlett-Packard-HP-LaserJet-6P Losing support for: text/css,image/x-photocd,image/x-bitmap,application/vnd.hp-hpgl,application/vnd.cups-raw,application/vnd.cups-postscript
Created: AirPrint-Hewlett-Packard-HP-LaserJet-6P.service
Brother-MFC-210C Losing support for: text/css,image/x-photocd,image/x-bitmap,application/vnd.hp-hpgl,application/vnd.cups-raw
Created: AirPrint-Brother-MFC-210C.service
root@SALOTTO:/home/zarrelli/Scaricati/tjfontaine-airprint-generate-af37647#
root@SALOTTO:/home/zarrelli/Scaricati/tjfontaine-airprint-generate-af37647# python airprint-generate.py -vBRFAX Losing support for: text/css,image/x-photocd,image/x-bitmap,application/vnd.hp-hpgl,application/vnd.cups-rawCreated: AirPrint-BRFAX.serviceHewlett-Packard-HP-LaserJet-6P Losing support for: text/css,image/x-photocd,image/x-bitmap,application/vnd.hp-hpgl,application/vnd.cups-raw,application/vnd.cups-postscriptCreated: AirPrint-Hewlett-Packard-HP-LaserJet-6P.serviceBrother-MFC-210C Losing support for: text/css,image/x-photocd,image/x-bitmap,application/vnd.hp-hpgl,application/vnd.cups-rawCreated: AirPrint-Brother-MFC-210C.serviceroot@SALOTTO:/home/zarrelli/Scaricati/tjfontaine-airprint-generate-af37647#

In pratica, vi genererà un file XML per ogni stampante condivisa da CUPS, contenente le informazioni necessarie alla pubblicazione tramite Avahi con le modifiche necessarie a renderla “digeribile da AirPrint.

Copiate in

/etc/avahi/services/

il file relativo alla stampante che volete utilizzare tramite AirPlay, nel mio caso

AirPrint-Brother-MFC-210C.service

Ora, aprite il file

/etc/cups/cupsd.conf

e assicuratevi che ci siano le seguenti informazioni:

ServerAlias *
Port 631
Listen /var/run/cups/cups.sock

Tanto per non sbagliare, riavviamo i servizi cups  e avahi-daemon:

service cupsd restart
service avahi-daemon restart

Fatto. Finito. Ora aprite Safari, pigiate sull’icona delle azioni (quella centrale in basso),  scegliete “Stampa” e buon divertimento con la vostra nuova, vecchia stampante AirPrint.

P.S.

Chiedo venia per lo stile un po’ raffazzonato, ma è tardi…

5 Risposte a “Stampare da iPad/iPhone su Gnu/Linux con AirPrint”

  1. Grazie giorgio utile davvero..
    però essendo assai inesperto non riesco ad avviare lo script mi continua a dire “nessun file o directory” aiuto!

  2. sono riuscito lanciandolo dalla modalità grafica..

  3. la procedura è la stessa per le stanmpanti di rete? iphone mi trova la stampante e invia la stampa ma non parte..

  4. Ciao, scusa io ho fatto tutti i passaggi, ho una stampante di rete, ma non riesce cmq a trovarmela (l’ipad/iphone). non capisco cosa può essere… qualche suggerimento

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.