domingo, 21 de marzo de 2010

Cups, configurar impresoras

Common Unix Printing System (Sistema de impresión común de Unix, abreviado CUPS) es un sistema de impresión modular para sistemas operativos de tipo Unix que permite que un ordenador actúe como servidor de impresión. Un ordenador que ejecuta CUPS actúa como un servidor que puede aceptar tareas de impresión desde otros ordenadores clientes, los procesa y los envía a la impresora.


CUPS está compuesto por una cola de impresión con su planificador, un sistema de filtros que convierte datos para imprimir hacia formatos que la impresora conozca, y un sistema de soporte que envía los datos al dispositivo de impresión. CUPS utiliza el protocolo IPP (Internet Printing Protocol) como base para el manejo de tareas de impresión y de colas de impresión. También provee los comandos tradicionales de línea de comandos de impresión de los sistemas Unix, junto a un soporte limitado de operaciones bajo el protocolo Server Message Block (SMB). Los controladores de dispositivos de impresión que CUPS provee pueden ser configurados utilizando archivos de texto con formato PostScript Printer Description (PPD) de Adobe Systems. Existen varias interfaces de usuario para diferentes plataformas para configurar CUPS, cuenta también con una interfaz como aplicación Web. CUPS es software libre y se distribuye bajo licencia GPL (Licencia Publica General)




Instalar el servidor y el cliente Cups

Debian GNU/Linux en su versión testing (squeeze) instala por defecto el sistema cliente/servidor de impresión cups en la instalación del sistema. En caso contrario hemos de instalar los siguientes paquetes:

apt-get install cups
apt-get install cups-client
apt-get install cups-common

aunque el sistema por defecto también instala el paquete cups-bsd, con los anteriores son necesarios para poder instalar una impresora, bien sea una impresora local o remota.





Instalar una impresora usando Cups

En este manual vamos aprender a instalar una impresora local o remota usando cups, la impresora a instalar en este manual es HP Deskjet F2420.

Todos los archivos de configuración de cups se encuentran en la carpeta /etc/cups. El archivo de configuración del servicio es el archivo /etc/cups/cupsd.conf pero no es necesario cambiar nada ya que la configuración del servicio se realiza vía web.

Nota: Por defecto cups se encuentra configurado para que solo se pueda administrar impresoras directamente en el servidor. Aunque podemos cambiarle la configuración  en el archivo /etc/cups/cupsd.conf para permitir administrar impresoras desde cualquier ordenador de nuestra red local.

Una vez que tenemos en marcha el servicio de impresión cups, podremos configurar la impresora y administrar las tareas de impresión.

Desde el servidor o el cliente, debemos abrir un navegador e ir a la siguiente dirección: http://localhost:631

La página principal del administrador Cups vía web es:


Lo primero que hemos de hacer es pulsar en: Añadiendo impresoras y clases


Y nos muestra la siguiente pantalla, en la cual pulsamos en la opción: Añadir impresora


Al pulsar en Añadir impresora, lo primero que nos preguntan es el nombre del administrador en este caso es: root y la contraseña de este.



Una vez introducido los datos de usuario y contraseña, podemos Añadir la impresora, este paso es el único que diferencia si la impresora a instalar es local o remota. Como podemos ver en la siguiente captura de pantalla, la parte superior enmarcada en rojo se usa para configurar una impresora conectada en ese mismo ordenador (local), y la parte inferior enmarcada en azul se usa para configurar una impresora conectada a otro ordenador de tu misma red (remota).


Como en este manual vamos a configurar una impresora remota usamos la parte inferior azul, y en mi caso seleccionamos: Protocolo de Impresión de Internet IPP (ipp) aunque igualmente podía haber elegido: Protocolo de Impresión de Internet IPP (http), y pulsamos en Siguiente.


En la siguiente pantalla hemos de rellenar los datos necesarios para conectar con la impresora, los datos necesarios para mi caso en particular son: 
ipp://192.168.2.102:631/printers/Deskjet_f2400_series

- Protocolo de conexión: ipp
- Dirección IP donde se encuentra la impresora instalada: 192.168.2.102:631/printers
- Nombre que se le dio a la impresora en local: Deskjet_F2400_series


En la siguiente pantalla nos pregunta por: Nombre, Descripción, Ubicación y si deseamos Compartir la impresora. En este caso solo es obligatorio ponerle un nombre a la impresora, las demás opciones son opcionales.

En mi caso el nombre de la impresora es: Deskjet_F2400_series


Ahora vamos a añadir el driver de la impresora.


En mi caso selecciono HP.


Una vez seleccionado la marca HP ahora nos toca seleccionar el controlador adecuado, en mi caso es: HP Deskjet f2400 Series, hpcups 3,10,2 (en) y pulsamos en añadir impresora.


En la siguiente pantalla nos informa que la impresora ya se ha configurado perfectamente: Tamaño del papel, la calidad de impresión , etc... una vez configurada la impresora a nuestras necesidades pulsamos en: Cambiar opciones predeterminadas para confirmar.


En la siguiente y ultima pantalla nos informa que la impresora se ha configurado perfectamente.


Las siguientes 3 capturas de pantalla podemos observar como la impresora se encuentra perfectamente configurada, en que ubicación se encuentra instalada (en que ordenador de nuestra red) y que esta esperando para recibir trabajos.





Captura de pantalla de las opciones de impresión desde OpenOffice.org





=========================================================================

Administrar cups desde cualquier ordenador de nuestra red local

Como dije antes, por defecto cups se encuentra configurado para que solo se pueda administrar impresoras directamente en el servidor. Aunque podemos cambiarle la configuración  en el archivo /etc/cups/cupsd.conf para permitir administrar impresoras desde cualquier ordenador de nuestra red local.

Pues bien vamos a realizar la configuración necesaria para poder administrar impresoras con cups desde cualquier ordenador de nuestra red local.

Primero nos posicionamos en la carpeta /etc/cups y editamos el fichero cupsd.conf como usuario administrador.


Lo primero que observamos al editar el fichero cupsd.conf, es que ya se encuentra configurado para que solo sea usado por el usuario administrador o grupo de administradores y solo desde el propio servidor.



Lo primero que vamos a modificar es el apartado # Only listen for connections from the local machine. (# Sólo escuchar las conexiones desde la máquina local.)
Vemos como solo esta configurado para que se conecten solos desde el servidor al puerto 631 (Listen localhost:631)


Y modificamos Listen localhost:631 por Listen *:631 para que se pueda acceder desde cualquier ordenador de nuestra red local.


O bien podemos indicamos el o los ordenadores que permitimos se puedan conectar al servidor cups, mediante su dirección IP: Listen 192.168.2.106:631


Ahora un poco mas abajo, nos situamos en: # Restrict access to the server... (# Restringir el acceso al servidor ...) y seleccionamos el o los usuarios que puedes acceder al servidor cups


Para permitir que todos los usuario puedan acceder al servidor añadimos la siguiente línea:
Allow from  all (Permitir a todos los usuarios) entre las etiquetas <Location> y


O para permitir que uno o varios usuario pueda acceder al servidor, le añadimos la dirección IP de los ordenador, en este ejemplo solo autorizamos a un usuario añadiendo la siguiente línea:
Allow from  192.168.2.106 (Permitir solo a los usuarios del ordenador con IP 192.168.2.106) entre las etiquetas y




Ahora vamos a configurar que los usuarios puedan administrar impresoras (instalar, configurar, borrar, etc...) para ello nos dirigimos un poco mas abajo a la etiqueta # Restrict access to the admin pages..  (# Restringir el acceso a las páginas de administración ..) 


Y entre las etiquetas y añadimos la siguiente linea: Allow from all (Permitir a todos los usuarios)


O para permitir que uno o varios usuario puedan acceder al servidor, le añadimos el o los nombres de los usuarios autorizados. Allow from  diego (Permitir solo al usuario diego) entre las etiquetas <Location /admin> y


Una vez realizados los cambios pulsamos en: guardamos los cambios y cerramos el fichero.

Por ultimo para que los cambios surtan efecto hemos de reiniciar el servidor cups, para ello lanzamos una consola de comandos y usamos el siguiente comando:
/etc/init.d/cups restart








 =========================================================================

Vídeotutorial











Nota: Los vídeotutoriales son totalmente ajenos a este blog, son enlaces correspondientes a youtube, screencast, vimeo, etc...

















.
.

10 comentarios:

Anónimo dijo...

Muy interesante. Me ha venido muy bien para una práctica que tengo que entregar esta noche antes de las 12. Muchas gracias por el aporte. Ya seguiré mirando la web porque tiene muy buena pinta. Saludos.
Xavi.

Anónimo dijo...

Buen Aporte, muy sencilla explicacion con Cups, tuve que colocar otro driver a mi impresora por que no aparecia para la mia, al fin resulto, saludos.

Anónimo dijo...

Me gusta la forma que se explica ya que es bastante clara. Me sirvió bastante.

Gracias.

Kefes dijo...

El problema que tenia era que, me faltaba:
apt-get install python-smbc
para poder navegar i encontrar la impresora que tenia instalada en el otro ordenador.

FRANCISCO dijo...

Muchas gracias! Muy útil!!

Usuario_Debian dijo...

Me alegra mucho ver que esta entrada os ha sido muy util. Gracias por comentar.

Saludos

Unknown dijo...

Muchas gracias! Me sirvió... =)

Unknown dijo...

Excelente información Amigo linux. Saludos.

Anónimo dijo...

Excelente información Amigo Linux. Saludos

gator960 dijo...

La explicación y el paso a paso está excelente. Mi problema es que tengo una "epson L355 ecotank" y no figura en la lista de los controladores... un grave problema intenté con los de la L310 pero no funciona. Me llama la atención que falten, si alguien me puede ayudar...desde ya gracias.