Compartir impresora en Linux con iOS
Apple se caracteriza por innovar en muchos de sus productos, pero también es amiga de cambiarle el nombre a «cosas de toda la vida» de capa caída y venderlo como si fueran invención suya.
Bajo el rimbombante nombre de «AirPrint» se esconden tecnologías de sobra conocidas como el IPP, Bonjour y mDNS, que, por otra parte, facilitan el uso de esta «nueva» tecnología de impresión en red, por parte de sistemas de los de toda la vida como Linux.
Para ver esto, vamos a utilizar un iPhone4 (pero debería funcionar en cualquier otro aparato con iOS4.2 y superiores) y como sistema servidor, un Linux Fedora 14 (Laughlin) con una impresora HP OfficeJet J5780.
Para comenzar, daremos por sentado que la impresora está preconfigurada en el sistema Linux, y que funciona correctamente. Esta versión de Linux, ya viene con CUPS incorporada, por lo que la instalación y configuración de la misma, nos la saltaremos.
Para que pueda ser una guia util para el mayor número de distribuciones de Linux, Configuraré la impresora desde la pagina de CUPS. Para ello, abriremos nuestro navegador en la dirección http://localhost:631/admin/ y dentro de la configuración de servidor, marcaremos la opción de «Compartir impresoras conectadas a este sistema»:
En paralelo, deberemos instalar el paquete «avahi», «avahi-tools.i686» y «avahi-compat-libdns_sd.i686» y aquellas que nos puedan hacer falta, a modo de dependencias.
Con esto instalado, deberemos «anunciar» a la red, el servicio correspondiente a la impresora compartida mediante CUPS. Para ello, deberemos crear un fichero similar a este en /etc/avahi/services/Airprint-nombredeimpresora.service. Por ejemplo /etc/avahi/services/AirPrint-Officejet.service :
<?xml version=»1.0″ ?><!DOCTYPE service-group SYSTEM ‘avahi-service.dtd’>
<service-group>
<name replace-wildcards=»yes»>AirPrint Officejet @ %h</name>
<service><
type>_ipp._tcp</type>
<subtype>_universal._sub._ipp._tcp</subtype>
<port>631</port>
<txt-record>txtvers=1</txt-record>
<txt-record>qtotal=1</txt-record>
<txt-record>Transparent=T</txt-record>
<txt-record>URF=none</txt-record>
<txt-record>rp=printers/Officejet</txt-record>
<txt-record>note=HP Officejet J5700 series</txt-record>
<txt-record>product=(GPL Ghostscript)</txt-record>
<txt-record>printer-state=3</txt-record>
<txt-record>printer-type=0x2901c</txt-record>
<txt-record>pdl=application/octet-stream,application/pdf,application/p
ostscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,
image/tiff,text/html,text/plain,application/vnd.cups-banner,application/
vnd.cups-pdf,application/vnd.cups-postscript</txt-record>
</service>
</service-group>
Si no quieres escribirlo a mano, te sugiero que uses el generador automático de tjfontaine que lo puedes obtener de https://github.com/tjfontaine/airprint-generate
Una vez hecho esto, podrás imprimir desde tu iphone/ipad/ipod sin problemas 🙂
Saludos,
Deja una respuesta