3 dic 2014

Configurar CUPS como servidor de impresión

Al hilo de una pregunta de un compañero sobre la configuración del servidor de impresión CUPS, he pensado que sería interesante comentar este tema.
El título de este post, en realidad, no es de lo más acertado porque CUPS siempre trabaja como servidor de impresión, aunque por defecto viene configurado para escuchar en localhost:631, y, por lo tanto tan sólo configura la impresora para la máquina local. ¿Cómo? Con una línea en el fichero de configuración /etc/cups/cupsd.conf como la siguiente:
Listen localhost:631
Para cambiar este comportamiento, podemos modificar la línea anterior de tal manera que, en lugar de localhost, especifique la dirección IP de la máquina. Por ejemplo, si el equipo que comparte la impresora tiene la IP 172.19.144.240: 
Listen 172.19.144.240:631
De este modo, cualquier máquina de nuestra red, podrá imprimir en la/s impresora/s conectada/s a este servidor.

Ahora bien, supongamos que estamos utilizando una máquina que queremos usar como servidor de impresión en dos redes a las que tiene conexión mediante dos interfaces de red con direcciones IP 172.19.144.240 y 192.168.0.240. Para hacer que el servidor de impresión escuche en ambas interfaces, tan sólo tenemos que añadir una línea por cada interfaz:
Listen 172.19.144.240:631
Listen 192.168.0.240:631
Por supuesto, siempre que hagáis cambios en el fichero de configuración, deberéis reiniciar el servicio:
# service cups restart
Publicado por primera vez en http://enavas.blogspot.com.es

Instalar drivers de impresoras en Linux

Cuando instalo impresoras en Linux, siempre trato de descargar los drivers desde la web del fabricante. Y si el fabricante no proporciona un driver para Linux, suelo acudir a OPENPRINTING:
http://www.openprinting.org/printers
Publicado por primera vez en http://enavas.blogspot.com.es

Añadir nuevos "drivers" de impresoras a CUPS

El servidor de impresión CUPS (Common Unix Printing System) utiliza archivos PPD (PostScript Printer Description), un estándar desarrollado por Adobe, para realizar la impresión. 

Cuando configuramos una impresora le asociamos un archivo PPD. Ese archivo PPD contiene el código PostScript necesario para usar las características de la impresora, de manera que funciona como un controlador de dispositivo.

Normalmente, cuando configuramos impresoras en Linux, utilizamos los archivos ppd que nos proporciona el sistema, pero, en ocasiones, necesitamos instalar un driver específico proporcionado por el fabricante o descargado por nosotros desde la web. En este caso, para que los archivos ppd que añadamos se encuentren disponibles en la lista de drivers a la hora de instalar una nueva impresora, los copiaremos al siguiente directorio de cups:
/usr/share/ppd/custom

Y si el driver que queremos añadir incorpora también algún filtro, lo colocaremos en el siguiente directorio de cups:
/usr/lib/cups/filter

Sabiendo ésto, automatizar esta tarea con puppet es muy sencillo.

Para distribuir drivers de impresoras a los equipos de mi centro, tengo creado un módulo al que he llamado puppet-cups, que, entre otras cosas, añade todos los módulos que coloque en el directorio ppd del módulo.
Publicado por primera vez en http://enavas.blogspot.com.es