Categorías

Linux #02.11 Impresoras en Linux

Introducción
CUPS
Configuración de la Impresora en Red Hat Mandrake Linux 9

Este sistema es denominado LPD (Line Printer Daemon). Es un sistema de impresión muy potente, tiene capacidad de gestionar impresoras locales y de red. Dando dentro del mismo tanto el cliente como el servidor.

Este sistema es antiguo, lo que hace que le suelan faltar soporte para dispositivos más modernos, ya que no fue pensado para las impresoras actuales.

Además de este sistema, también tenemos el System V. Por compatibilidad las distribuciones suelen traer ambos. En GNU/Linux podemos tener uno y otro según la instalación que realicemos. Una forma de identificar los dos sistemas es con el comando principal de impresión, en BSD (LPD) es lpr y en System V es lp.

Este era el inicio de los sistemas de impresión en GNU/Linux, pero en estos años han surgido más sistemas. Los dos principales son LPRng y CUPS.

Los dos son unos sistemas de alto nivel, a pesar de que no tiene muchas diferencias con los anteriores, ya que los comandos para imprimir son los mismos. Las diferencias se encuentran al administrar, los sistemas de configuración son diferentes.

En las distribuciones actuales encontramos todos los sistemas de impresión.

Respecto a cada uno de los sistemas:

  • BSD LPD: estándar UNIX, Ali que se asume que el sistema tendrá disponible este. LPRng y CUPS emulan el funcionamiento de los comandos BSD LPD. No es un sistema muy configurable.
  • LPRng: se diseñó para reemplazar a BSD, es parecida la configuración, solo se diferencia en algunos ficheros.
  • CUPS: es una desviación del BSD original. Se proporciona información a las aplicaciones sobre las impresoras disponibles.

Hay que tener en cuenta varios aspectos:

  • Sistema de impresión que se utiliza: BSD, LPRng o CUPS.
  • Dispositivo de impresión (impresora): puede disponer de conexión local a una maquina o estar colocada en red.
  • Protocolos de comunicación utilizados con la impresora, o el sistema de impresión: ya sea TCP/IP directo, o bien otros de más alto nivel sobre TCP/IP, como IPP (CUPS), JetDirect, etc. Este parámetro es importante, ya que lo debemos conocer para instalar la impresora en un sistema.
  • Sistema de filtros usado, cada sistema de impresión soporta uno o varios.
  • Hay muchos controladores para las impresoras en GNU/Linux, por ejemplo, controladores de: CUPS; Gimp, el programa de retoque de imágenes también posee drivers optimizados para la impresión de imágenes; Foomatic es un sistema de gestión de controladores que funciona con la mayoría de sistemas (CUPS, LPD, LPRng, y otros); los controladores de Ghostscript, etc. En casi todas las impresoras tienen uno o más controladores de estos conjuntos.

Los comandos básicos son iguales para los diferentes sistemas, y éstos son los comandos del sistema BSD :

  • lpr: envía a la cola de impresión el trabajo, el daemon (lpd) es el que se encarga de mandarlo a la que le corresponda, y le asigna un número de trabajo. La impresora por defecto se indica en la variable de sistema PRINTER.

Ejemplo de lpr:

lpr –P epson datos.txt

Esta instrucción mandaría el fichero datos.txt a la cola de impresión asociada a una impresora que hemos definido como “epson”.

  • Se puede encontrar información
  • lpq: nos permite examinar los trabajos existentes en la cola.

Ejemplo de lpq:

# lpq -P epson

Rank Owner Job Files Total Size

1st juan 15 datos.txt 74578 bytes

2nd marta 16 fpppp.F 12394 bytes

  • lprm: elimina trabajos de la cola, podemos especificar un número de trabajo, o un usuario para cancelar los trabajos.

Ejemplo de lprm:

#lprm –P epson 15

Eliminar el trabajo con id 15 de la cola.

En BSD el comando sería lpc, para activar y desactivar colas, mover trabajos en las colas y activar y desactivar las impresoras.

En el caso de System V, los comando del cliente son: lp, lpstat, cancel y para temas de administración: lpadmin, accept, reject, lpmove, enable, disable, lpshut.

CUPS

Es una arquitectura nueva para la impresión diferente a las existente, aunque tiene compatibilidad con ellas. Soporta un nuevo protocolo llamado IPP, únicamente disponible cuando el cliente y el servidor son de tipo CUPS. Utiliza unos tipos de drivers , PPD, para identificar las capacidades de la impresora.

El sistema de administración es totalmente diferente. Tendremos los ficheros: /etc/cups/cupsd.conf centraliza la configuración del sistema, y /etc/printers.conf controla la definición de impresoras, y /etc/cups/classes.conf los grupos de éstas.

En /etc/cups/cupsd.conf, configuramos el sistema. El archivo es bastante grande, destacaremos algunas directivas importantes:

  • Allow: especifica las máquinas que pueden acceder al servidor.
  • AuthClass: indica si se pedirá que el usuario se autentifique.
  • BrowseXXX: hay unas directivas para ver que
    impresoras podemos encontrar en la red es la llamada browsing.

Otra importante para mencionar es BrowseAllow, que dice a quién le damos la posibilidad de preguntar por nuestras impresoras; por defecto está habilitada, por lo que cualquiera puede ver nuestra impresora desde nuestra red.

CUPS está pensado para que tanto clientes, como el servidor funcionen bajo el mismo sistema, si los clientes utilizan LPD o LPRng, hay que instalar un daemon de compatibilidad llamado cups-lpd. En este caso, CUPS acepta trabajos que provengan de un sistema LPD o LPRng, pero no controla los accesos (cupsd.conf sólo sirve para el propio sistema CUPS), por lo tanto, habrá que implementar alguna estrategia de control de acceso, tipo firewall por ejemplo.

Configuración de la Impresora en Red Hat Mandrake Linux 9

La Herramienta de configuración de impresoras permite a los usuarios configurar una impresora en Red Hat Linux.

Desde la versión 9, Red Hat Linux, CUPS es el sistema de impresión predeterminado. Pero proporcionando todavía el sistema de impresión por defecto anterior.

Si un sistema fue actualizado desde una versión anterior de Red Hat Linux que usaba CUPS, el proceso de actualización mantiene las colas configuradas y el sistema continuará usando CUPS.

La Herramienta de configuración de impresoras configura ambos sistemas de impresión CUPS y LPRng, dependiendo de cual se configure a usar en el sistema.

Para usar la Herramienta de configuración de impresoras debe tener privilegios como root. Para iniciar: Botón de menú principal (en el Panel) => Configuración del sistema => Impresión, o escriba el comando redhat-config-printer.

Importante: No modifique el archivo /etc/printcap o los archivos en el directorio /etc/cups/. Cada vez que el demonio de impresión (lpd o cups) es iniciado o reiniciado, se crean dinámicamente nuevos archivos de configuración.

Si está usando LPRng y desea añadir una impresora sin usar la Herramienta de configuración de impresoras, modifique el archivo /etc/printcap.local. Cada vez que se genera un nuevo archivo de configuración, el archivo viejo es guardado como /etc/printcap.old.

Si está usando CUPS, la Herramienta de configuración de impresoras no despliega las colas o comparticiones que no hayan sido configuradas con la Herramienta de configuración de impresoras; sin embargo, no las eliminará de los archivos de configuración. (Ver fotografía)

Se pueden configurar los siguientes tipos de colas de impresión:

  • Conectada-localmente Conectada CUPS (IPP) — una impresora conectada a un sistema CUPS diferente que puede ser accesada sobre una red TCP/IP.
  • Conectada UNIX (LPD) — una impresora conectada a un sistema UNIX diferente que puede ser accesada sobre una red TCP/IP.
  • Conectada Windows (SMB) — una impresora conectada a un sistema diferente el cual está compartiendo una impresora sobre una red SMB.
  • Conectada Novell (NCP) — una impresora conectada a un sistema diferente el cual usa la tecnología de red Novell NetWare.
  • Conectada JetDirect — una impresora connectada directamente a la red a través de HP JetDirect en vez de a un computador.

Importante: Si agrega una nueva cola de impresión o modifica una existente, debe aplicar los cambios para que tomen efecto.

AÑADIR UNA IMPRESORA LOCAL

Para añadir una impresora local, haga clic en Nuevo en la ventana principal de la Herramienta de configuración de impresoras para mostrar la ventana en la Figura 2. Haga clic en Siguiente para proceder. Ver imagen

En la ventana mostrada en Figura 3, introduzca un nombre único para la impresora en el campo de texto Nombre. Ver imagen

Después de hacer clic en Siguiente, aparecerá la Figura 4. Seleccione Conectado localmente desde el menú Seleccionar el tipo de cola y seleccione el dispositivo. El dispositivo es usualmente /dev/lp0 para una impresora paralela o /dev/usb/lp0 para una impresora USB. Si no aparece ningún dispositivo en la lista, haga clic en Volver a escanear dispositivos para revisar nuevamente la máquina o haga clic en Dispositivo personalizado para especificarlo manualmente. Haga clic en Siguiente para continuar. Ver imagen

AÑADIR UNA IMPRESORA IPP

Una impresora de red IPP es una impresora conectada a un sistema Linux diferente en la misma red ejecutando CUPS o una impresora configurada para usar IPP en otro sistema operativo. Por defecto, la Herramienta de configuración de impresoras navega la red en busca de impresoras compartidas IPP.

Si tiene un cortafuegos (firewall) configurado en el servidor de impresión, este debe ser capaz de enviar y recibir conexiones en el puerto de entrada UDP 631.

Si desactivó la característica automática de navegación, todavía puede agregar una impresora de red IPP haciendo clic en el botón Nuevo en la ventana principal de la Herramienta de configuración de impresoras para desplegar la ventana en la Figura 2. Haga clic en Siguiente para proceder.

En la ventana mostrada en Figura 3, introduzca un nombre único para la impresora en el campo de texto Después de hacer clic en Siguiente, aparecerá la Figura 5. Seleccione Conectada CUPS (IPP) desde el menú Seleccionar un tipo de cola. Ver imagen

Aparecen los campos de texto para las opciones siguientes:

  • Servidor — El nombre de la máquina o dirección IP de la máquina remota a la cual la impresora está conectada.
  • Ruta — La ruta de la cola de impresión en la máquina remota.

SELECCIÓN DEL MODELO DE IMPRESORA

Verá una ventana similar a la Figura 10. Si no fue detectado automáticamente, seleccione el modelo de la lista. Las impresoras son divididas por fabricantes. Seleccione el nombre del fabricante desde el menú. Seleccione el modelo de impresora de la lista. Ver imagen

El controlador de la impresora recomendado es escogido basado en el modelo de impresora seleccionado. El controlador de la impresora procesa los datos que desea imprimir en un formato que la impresora pueda entender.

CONFIRMACIÓN DE LA CONFIGURACIÓN DE LA IMPRESORA

El último paso es la configuración de su impresora. Haga clic en Aplicar para agregar la cola de impresión si las configuraciones son correctas. Haga clic en Anterior para modificar la configuración de la impresora.

Presione el botón Aplicar en la ventana principal para guardar sus cambios y reiniciar el demonio de impresión. Después de aplicar los cambios, imprima una página de prueba para asegurarse de que la configuración es correcta.

Si necesita imprimir caracteres fuera del conjunto ASCII básico (incluyendo aquellos usados por idiomas tal como el japonés), debe revisar las opciones de su controlador y seleccionar Preparar PostScript.

Resumen

El sistema de impresión de GNU/Linux es el denominado LPD (Line Printer Daemon)

  • Los dos principales sistemas de impresión son: LPRng y CUPS.
  • Los comandos básicos son iguales para los diferentes sistemas, y son :lpr,lpq, lprm.
  • CUPS es una nueva arquitectura para el sistema de impresión bastante diferente, tiene, una capa de compatibilidad hacia BSD LPD, que le permite interaccionar con servidores de este tipo.
  • Los ficheros de configuración de CUPS son: /etc/printers.conf, /etc/cups/cupsd.conf, /etc/cups/classes.conf.
  • Desde la versión 9, Red Hat Linux, CUPS es el sistema de impresión predeterminado. Sin embargo, todavía se proporciona el sistema de impresión por defecto anterior, LPRng.