Error de filter en Mavericks
Error de filter en Mavericks
“Error de filter” al imprimir en Mavericks
Te puede suceder, como a mí, que de repente te deja de funcionar la impresión. En mi caso tengo Mavericks, y con esa versión de Sistema Operativo he imprimido, pero un buen día, intento imprimir un PDF en mi Color Laserjet 1600 y deja de funcionar, y el Monitor de las impresiones sólo marca los trabajos pendientes con un escueto “Error de filter”.
Os contaré el proceso de investigación (sin incluir los caminos sin salida...), pero si queréis saltároslo, podéis ir a la solución, al final de la entrada del blog.
La investigación:
Lo primero es buscar en Google “Filter Error” (siempre hay más información en inglés)
Encontramos alguna entrada como:
https://discussions.apple.com/thread/4158755
que nos indica que miremos en el log de cups, en cierta ruta.
Para no hacerlo tan técnico, vamos a abrirlo con cups. Para ello, activamos la interfaz Web, con el comando (desde terminal, sí bueno, un poco técnico sí es):
cupsctl WebInterface=yes
y luego accedemos a cups mediante la URL:
Pinchamos en Administración:
y tenemos el botón View Error Log, que pulsaremos para ver el log.
En el log encontraremos el “Error de Filter” pero poco más. Desde la pantalla anterior, pulsaremos “Edit Configuration File”:
La primera línea dice “LogLevel warn”. La cambiaremos a “LogLevel debug”, pulsaremos en “Save Changes” y probaremos a imprimir de nuevo. Falla igualmente pero ahora en el log encontraremos más información:
Por ejemplo, el siguiente bloque nos informa de los filtros usados:
D [04/Jan/2014:18:15:21 +0100] [Job 4] 3 filters for job:
D [04/Jan/2014:18:15:21 +0100] [Job 4] cgpdftops (application/pdf to application/postscript, cost 25)
D [04/Jan/2014:18:15:21 +0100] [Job 4] pstops (application/postscript to application/vnd.cups-postscript, cost 66)
D [04/Jan/2014:18:15:21 +0100] [Job 4] foomatic-rip (application/vnd.cups-postscript to printer/HP_Color_LaserJet_1600, cost 0)
Más abajo vemos incluso el lanzamiento de los mismos y su PID:
I [04/Jan/2014:18:15:21 +0100] [Job 4] Started filter /usr/libexec/cups/filter/cgpdftops (PID 1382)
I [04/Jan/2014:18:15:21 +0100] [Job 4] Started filter /usr/libexec/cups/filter/pstops (PID 1383)
I [04/Jan/2014:18:15:21 +0100] [Job 4] Started filter /usr/libexec/cups/filter/foomatic-rip (PID 1384)
y más adelante vemos dónde se reporta el error, debido a una señal:
D [04/Jan/2014:18:15:21 +0100] [Job 4] cgpdftops - languageLevel = 3, mediaBox.size.width = 595, mediaBox.size.height = 842
D [04/Jan/2014:18:15:21 +0100] [Job 4] cgpdftops - documentMediaBox.size.width = 595, documentMediaBox.size.height = 842
D [04/Jan/2014:18:15:21 +0100] [Job 4] PID 1384 (/usr/libexec/cups/filter/foomatic-rip) crashed on signal 5.
D [04/Jan/2014:18:15:21 +0100] [Job 4] usb: AppleLanguages="es"
D [04/Jan/2014:18:15:21 +0100] [Job 4] STATE: +connecting-to-device
Ahora que ya sabemos el filtro que falla, buscamos su nombre en el log, en mi caso: foomatic-rip, y encontramos la siguiente joya:
Library not loaded: /opt/local/lib/libgs.8.70.dylib
Nuestros filtros están en:
/usr/libexec/cups/filter
Miramos qué versión de la librería usa nuestro filtro:
otool -L /usr/libexec/cups/filter/foomatic-rip | grep libgs
Da:
/opt/local/lib/libgs.8.70.dylib (compatibility version 0.0.0, current version 0.0.0)
Miramos en el directorio /opr/local/lib buscamos las librerías libgs* y salen:
libgs.9.10.dyliblibgs.9.dyliblibgs.dylib
Parece que el problema es que nuestro filtro usa la versión 8.70 de la librería y nosotros tenemos ahora la 9.10.
La solución:
Vamos a la página:
http://www.linuxfoundation.org/collaborate/workgroups/openprinting/macosx/foomatic
y nos descargamos tanto foomatic-rip como Ghostscript*** (libgs es la librería de Ghostscript). Ambos dmgs tienen un package de instalación, en el que haremos doble click, en el caso de Ghostscript en GPL Ghostscript.mpkg:
Es probable que el sistema no nos deje, porque no hemos descargado los dmg de una fuente fiable según Apple.
En ese caso, nos daremos acceso en Preferencias del Sistema | Seguridad y Privacidad:
Pulsaremos “Cualquier sitio”. Si está griseado, tendremos que pulsar en el candado en la esquina inferior derecha e introducir nuestra constraseña (con un usuario administrador).
Ahora ya nos dejará instalar tanto Ghostscript como foomatic-rip.
Foomatic-RIP se instala pinchando en Foomatic-RIP.pkg
Probaremos la impresión y, si hay suerte, funcionará.
No olvidemos volver a dejar el LogLevel de CUPS a warn (si lo cambiamos para investigar el error) y la descarga de aplicaciones al nivel de seguridad deseado, en mi caso: “Mac App Store y desarrolladores identificados”.
Tened en cuenta que con esto habremos retrocedido en la versión de Ghostscript y de foomatic-rip a la de Lion, mientras no salga la de Mavericks, así que puede que otra cosa deje de funcionar mientras tanto...
Espero que esto ayude a alguno que otro. Ya me diréis...
*** Es posible que no sea necesario descargarse Ghostscript después de todo, ya que foomatic-rip parece que no lo usa en la versión descargada. Probad sin ello y contadme. No quiero tocar más en el sistema que ahora funciona...
domingo, 5 de enero de 2014