|
G A C E T A D E L I N U X
...haciendo a Linux un poco más divertido! |
|
El sistema de Impresión CUPS
Por Alan Ward Traducción al español por Ariel Jolodovsky
|
El sistema de impresión CUPS es lo que su nombre indica: Un Sistema de Impresión Común para Unix (Common Unix Printing System). Está enfocado para proveer una interfaz común de impresión a través de una red local, enmascarando diferencias entre el sistema de impresión en cada computadora. No estoy seguro de que un sistema como este sea realmente necesario en un entorno puramente Linux donde el LPD estandar de Berkely provee esta función, CUPS nos provee de interactividad con SMB e impresoras Windows. Además nos permite una detección y agrupación dinámica de impresoras.
CUPS está bajo la licencia GPL por una companía llamada Easy Software Products. Además de proveer CUPS como un software libre, provee agregados y soporte comerciales.
Puedes bajarlo desde www.cups.org, o como un paquete RPM para la mayoría de las distribuciones (por ejemplo Mandrake, RedHat y SuSE).
¿Cómo funciona?
CUPS puede ser visto como un reemplazo del sistema de impresión LPD. Reemplaza el comando lpr con uno propio, y a los drivers de impresoras LPD con los de sus propias versiones. Sin embargo, se parece mucho a LPD en que esta basado en PostScript al estar subordinado a un lenguaje para la descripción de páginas. Los programas de Linux (e Unix) no reconocerán la diferencia entre CUPS y LPD.
Contiene una lista de drivers que incluyen a la mayoría de impresoras con puerto paralelo, USB e incluso puerto serie. Sobre el puerto serie - el conectar una impresora en serie es lento y mas dificultoso de configurar que una conectada a un puerto paralelo, pero es suficiente para una impresora matríz de punto -- para realizar muchas copias -- y hace más fácil la construcción de un servidor de impresoras a partir un montón de hardware viejo. ¡Un buen consejo para escuelas!
Detección dinámica de impresoras
CUPS tiene una característica de sistemas Windows la cuál no es muy común en el mundo Unix: transmite una impresora disponible en la computadora local, a todas las computadoras de la red. De esta manera, todas las computadoras en el segmento local de IP puede conocer en tiempo real que impresoras estan disponibles y cuál es su estado.
Naturalmente, puede ser -- a diferencia de Windows :-) -- configurado. Le puedes decir a CUPS (en el archivo de configuración cupsd.conf) si y a donde transmitir, y especificar cuán seguido actualizar la información.
Agrupando impresoras
Un grupo de impresoras -- llamado clase (class) por CUPS -- es un grupo de impresoras que aparece como una sola en un programa del usuario. Por ejemplo, puedes crear un grupo llamado "ImpresorasDeColor", el cual incluye todas tus impresoras de color. El usuario puede entonces decirle al programa que imprima usando "ImpresorasDeColor", y la salida será una de esas impresoras. La cuál dependerá de los derechos del usuario o de las impresoras disponibles en ese momento.
El hecho de que una impresora sea miembro de un grupo, no quiere decir que un usuario puede usar esa impresora directamente. Aunque al nivel de acceso de control de CUPS, puedes hacer que la impresora rechace trabajos - mientras que el grupo los acepte. El resultado será que un usuario puede usar un grupo, pero no las impresoras. Ésto depende un poco de la política de impresión que trates de implementar.
Tengo mi taller con cinco computadoras bajo Linux, todas ellas corriendo CUPS. Cuando cambio una impresora en una de ellas, yo:
a través de la inrefaz web de CUPS, en aproximadamente 30 segundos. Esa es toda la configuración necesaria - las otras computadoras actualizan sus routers de impresión por defecto en otros 30 segundos. El cambio me tomó sólo 1 minuto: menor tiempo del que una impresora laser necesita para encender.
Me gustaría proveer en la red de mi escuela:
La mayoría de estas impresoras están conectadas a computadoras con Windows y estarían directamente disponibles para otras impresoras bajo Windows. Sin embargo, proveyendo CUPS a través de un router/puente central, yo:
Integración con Windows
Para usar una impresora de Windows bajo Linux o viceversa, necesitará tener el servidor SAMBA corriendo. Deberá configurarlo y probarlo antes de continuar (como un usuario normal, trate de ver su directorio personal de Linux en una computadora con Windows). Recuerde activar la encriptación de password (password encyptation) en /etc/samba/smb.conf si está usando Windows98 o superior.
CUPS puede usar impresoras compartidas por computadoras bajo Windows, e impresoras en red utilizando el protocolo SMB. Puede configurar "una impresora Windows usando Samba". Básicamente, sólo tienes que decirle a CUPS la dirección de la impresora por ejemplo: smb://servidor/impresora.
Windows puede usar una impresora CUPS compartida por Samba. Procede en la forma normal para compartir sus impresoras con Samba: por ejemplo: no hacer nada. Sus impresoras son generalmente compartidas por defecto. Si este no es el caso, edite smb.conf para crear el "share" (compartición) necesario. Todas las opciones de compartición de Samba puede aplicarse. Ésto se debe a que Samba trata a una impresora CUPS de la misma manera que a cualquier impresora LPD.
Impresoras en red
Impresoras en red -- por ejemplo: una impresora con una interfaz de red, no nocesita una computadora "host" (anfitriona) para estar disponible en la red -- puede usarse cualquier variedad de protocolos:
En los primeros dos casos, proceda como si fuese una impresora sobre una computadora. En el tercelo, probablemente este en un callejón sin salida. Ésto me sucedió con una impresora Lexmark: Terminé compartiéndola desde una PC con Windows.
Configuraciones
Hay dos formas de configurar CUPS. La primera es editando el archivo de configuración /etc/cups/cupsd.conf. La segunda es a través de una interfaz web clásica, ubicada en el puerto 631. Ésta es muy parecida a la configuración web de muchas impresoras aptas para redes, y debería ser intuitíva para todos.

Generalmente, puedes acceder a la interfaz web solo desde la interfaz localhost, no desde otras computadoras. Aunque puede evitar ésto cambiando las siquientes líneas en el archivo de configuración cupsd.conf, y reiniciando CUPS:
<Location /> # esto es la pantalla principal
Order Deny, Allow
Deny From All
Allow From 127.0.0.1 # permite la configuración desde localhost
Allow From 192.168.1.* # permite la configuración desde otra computadora
# en la 192.168.1.0/24 subnet (sub red)
Allow From mybox.mydomain # este es mi escritorio en otro segmento
</Location>
Además puedes especificar una por una que items del menú (llamados Locations en los terminos de CUPS) son accesibles desde cualquier IP en particular. Ésto no significa que otras computadoras no podrán conectarse al servidor - sólo que no estará permitido el acceso a esos contenidos.
Si su computadora con Linux, está haciendo a la vez de servidor de impresión y de conexión (puente) entre dos o más segmentos IP, puedes especificar en que interfaz de red escuchará los pedidos:
Listen 127.0.0.1:631 # Debería estar en el archivo Listen servename:631 # Agrega tu nombre de servidor Listen 192.168.1.1:631 # Además puedes dar tu direccion IP
En el ejemplo anterior, la interfaz web será visible a través de mi interfaz eth0 con la dirección de IP 192.168.1.1, pero no a través de eth1 con la ip 172.16.0.1 .
La identificación por usuario es un requisito básico login/password (nombre de usuario y contraseña) y puede usar SSL para conectarse con la interfaz web, por medio del protocolo seguro https. Ésto también es relativamente fácil de configurar a través del archivo cupsd.conf .

La interfaz web tiene un sistema de ayuda lleno de documentación sobre lo que es CUPS y como configurarlo.
P.D: Cualquiera puede traducir este artículo: Lo escribí inspirado en el espíritu de la licencia de software GPL. Por ejemplo, eres libre (y te aliento a que) lo copies, lo postees y lo traduzcas -- pero POR FAVOR ¡mandame un email! Me gusta seguir el rastro de las traducciones -- es bueno para el curriculum :-)
Alan enseña CS en Andorra en una preparatoria y universidad. Sus hobbies incluyen ciencia, fotografía (ambas digitales y tradicionales),
trekking, y colecciona piedras preciosas.