Desaventuras en la tierra de Linux, parte 8

Hace poco instalé una nueva impresora en mi PC, se trata de una impresora HP LaserJet Pro M402n. Sin imaginarlo, tratar de instalarla revelaría nuevo material para escribir un post más en esta serie de Desaventuras en la que escribo acerca de todos esos detalles que hacen que Linux no sea aún apto para usuarios comunes y corrientes. Por lo regular, es perfectamente comprensible que Linux tenga sus detalles siendo un esfuerzo de colaboración open source realizado por miles de voluntarios dispersos por todo el mundo. Pero a veces me topo con algunos detalles que, desde mi punto de vista, son imperdonables, esos son el tipo de detalles que alimentan esta serie de posts.

En mi experiencia hasta ahora, instalar impresoras en Linux era una tarea sencilla con dos posibles resultados:

  • La impresora funcionaba perfectamente al conectarla sin necesidad de hacer o instalar nada más, por ejemplo mi vieja impresora Epson Stylus TX110.

  • La impresora simplemente no funcionaba porque no existen controladores para Linux y la comunidad no ha logrado hacerle ingeniería inversa al protocolo de comunicación de ese modelo en particular, por ejemplo mi antigua impresora Canon Pixma iP1300. En este caso, aunque la impresora no funcionara, no se puede culpar a Linux ni a la comunidad open source.

Aquí entra en escena mi nueva impresora HP M402n. Teniendo la experiencia de que siempre había únicamente las dos posibilidades antes mencionadas, al conectar la impresora me encontré con una sorpresa: la impresora funcionaba desde aplicaciones basadas en GTK2 pero no en aplicaciones basadas en GTK3. ¡Qué Extraño…!. Al mirar más de cerca, noté que la impresora no aparecía en el panel de configuración de impresión, system-config-printer. Tratar de agregar manualmente la impresora en el panel de configuración resultaba en el panel cerrándose sin mostrar ningún error o información y, claro, sin agregar la impresora. ¡El programa diseñado específicamente para la administración de las impresoras en el equipo es totalmente inútil! ¡Este es el tipo de detalles imperdonables de los que hablo!.

Por suerte, yo sabía que era posible acceder a la configuración de CUPS desde el navegador. Como mencioné antes, un usuario común y corriente tal vez no sepa esto y podría tener aún más problemas para instalar una simple impresora.

Pero aún con la configuración desde el navegador, el problema no estaba resuelto :(. No importaba qué hiciera, la impresora seguía sin aparecer en aplicaciones que usaran GTK3. Fue entonces que tuve que recurrir al internet en busca de una solución para algo que debería ser manejado automáticamente por el sistema operativo.

Después de un rato, encontré que el modelo de impresora que estaba intentado instalar requería la versión 3.15.11 del paquete hplip mientras que la versión en el paquete estable de Debian era la 3.14.6. Por suerte, el repositorio de jessie-backports contaba con una versión más reciente, 3.16.11. Para mi sorpresa, aún después de actualizar el paquete hplip, el panel de configuración de impresión seguía fallando miserablemente :(. Como si eso fuera poco, ¡la configuración web de CUPS no mostraba el modelo de la impresora al intentar agregarla manualmente!. Esto se estaba poniendo realmente molesto; sólo podía imprimir desde aplicaciones basadas en GTK2 pero la mayoría de las aplicaciones que uso ya han hecho el cambio a GTK3 (sólo algunas tienen la opción de elegir libremente entre uno y otro). En este punto procedí a actualizar todo lo relacionado con CUPS pensando que eso ayudaría pero no tuvo éxito.

Regresé al internet y seguí buscando. Fue entonces que descubrí que la razón por la que podía ver la impresora en aplicaciones GTK2 pero no en aplicaciones GTK3 era que GTK2 usaba lpr para descubrir las impresoras conectadas pero ¡el soporte para lpr fue eliminado en GTK3!. ¡¿Por qué eliminar una opción que funciona perfectamente?!.

Entonces, sin lpr, ¿estaba todo perdido?. No del todo. Al seguir buscando finalmente me encontré con información enterrada en la documentación de impresión de Debian indicando que para impresoras Bonjour-enabled, es decir, impresoras que usan el protocolo dnssd://, se debía seleccionar Raw como el fabricante/modelo de la impresora en la configuración de CUPS.

La impresora HP LaserJet Pro M402n soporta el protocolo dnssd:// así que, aunque el modelo no aparece en la configuración de CUPS, se puede seleccionar Raw como fabricante/modelo y, finalmente, después de hacer esto, la impresora está configurada y se puede usar desde cualquier aplicación.

Al final de cuentas, la solución no era tan complicada si es que sabes lo que se tiene que hacer pero un usuario común y corriente probablemente no lo sabría y no tendría que estar obligado a pasar por todo esto :(. El panel de impresión, un programa supuestamente diseñado única y exclusivamente con este fin, debería manejar todos estos pequeños detalles automáticamente.

Este es el tipo de detalles que aún me decepcionan de Linux :(.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s