Preparación para el examen 102 de LPI, Tema 107: Impresión

Tema 107 del examen de Administración Nivel Junior (LPIC-1)

En este tutorial, Ian Shields continúa preparándolo para el examen 102 de® Administración Nivel Junior de Linux Professional Institute (LPIC-1). En esta tercera parte de una serie de nueve tutoriales, Ian presenta el tema de la impresión en Linux.® Al finalizar este tutorial, usted sabrá gestionar impresoras, colas de impresión y trabajos de impresión de usuarios en un sistema Linux.

Ian Shields, Senior Programmer, IBM

Ian ShieldsIan Shields trabaja en múltiples proyectos Linux para la zona Linux dev developerWorks. Es Senior Programmer de IBM en el Research Triangle Park (RTP), Carolina del Norte. Ingresó a IBM en Canberra, Australia, como Systems Engineer en 1973, y desde entonces se dedica a sistemas de comunicaciones y computación ubicua en Montreal, Canadá, y en el RTP de Carolina del Norte. Es propietario de numerosas patentes y publicó diversos trabajos. Tiene una diplomatura en Matemática Pura y Filosofía de la Universidad Nacional de Australia. Es Máster y Doctor en Ciencias de la Computación de la Universidad Estatal de Carolina del Norte.



23-11-2009

Antes de comenzar

Averigüe todo lo que puede aprender con estos tutoriales y cómo aprovecharlos al máximo.

Acerca de esta serie

Linux Professional Institute (LPI) otorga certificaciones de administración de sistemas Linux de dos niveles: nivel junior (también denominado "certificación de nivel 1") y nivel intermedio (también denominado "certificación de nivel 2"). Para obtener la certificación de nivel 1, debe aprobar los exámenes 101 y 102. Para obtener la certificación de nivel 2, debe aprobar los exámenes 201 y 202.

developerWorks ofrece tutoriales para ayudarlo a prepararse para los cuatro exámenes. Cada examen cubre una serie de temas y cada tema posee su correspondiente tutorial de auto-estudio en developerWorks. Los nueve temas del examen 102 de LPI y sus correspondientes tutoriales developerWorks son:

Tabla 1. Examen 102 de LPI: tutoriales y temas
Tema del examen 102 de LPITutorial developerWorksResumen del tutorial
Tema 105Preparación para el examen 102 de LPI:
Kernel
Aprenda a realizar instalaciones y mantenimiento en kernels Linux y módulos kernel.
Tema 106Preparación para el examen 102 de LPI:
Arranque, inicialización, apagado y niveles de ejecución
Aprenda a arrancar un sistema, a establecer parámetros kernel y a apagar o reiniciar un sistema.
Tema 107Preparación para el examen 102 de LPI:
Impresión
(este tutorial). Aprenda a gestionar impresoras, colas de impresión y trabajos de impresión de usuarios en un sistema Linux. Vea los objetivos detallados a continuación.
Tema 108Preparación para el examen 102 de LPI:
Documentación
Próximamente
Tema 109Preparación para el examen 102 de LPI:
Shells, scripting, programación y compilación
Próximamente
Tema 111Preparación para el examen 102 de LPI:
Tareas administrativas
Próximamente
Tema 112Preparación para el examen 102 de LPI:
Conceptos esenciales de redes
Próximamente
Tema 113Preparación para el examen 102 de LPI:
Servicios de redes
Próximamente
Tema 114Preparación para el examen 102 de LPI:
Seguridad
Próximamente

Para aprobar los exámenes 101 y 102 (y obtener la certificación de nivel 1), deberá saber:

  • Trabajar en la línea de comandos Linux
  • Realizar tareas de mantenimiento sencillas: asistir a usuarios, agregar usuarios a un sistema mayor, realizar copias de seguridad y restauraciones, y apagar y reiniciar.
  • Instalar y configurar una estación de trabajo (inclusive X) y conectarla a una LAN, o conectar una PC autónoma a Internet a través de un módem.

Para seguir preparándose para la certificación de nivel 1, lea los tutoriales developerWorks para los exámenes 101 y 102 de LPI y toda la serie de tutoriales LPI de developerWorks.

Linux Professional Institute no patrocina ningún material o técnica de preparación para exámenes de terceras partes en particular. Si desea obtener más información, escriba a: info@lpi.org.

Acerca de este tutorial

Bienvenido a "Impresión en Linux", el tercero de nueve tutoriales diseñados para prepararlo para el examen 102 de LPI. En este tutorial, aprenderá a configurar impresoras y gestionar trabajos de impresión en Linux.

Este tutorial está organizado en base a los objetivos LPI del tema. En líneas generales, se le harán más preguntas sobre los objetivos con mayor valor de ponderación.

Tabla 2. Impresión: objetivos del examen cubiertos en este tutorial
Objetivo del examen de LPIValor de ponderación del objetivoResumen del objetivo
1.107.2
Gestión de impresoras y colas de impresión
Valor de ponderación: 1Configurar y monitorear servidores de impresión. Gestionar colas de impresión, y solucionar problemas de impresión generales.
1.107.3
Impresión de archivos
Valor de ponderación: 1Agregar y eliminar trabajos de las colas de impresión configuradas. Convertir archivos de texto a PostScript para su impresión.
1.107.4
Instalación y configuración de impresoras
Valor de ponderación: 1Instalar y configurar impresoras locales y remotas, inclusive daemons de impresión y filtros de impresión. Usar impresoras locales y remotas, como impresoras PostScript, no PostScript y Samba.

Requisitos previos

Para aprovechar al máximo este tutorial, deberá tener conocimientos básicos de Linux y contar con un sistema Linux en el que pueda practicar los comandos explicados en el tutorial.

Este tutorial se basa en los contenidos desarrollados en los anteriores tutoriales de esta serie LPI, por lo cual se recomienda consultar primero los tutoriales del examen 101.

En algunos casos, es posible que las distintas versiones de programas muestren sus datos de salida en un formato distinto, por consiguiente, sus resultados pueden no ser idénticos a los listados y las figuras de este tutorial.

Al momento de la creación de este tutorial, los objetivos LPI publicados para este tema están principalmente orientados al Sistema de Impresión Común de Unix (Common Unix Printing System - CUPS), con algunos vestigios de los sistemas de impresión más antiguos Line Printer Daemon (LPD) y The Next Generation Line Printer, (LPRng o LPR). En consonancia con estos objetivos, este tutorial está principalmente orientado a CUPS y solamente se hace una breve mención de las tecnologías más antiguas. Para una preparación óptima, consulte otros documentos acerca de las tecnologías de impresión LPD y LPRng.


Gestión de impresoras y colas de impresión

Esta sección cubre material correspondiente al tema 1.107.2 del examen 102 de Administración Nivel Junior (LPIC-1). Este tema tiene un valor de ponderación de 1.

En esta sección aprenderá a:

  • Configurar y monitorear un servidor de impresión
  • Gestionar colas de impresión de usuarios
  • Solucionar problemas de impresión generales

Introducción

En los comienzos de la computación, la impresión se realizaba mediante impresoras de línea, que imprimían una línea de texto por vez usando caracteres de tamaño fijo y una única fuente. Para acelerar el rendimiento general del sistema, las primeras computadoras mainframe intercalaban el trabajo de periféricos lentos como lectores de tarjetas, perforadoras de tarjetas e impresoras de línea con otros trabajos. Así nacieron las operaciones periféricas simultáneas en línea (Simultaneous Peripheral Operation On Line) más conocidas como gestión de colas o spooling, término que aún se utiliza con frecuencia para referirse a la impresión con computadoras.

En los sistemas UNIX® y Linux, la impresión inicialmente usaba el subsistema de impresión Berkeley Software Distribution (BSD), que consistía en un daemon de impresora en línea (line printer daemon - LPD) que se ejecutaba como servidor y en comandos clientes como lpr que enviaban trabajos a imprimir. Luego, el IETF estandarizó este protocolo como RFC 1179, "Line Printer Daemon Protocol".

System V UNIX también contaba con un daemon de impresora. En términos funcionales, éste era similar al LPD de Berkeley, pero el conjunto de comando era diferente. Entonces, es frecuente encontrarse con dos comandos con distintas opciones que realizan la misma tarea. Por ejemplo, tanto lpr de la implementación de Berkeley como lp de la implementación de System V se usan para imprimir archivos.

Los avances en la tecnología de impresión permitieron combinar distintos tipos de fuentes en una página e imprimir imágenes para acompañar las palabras. Con las fuentes de tamaño variable y las técnicas de impresión más modernas, como el espaciado entre caracteres y las ligaduras, se abrieron nuevos horizontes. Se lograron varias mejoras del enfoque de impresión lpd/lpr básico, como The next generation LPR (LPRng) y el Sistema de Impresión Común de Unix (CUPS).

Muchas impresoras que permiten la impresión de gráficos usan el lenguaje Adobe PostScript. Una impresora PostScript tiene un motor que interpreta los comandos contenidos en un trabajo de impresión y produce páginas terminadas a partir de dichos comandos. PostScript suele usarse como una forma intermedia entre el archivo original (por ejemplo, un archivo de texto o de imagen), y la forma final adecuada para una impresora que no tiene capacidad PostScript. La conversión de un trabajo de impresión por ejemplo, de un archivo de texto ASCII o una imagen JPEG a un PostScript, o de un PostScript a al formato de trama final requerido por una impresora no PostScript se logra usando filtros.

A continuación, este tutorial se centrará en el Sistema de Impresión Común de Unix (CUPS), el cual soporta tanto los comandos tradicionales como las más modernas interfaces gráficas a funciones de impresión. Se considera que el lector cuenta con CUPS 1.1, el cual incluye varias características no presentes en versiones anteriores, como las contraseñas Digest para una mayor seguridad. Muchos escritorios y distribuciones proporcionan programas gráficos front-end para CUPS, es decir que el material aquí desarrollado no es de carácter exhaustivo. Este tutorial cubre los principales conceptos y algunas implementaciones en particular podrían presentar diferencias. Obsérvese también que la instalación física de la impresora está fuera del alcance de este tutorial.

Servidores de impresión

El servidor CUPS se ejecuta como un proceso daemon, cupsd, bajo el control de un archivo de configuración que normalmente se encuentra en etc/cups/cupsd.conf. El directorio /etc/cups también contiene otros archivos de configuración relacionados con CUPS. Suele iniciarse durante la inicialización del sistema, pero también podría ser controlado por el script cups ubicado en /etc/rc.d/init.d o en /etc/init.d, de acuerdo con su distribución. Como en la mayoría de este tipo de scripts, es posible detener, iniciar o reiniciar el daemon como muestra el Listado 1.

Listado 1. Iniciar y detener el daemon de cups
[root@attic4 ~]# /etc/rc.d/init.d/cups
Usage: cups {start|stop|restart|condrestart|reload|status}
[root@attic4 ~]# /etc/rc.d/init.d/cups stop
Stopping cups:                                             [  OK  ]
[root@attic4 ~]# /etc/rc.d/init.d/cups start
Starting cups:                                             [  OK  ]
[root@attic4 ~]# /etc/rc.d/init.d/cups restart
Stopping cups:                                             [  OK  ]
Starting cups:                                             [  OK  ]

El archivo de configuración, /etc/cups/cupsd.conf, contiene parámetros que pueden establecerse para controlar cuestiones como: el acceso al sistema de impresión, si se permite o no la impresión remota, la ubicación de los archivos spool, etc. Algunos sistemas tienen una segunda parte que describe las colas de impresión individuales, la cual suele ser automáticamente generada por las herramientas de configuración. El Listado 2 muestra algunas entradas de un archivo cupsd.conf predeterminado. Obsérvese que los comentarios comienzan con un carácter #, es decir que las entradas que se cargaron de manera predeterminada no tendrán el carácter inicial #. Obsérvese además que los archivos spool se almacenan predeterminadamente en el sistema de archivos /var/spool, en conformidad con el Estándar de Jerarquía de Sistema de Archivos (FHS).

Listado 2. Fragmentos de un /etc/cups/cupsd.conf predeterminado
#
# RequestRoot: the directory where request files are stored.
# By default "/var/spool/cups".
#

#RequestRoot /var/spool/cups
                    
#
# RemoteRoot: the name of the user assigned to unauthenticated accesses
# from remote systems.  By default "remroot".
#

#RemoteRoot remroot

#
# ServerBin: the root directory for the scheduler executables.
# By default "/usr/lib64/cups".
#

#ServerBin /usr/lib64/cups

#
# ServerRoot: the root directory for the scheduler.
# By default "/etc/cups".
#

#ServerRoot /etc/cups

Tome en cuenta el archivo /etc/printcap. Éste era el nombre del archivo de configuración de los servidores de impresión LPD y varias aplicaciones lo mantienen para determinar las impresoras disponibles y sus propiedades. Este archivo suele generarse automáticamente en el sistema CUPS, por lo cual es probable que no necesite modificarlo. Sin embargo, podría ser necesario verificarlo si se diagnostican problemas de impresión de usuarios. El Listado 3 muestra un ejemplo de este archivo.

Listado 3. /etc/printcap automáticamente generado
# This file was automatically generated by cupsd(8) from the
# /etc/cups/printers.conf file.  All changes to this file
# will be lost.
xerox|Xerox Docuprint C20:rm=localhost.localdomain:rp=xerox:
anyprint|Pick any printer:rm=localhost.localdomain:rp=anyprint:
r220|Epson R220:rm=localhost.localdomain:rp=r220:

Cada línea del ejemplo muestra un nombre de impresora y una descripción de impresora así como también el nombre de la máquina remota (rm) y de la impresora remota (rp) correspondiente a dicha máquina. Los archivos /etc/printcap típicos además describen las capacidades de impresión.

Como última modificación, CUPS 1.1 agregó un archivo passwd.md5. Esto permite la definición de los usuarios CUPS usando el comando lppasswd. No es necesario que las identificaciones de usuarios CUPS sean identificaciones de usuarios del sistema.

Colas de impresión

Una cola de impresión es una entidad lógica a la cual los usuarios dirigen trabajos de impresión. Muchas veces, en especial en sistemas de usuario único, una cola de impresión es sinónimo de una impresora. Sin embargo, CUPS admite sistemas sin una impresora conectada en los que se ponen en cola trabajos de impresión para ser posteriormente impresos en un sistema remoto. CUPS también admite el uso de clases, lo cual permite que el trabajo de impresión dirigido a una clase se imprima en la primera impresora disponible de dicha clase. Estas modalidades se desarrollan con mayor profundidad en la última sección de este tutorial.

La inspección y manipulación de colas de impresión se realiza usando varios comandos. Algunos de estos provienen de los comandos LPD, aunque las opciones soportadas en la actualidad suelen limitarse a un subconjunto de las que soporta el sistema de impresión LPD original. Otros comandos de CUPS son nuevos. En general, los usuarios pueden manipular sus propios trabajos de impresión, pero únicamente el usuario root u otro usuario autorizado pueden manipular los trabajos de otros usuarios. La mayoría de los comandos CUPS soportan la opción -E para la comunicación encriptada entre el comando cliente CUPS y el servidor CUPS.

Averigüe las colas que reconoce su sistema usando el comando CUPS lpstat. La Tabla 3 muestra algunas opciones comunes de este comando.

Tabla 3. Opciones de lpstat
OpciónPropósito
-aVisualizar el estado de aceptación de impresoras.
-cVisualizar clases de impresión.
-pVisualizar el estado de impresión: habilitado o deshabilitado.
-sVisualizar la impresora predeterminada, las impresoras y las clases. Es equivalente a -d -c -v. Obsérvese que las opciones múltiples deben separarse, ya que es posible especificar valores en muchas de ellas.
-sVisualizar impresoras y sus dispositivos.

También puede usar el comando LPD lpc, ubicado en /usr/sbin, con la opción status. Si no especifica un nombre de impresora, se listarán todas las colas. El Listado 4 muestra algunos ejemplos de ambos comandos.

Listado 4. Visualizar las colas de impresión disponibles
[ian@attic4 ~]$ lpstat -d
system default destination: xerox
[ian@attic4 ~]$ lpstat -v xerox
device for xerox: lpd://192.168.0.10/PS-66D975-P1
[ian@attic4 ~]$ lpstat -s
system default destination: xerox
members of class anyprint:
            r220
            xerox
device for anyprint: ///dev/null
device for r220: smb://MSHOME/DEN/EPSON220
device for xerox: lpd://192.168.0.10/PS-66D975-P1
[ian@attic4 ~]$ lpstat -a r220
r220 accepting requests since Sat 12 Aug 2006 04:01:38 PM EDT
[ian@attic4 ~]$ /usr/sbin/lpc status xerox
xerox:
            printer is on device 'lpd' speed -1
            queuing is disabled
            printing is enabled
            no entries
            daemon present

Este ejemplo muestra dos impresoras, xerox y r220, y una clase, anyprint, la cual permite que los trabajos de impresión se dirijan a la primera de las dos impresoras que se encuentre disponible.

En el ejemplo anterior, si bien la impresión está habilitada en la impresora xerox, la opción de poner en cola trabajos de impresión está actualmente deshabilitada. Esto podría realizarse con el fin de vaciar la cola antes de desconectar la impresora para su mantenimiento. Los comandos accept y reject habilitan o deshabilitan la opción de poner en cola. Los comandos cupsenable y cupsdisable habilitan o deshabilitan la impresión. En versiones anteriores de CUPS, estos comandos se llamaban enable y disable, pero esto se prestaba a confusión con el comando builtin enable del shell bash. El Listado 5 muestra cómo habilitar o deshabilitar la puesta en cola en la impresora xerox deshabilitando la impresión al mismo tiempo. Obsérvese que estas tareas sólo pueden ser llevadas a cabo por un usuario autorizado, ya sea un usuario root u otro usuario autorizado. Consulte el archivo cupsd.conf y las páginas man del comando lppasswd para obtener más información sobre la autorización de usuarios.

Listado 5. Habilitar la puesta en cola y deshabilitar la impresión
[root@attic4 ~]# lpc status xerox
xerox:
            printer is on device 'lpd' speed -1
            queuing is enabled
            printing is enabled
            no entries
            daemon present
[root@attic4 ~]# cupsdisable xerox
[[root@attic4 ~]# lpstat -p -a
printer anyprint is idle.  enabled since Sat 12 Aug 2006 04:07:46 PM EDT
printer r220 is idle.  enabled since Sat 12 Aug 2006 04:01:38 PM EDT
printer xerox disabled since Sat 12 Aug 2006 06:43:09 PM EDT -
            Paused
anyprint accepting requests since Sat 12 Aug 2006 04:07:46 PM EDT
r220 accepting requests since Sat 12 Aug 2006 04:01:38 PM EDT
xerox accepting requests since Sat 12 Aug 2006 06:43:09 PM EDT

Gestión de trabajos de impresión y colas de impresión

Ahora que ya sabemos verificar las colas y clases de impresión, pasemos a explicar cómo gestionar trabajos de impresión en las colas de impresión. En primer lugar, averigüemos si existen trabajos en cola para una impresora en particular o para todas las impresoras. Esto se logra mediante el comando lpq. Si no se especifica ninguna opción, lpq muestra la cola de la impresora predeterminada. Use la opción -P con el nombre de la impresora para especificar una impresora en particular o la opción -a para especificar todas las impresoras, como muestra el Listado 6.

Listado 6. Verificar las colas de impresión con lpq
[ian@attic4 ~]$ lpq
xerox is not ready
Rank    Owner   Job     File(s)                         Total Size
1st     brendan 14      RobotPlayer.java                1024 bytes
2nd     ian     16      .bashrc                         1024 bytes
3rd     ian     17      .bashrc                         1024 bytes
[ian@attic4 ~]$ lpq
xerox is not ready
Rank    Owner   Job     File(s)                         Total Size
1st     brendan 14      RobotPlayer.java                1024 bytes
2nd     ian     16      .bashrc                         1024 bytes
3rd     ian     17      .bashrc                         1024 bytes
[ian@attic4 ~]$ lpq -P r220
r220 is ready
no entries
[ian@attic4 ~]$ lpq -a
Rank    Owner   Job     File(s)                         Total Size
1st     brendan 14      RobotPlayer.java                1024 bytes
2nd     ian     16      .bashrc                         1024 bytes
3rd     ian     17      .bashrc                         1024 bytes

En este ejemplo, existen tres trabajos (14, 16 y 17) en cola para la impresora denominada xerox. Obsérvese que cuando se incluye la opción -P, los datos de salida indican que la impresora no está lista. Obsérvese también que el usuario ian envió un mismo trabajo dos veces, una acción de usuario muy común cuando el trabajo impresión no se imprime al primer envío. Para evitar la doble impresión del mismo trabajo, elimine el trabajo de la cola con el comando lprm. La configuración usual de autorizaciones permite a los usuarios eliminar sus propios trabajos, pero no los de otros usuarios. El usuario root u otro usuario autorizado pueden eliminar trabajos de otros usuarios. Sin especificar ninguna opción, se elimina el trabajo actual. Con la opción -, se eliminan todos los trabajos. Otra posibilidad es ingresar una lista de trabajos a eliminar como muestra el Listado 7.

Listado 7. Eliminar trabajos de impresión con lprm
[[ian@attic4 ~]$ lprm
Password for ian on localhost?
lprm: Unauthorized
[ian@attic4 ~]$ lprm 17
[ian@attic4 ~]$ lpq
xerox is not ready
Rank    Owner   Job     File(s)                         Total Size
1st     brendan 14      RobotPlayer.java                1024 bytes
2nd     ian     16      .bashrc                         1024 bytes

Obsérvese que el usuario ian no pudo eliminar el primer trabajo en cola, ya que éste pertenecía al usuario brendan. Sin embargo, ian pudo eliminar su propio trabajo, el número 17.

Otro comando que lo ayudará a manipular trabajos en colas de impresión es lp. Puede usar este comando para modificar atributos de los trabajos, como su prioridad o la cantidad de copias. Supongamos que el usuario ian quisiera que su trabajo se imprimiese antes del trabajo del usuario brendan y quisiera imprimir dos copias. Los rangos de prioridad de impresión de trabajos van de la prioridad 1 y la 100 y poseen un valor predeterminado de 50. El usuario ian podría usar las opciones -i, -n y -q para especificar la modificación de un trabajo y cambiar la cantidad de copias y la prioridad, como muestra el Listado 8. Obsérvese que al usar la opción -l del comando lpq se proporcionan mayor cantidad de datos de salida detallados.

Listado 8. Cambiar la cantidad de copias y la prioridad con lp
[ian@attic4 ~]$ lp -i 16 -n 2
[ian@attic4 ~]$ lpq -l
xerox is not ready

ian: 1st                               [job 16 localhost]
    2 copies of .bashrc                     1024 bytes

brendan: 2nd                               [job 14 localhost]
    RobotPlayer.java                        1024 bytes

Por último, el comando lpmove permite que los trabajos se eliminen de una cola y pasen a otra. Esto sería deseable, por ejemplo, si la impresora xerox no se encontrase imprimiendo en cierto momento. Este comando sólo puede ser usado por un usuario autorizado. El Listado 9 muestra cómo mover los trabajos a otra cola, primero mediante la especificación de la impresora y el identificador de trabajo, y luego especificando todos los trabajos de una impresora determinada. Cuando volvamos a verificar las colas, ya se habrán imprimido dos de los trabajos.

Listado 9. Mover trabajos a otra cola de impresión con lpmove
[root@attic4 ~]# lpmove xerox-16 anyprint
[root@attic4 ~]# lpmove xerox r220
[root@attic4 ~]# lpq
xerox is not ready
no entries
[root@attic4 ~]# lpq -a
Rank    Owner   Job     File(s)                         Total Size
active  ian     18      fig1.gif                        26624 bytes

Si usted usa un servidor de impresión que no sea CUPS, como LPD o LPRng, notará que muchas de las funciones de administración de colas antes vistas se gestionan como subcomandos del comando lpc. Por ejemplo, puede usar lpc topq para mover un trabajo al primer puesto de la cola de impresión. Otros comandos lpc que podrían estar disponibles son disable, down, enable, hold, move, redirect, release y start.

Solución de problemas

Si tiene problemas de impresión, considere los siguientes consejos:

  • Verifique que el servidor cups se esté ejecutando. También puede usar el comando lpstat. Éste informará un error si no logra conectarse al daemon cupsd. Otra alternativa es usar el comando ps -ef y buscar a cupsd en los datos de salida.
  • Si intenta poner un trabajo en la cola de impresión y obtiene un mensaje de error que indica que la impresora no acepta resultados de trabajos, use lpstat -a o lpc status para cerciorarse de que la impresora esté aceptando trabajos.
  • Si un trabajo en cola no se imprime, use lpstat -p o lpc status para cerciorarse de que la impresora esté aceptando trabajos. Probablemente deba mover el trabajo a otra impresora como se explicará en la próxima sección.
  • Cuando se trate de una impresora remota, puede ser necesario verificar que ésta todavía exista en el sistema remoto y que continúa en estado operativo.
  • Es posible que se requiera actualizar el archivo de configuración para permitir que un usuario o sistema remoto en particular imprima en su impresora.
  • Puede ser necesario verificar que su firewall admita solicitudes de impresión remotas desde otro sistema a su sistema, o desde su sistema a otro sistema, según corresponda.
  • Puede ser necesario verificar que posee el driver correspondiente (de acuerdo con lo explicado en la sección final de este tutorial).

Como verá, la impresión requiere del correcto funcionamiento de varios componentes tanto de su sistema como, posiblemente, de su red. En un tutorial de esta extensión, sólo podemos proporcionarle los puntos de partida para realizar un diagnóstico. La mayoría de los sistemas CUPS también cuentan con una interfaz gráfica a las funciones de la línea de comandos abordadas en este tutorial. Por lo general, puede accederse a esta interfaz desde el host local usando un navegador que señale al puerto 631 (http://localhost:631 o http://127.0.0.1:631), como muestra la Figura 1.

Figura 1. Página principal de CUPS en el puerto 631
Figure 1. CUPS home page on port 631

Archivos de impresión

Esta sección cubre material correspondiente al tema 1.107.3 del examen 102 de Administración Nivel Junior (LPIC-1). Este tema tiene un valor de ponderación de 1.

En esta sección aprenderá a:

  • Agregar y eliminar trabajos de colas de impresión configuradas
  • Convertir archivos de texto a PostScript para su impresión

Imprimir

En la sección anterior aprendimos a eliminar archivos de las colas de impresión. Aquí se explicará cómo imprimir archivos y cómo cambiar las opciones de los trabajos.

Mucho programas gráficos proporcionan un método de impresión, el cual suele encontrarse en la opción File (archivo) del menú. Estos programas brindan herramientas gráficas para la elección de una impresora, el tamaño de los márgenes, la impresión color o en blanco y negro, la cantidad de copias, la selección de impresión 2-up (imprime 2 páginas por hoja; suele emplearse para folletos), etc. Esta sección muestra cómo controlar estas características mediante las herramientas de la línea de comandos y mediante una implementación gráfica, a modo de comparación.

La forma más sencilla de imprimir un archivo de cualquier tipo es usar el comando lpr e ingresar el nombre de archivo. Esto imprime el archivo en la impresora predeterminada. El Listado 10 muestra un ejemplo simple y un ejemplo un poco más complejo. El comando de mayor complejidad se explica a continuación.

Listado 10. Impresión con lpr
[ian@attic4 ~]$ echo abc>abc.txt
[ian@attic4 ~]$ lpr abc.txt
[ian@attic4 ~]$ lpr -Pxerox -J "Ian's text file" -#2 -m -p -q -r abc.txt
[ian@attic4 ~]$ lpq -l
xerox is ready

ian: 1st                               [job 25 localhost]
2 copies of Ian's text file             1024 bytes
[ian@attic4 ~]$ ls abc.txt
ls: abc.txt: No such file or directory

La Tabla 4 explica las opciones que se usaron en el comando más complejo del ejemplo anterior y otras opciones que se podrían usar con lpr.

Tabla 4. Opciones de lpr
OpciónPropósito
-C, -J o -TEstablecer un nombre de trabajo.
-PSeleccionar una impresora en particular.
-#Especificar la cantidad de copias. Obsérvese que esta opción es diferente a la opción -n que vimos en el comando lp.
-mEnviar correo electrónico cuando el trabajo se haya completado.
-lEl archivo de impresión ya tiene formato de impresión. Equivalente a -o raw.
-oEstablecer una opción de trabajos.
-pDar formato a un archivo de texto agregando un encabezado sombreado. Equivalente a -o prettyprint.
-qRetener el trabajo (o ponerlo en cola) para su posterior impresión.
-rEliminar el archivo luego de que se ha puesto en la cola de impresión.

Entonces, en el ejemplo complejo: lpr -Pxerox -J "Ian's text file" -#2 -m -p -q -r abc.txt, el usuario ian solicita una impresora específica, proporciona un nombre al trabajo, solicita 2 copias, solicita una confirmación por correo electrónico luego de la impresión, retiene el trabajo y solicita que se elimine el archivo abc.txt luego de su puesta en cola. Los siguientes comandos muestran el trabajo retenido y reflejan que el archivo efectivamente ha sido eliminado.

Además del comando lpr, es posible usar el comando lp explicado en la sección anterior para imprimir trabajos así como también para modificarlos. Tanto lp como lpr aceptan archivos de stdin si no se proporciona un nombre de archivo en la línea de comandos. A diferencia de lpr, que pone en cola el trabajo silenciosamente, el modo predeterminado de lp muestra el número de trabajo del trabajo puesto en cola, como muestra el Listado 11. Obsérvese que los nombres de las opciones equivalentes de lp y lpr no siempre coinciden; por ejemplo, -n de lp es equivalente a -# de lpr.

Listado 11. Impresión desde stdin con lp
[ian@attic4 ~]$ lp
abc
request id is xerox-27 (1 file(s))

Ahora que tenemos un trabajo retenido en la cola de impresión Xerox, ¿cómo debemos proceder? El comando lp posibilita la retención y liberación de trabajos mediante diferentes valores de la opción -H. El Listado 12 muestra cómo liberar el trabajo retenido. Consulte la página man de lp para obtener información acerca de otras opciones.

Listado 12. Reanudar la impresión de un trabajo de impresión retenido
[ian@attic4 ~]$ lp -i 25 -H resume

Hoy existen muchas impresoras de diferentes tipos, pero no todas soportan el mismo conjunto de opciones. Averigüe las opciones generales establecidas en una impresora usando el comando lpoptions. Agregue la opción -l para visualizar las opciones específicas de una impresora; El Listado 13 muestra un ejemplo. La página man del comando lp también incluye una lista de opciones comunes, en especial opciones relacionadas con la impresión de retratos/paisajes, las dimensiones de página y la ubicación de los datos de salida en las páginas.

Listado 13. Verificar opciones de impresoras
[ian@attic4 ~]$ lpoptions -p xerox
job-sheets=none,none printer-info='Xerox Docuprint C20' printer-is-accepting-
jobs=1 printer-is-shared=1 printer-make-and-model='Xerox DocuPrint C20 Foomat
ic/Postscript (recommended)' printer-state=3 printer-state-change-time=115550
6374 printer-state-reasons=none printer-type=143388 cpi=12 scp-fc5=true lpi=7
page-bottom=86 page-left=57 page-right=57 page-top=72 scaling=100 wrap=true
[ian@attic4 ~]$ lpoptions -l
PageSize/Page Size: *Letter A4 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 EnvM
onarch Executive Legal
PageRegion/PageRegion: Letter A4 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 En
vMonarch Executive Legal
Duplex/Double-Sided Printing: DuplexNoTumble DuplexTumble *None
Resolution/Resolution: *default 150x150dpi 300x300dpi 600x600dpi
PreFilter/GhostScript pre-filtering: EmbedFonts Level1 Level2 *No

Hasta este momento, todos los comandos vistos se dirigieron al servidor CUPS local. También es posible dirigir la mayoría de estos comandos al servidor de otro sistema especificando la opción -h junto con el número de puerto, si éste es distinto al puerto CUPS predeterminado (número 631).

Antes de pasar a los filtros, analicemos cómo se disponen todas estas posibilidades en la aplicación GUI. La Figura 2 muestra el ejemplo de la Figura 1 en GIMP, programa de manipulación de imágenes. La opción File > Print (Archivo > Imprimir), proporciona varias posibilidades de impresión de imágenes. En esta aplicación, también puede hacer clic en el botón Setup Printer (Configurar impresora) para seleccionar una impresora y ver el comando que se usará para imprimir el archivo, en este caso: lp -s -dxerox -oraw.

Figura 2. Impresión desde GIMP
Printing from the GIMP

Conversión de archivos

Probablemente haya notado que, en el ejemplo anterior, fue posible imprimir archivos de texto a pesar de que la impresora r220 era una impresora de fotos Epson; y la impresora xerox era una PostScript Xerox Docuprint C20. Esta proeza que parece haberse logrado por arte de magia fue posible gracias a los filtros. De hecho, un filtro muy popular que se usó durante años se llama magicfilter.

Los filtros incluidos en la mayoría de los paquetes CUPS permiten la impresión de casi cualquier tipo de archivo. En el mercado se ofrecen otros filtros adicionales, como los de la empresa Easy Software Products, los desarrolladores de CUPS.

CUPS usa tipos de Extensiones de Correo de Internet de Propósitos Múltiples (Multipurpose Internet Mail Extensions - MIME) para determinar el filtro de conversión adecuado para imprimir un archivo. La sección sobre la instalación de filtros, incluida más adelante en este tutorial, explica este tema con mayor profundidad. Es posible que otros paquetes de impresión usen el mecanismo magic number como lo hace el comando file. Consulte las páginas man de file o magic para obtener más detalles.

El flujo de impresión general convierte el archivo de datos de entrada a un formato PostScript usando el filtro adecuado para el tipo de archivo, como texttops, imagetops o pdftops. El formato PostScript luego pasa por un filtro pstoraster y se crea un formato de trama intermedia para impresoras no PostScript antes de pasar por el filtro back-end de la impresora, el cual lo prepara para su impresión en una impresora en particular. Ghostscript es un programa conocido que imprime archivos PostScript en distintos tipos de impresoras. Éste incluye un visor acompañante que permite la visualización del archivo en un monitor. Los back-ends de muchas impresoras derivan de los drivers de impresoras Ghostscript.

Antes de que todas estas operaciones se gestionasen de manera tan automática, era necesario convertir los datos de entrada a formato PostScript. Las imágenes podían gestionarse con un programa como el antes mencionado GIMP. Los archivos de texto ASCII solían convertirse a PostScript usando el comando a2ps. La forma predeterminada para archivos de texto plano consiste en imprimir en 2-up con encabezado y dirigir los datos de salida a la impresora predeterminada, como muestra el Listado 14.

Listado 14. Imprimir archivos de texto con a2ps
[ian@attic4 ~]$ a2ps -4 abc.txt -o abc.ps
[abc.txt (plain): 1 page on 1 sheet]
[Total: 1 page on 1 sheet] saved into the file `abc.ps'

El comando a2ps acepta una gran variedad de tipos de archivos de texto y toma decisiones inteligentes para determinar el formato más adecuado que se les puede dar. Por ejemplo, la acción predeterminada para los archivos LaTeX consiste en primero darles formato y luego imprimirlos en 2-up. En el Listado 15 se usa a2ps para imprimir una copia del archivo sample2e.tex que se distribuye con LaTeX. Luego se muestra una copia renombrada como sample2e.txt, la cual se imprime en 4-up con encabezados. Ambas copias se guardan en un archivo de formato PostScript de salida. La Figura 3 muestra el formato que reciben los datos de salida del segundo comando.

Listado 15. Guardar datos de salida de a2ps como un archivo PostScript
[ian@attic4 ~]$ a2ps -4 -E -o fig3.ps sample2e.tex
[sample2e.tex (tex, delegated to texi2dvi): 1 page on 1 sheet]
[Total: 4 pages on 1 sheet] saved into the file `fig3.ps'
[ian@attic4 ~]$ a2ps -4 -E -o fig3.ps sample2e.txt
[sample2e.txt (plain): 4 pages on 1 sheet]
[Total: 4 pages on 1 sheet] saved into the file `fig3.ps'
Figura 3. Datos de salida con pretty printing de a2ps
Pretty printed output from a2ps

Existen muchos otros filtros que pueden usarse para dar formato a los archivos y lograr impresiones de distintos tipos. La mayoría de estos filtros tienen una serie de opciones. Consulte las páginas man para obtener información más detallada. Algunos ejemplos son:

mpage
Da formato a archivos de texto para la impresión de varias páginas en una misma página.
psnup
Realiza funciones sobre archivos PostScript similares a las realizadas por mpage sobre archivos de texto.
psbook
Reorganiza las páginas de un documento PostScript para su impresión como libro o cuadernillo, teniendo en cuenta la cantidad de páginas por hoja y cómo se doblará la hoja.

Instalación y configuración de impresoras

Esta sección cubre material correspondiente al tema 1.107.4 del examen 102 de Administración Nivel Junior (LPIC-1). Este tema tiene un valor de ponderación de 1.

En esta sección aprenderá a:

  • Instalar un daemon de impresora
  • Instalar y configurar un filtro de impresión
  • Acceder a impresoras locales y remotas de varios tipos

Daemons de impresoras

Para instalar un daemon de impresora, instale en primer lugar el paquete de impresora (CUPS u otro, como LPRng) el cual suele entregarse junto con la distribución. Si necesita un paquete que no recibió junto con su distribución, puede buscar un paquete pregenerado específico para su distribución o construirlo usted mismo desde la fuente. Consulte el tutorial del tema 102 del Examen 101, "LPI exam 101 prep: Linux installation and package management", si necesita ayuda para realizar esta tarea.

Una vez que ha instalado el paquete de impresora, verifique que el daemon de impresora se inicie al inicio del sistema. Este punto se desarrolla en el tutorial del tema 106 del Examen 102, "LPI exam 102 prep: Boot, initialization, shutdown, and runlevels."

Use el script cups ubicado, según su distribución, en /etc/rc.d/init.d o en /etc/init.dthe junto con el comando status. También puede usar el comando lpstat o lpc status para verificar si su daemon se está ejecutando. Si usted usa un daemon de impresora distinto, use el script adecuado para su paquete. El Listado 16 muestra un ejemplo.

Listado 16. Verificar el estado del daemon de CUPS
[root@attic4 ~]# /etc/init.d/cups stop
Stopping cups:                                             [  OK  ]
[root@attic4 ~]# /etc/init.d/cups status
cupsd is stopped
[root@attic4 ~]# lpstat -d
lpstat: Unable to connect to server
[root@attic4 ~]# /etc/init.d/cups start
Starting cups:                                             [  OK  ]

Si en alguna oportunidad necesita depurar CUPS, puede ejecutarlo en el segundo plano en lugar de ejecutarlo como un proceso daemon. También es posible probar archivos de configuración alternativa, de ser necesario. Ejecute cupsd -h o consulte las páginas man para más información.

Listado 17. Ejecutar cupsd desde la línea de comandos
[root@attic4 ~]# cupsd -h
Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l] [--ppdsdat]

-c config-file      Load alternate configuration file
-f                  Run in the foreground
-F                  Run in the foreground but detach
-h                  Show this usage message
-l                  Run cupsd from launchd(8)
--ppdsdat           Just build ppds.dat

CUPS también mantiene un registro de accesos y un registro de errores. Puede modificar el nivel de registro usando la instrucción LogLevel en /etc/cups/cupsd.conf. Los registros se almacenan predeterminadamente en el directorio /var/log/cups. Esto puede visualizarse desde la pestaña Administración de la interfaz Web (http://localhost:631).

Filtros de impresión

Entonces, ¿cómo determina CUPS el filtro que debe usar para dar formato a un tipo de archivo en particular? CUPS usa tipos MIME (Multipurpose Internet Mail Extensions – Extensiones de Correo de Internet Multipropósito) para determinar el filtro de conversión adecuado para la impresión de un archivo. Tome en cuenta que otros paquetes de impresión podrían usar el mecanismo magic number como lo hace el comando file. Consulte las páginas man de file o magic para obtener información más detallada.

Los tipos MIME se usan para transmitir distintos archivos como adjuntos de correo. Están formados por un tipo (como texto o imagen) y un subtipo (como html, postscript gif o jpeg). El tipo y el subtipo están separados por un punto y coma (;). Los parámetros opcionales podrían incluir información como la codificación de conjuntos de caracteres o el lenguaje. CUPS usa reglas de /etc/cups/mime.types para determinar el tipo de un archivo y luego usa un filtro apropiado que selecciona de los listados en /etc/cups/conv.types para el tipo MIME correspondiente. Los tipos MIME están registrados en la Agencia de Asignación de Números de Internet (IANA). Si necesita un tipo que no se encuentra registrado, coloque el prefijo 'x-' en el subtipo. El Listado 18 muestra algunos ejemplos de tipos de imágenes.

Listado 18. Algunas entradas tipo MIME de /etc/cups/mime.types
image/gif                  gif string(0,GIF87a) string(0,GIF89a)
image/png                  png string(0,<89>PNG)
image/jpeg                 jpeg jpg jpe string(0,<FFD8FF>) &&\
                           (char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
                            char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
                            char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
                            char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
image/tiff                 tiff tif string(0,MM) string(0,II)
image/x-photocd            pcd string(2048,PCD_IPI)
image/x-portable-anymap    pnm

El tema del formato de las entradas está fuera del alcance de este tutorial. Consulte los archivos /usr/share/mime/magic o /usr/share/file/magic para obtener información acerca del uso de magic numbers para la identificación de archivos.

Una vez determinado el tipo MIME de un archivo, el filtro correcto se obtiene usando el archivo /etc/cups/mime.convs. Las líneas de este archivo tienen cuatro entradas, un tipo MIME fuente y destino, un costo y el nombre del filtro. Se usará siempre el filtro de menor costo. El Listado 19 muestra algunos ejemplos.

Listado 19. Entradas de filtros de /etc/cups/mime.convs
text/plain              application/postscript  33      texttops
text/html               application/postscript  33      texttops
image/gif               application/vnd.cups-postscript 66      imagetops
image/png               application/vnd.cups-postscript 66      imagetops
image/jpeg              application/vnd.cups-postscript 66      imagetops
image/tiff              application/vnd.cups-postscript 66      imagetops
image/x-bitmap          application/vnd.cups-postscript 66      imagetops

Si no puede encontrarse un filtro apropiado, su intento de imprimir un archivo resultará en un mensaje de error. En cambio, si usted usa un daemon de impresora que no sea CUPS, es posible que obtenga datos de salida inesperados. El Listado 20 muestra un caso de este tipo con un archivo DVI (datos de salida normales de TeX y LaTex).

Listado 20. Impresión de un tipo de archivo no soportado
[ian@attic4 ~]$ lpr samp1.dvi
lpr: Unsupported format 'application/octet-stream'!

Afortunadamente, el paquete tetex que provee TeX y LaTeX también brinda una utilidad de conversión, dvips para convertir de DVI a PostScript. Desafortunadamente, ésta no funcionará como filtro porque no sabe cómo gestionar los argumentos que debe gestionar un filtro CUPS, a saber: identificador de trabajo, usuario, título del trabajo, cantidad de copias, y opciones del trabajo. El primer filtro dentro de una canalización de filtros también tendrá un parámetro adicional, el nombre de archivo, cuando los datos de entrada provengan de un archivo.

La solución es crear un script contenedor que actuará como filtro. El comando dvips no acepta datos de entrada de stdin, por lo cual es probable que el script deba crear un archivo temporal y copiar stdin a dicho archivo antes de llamar a dvips. El Listado 21 muestra un script que podría usarse en estos casos.

Listado 21. Script de filtro DVI a PostScript de CUPS
#!/bin/bash
# CUPS filter to process DVI files using dvips
# Create a sandbox for working if input on stdin
if [ $# -lt 6  ]; then
    sandbox=${TMPDIR-/tmp}/cups-dvitops.$$
    (umask 077 && mkdir $sandbox) || {
        echo "Cannot create temporary directory! Exiting." 1>&2
        exit 1
    }
    fn="$sandbox/cups-dvitops.$$"
    cat > "$fn"
else
    fn="$6"
fi
# Call dvips quietly, securely and with output to stdout
dvips -R -q -o - "$fn"
# Erase sandbox if we created one
if [ $# -lt 6  ]; then
    rm -rf  "$sandbox"
fi

Recuerde que CUPS usa dos archivos en /etc/cups para determinar el tipo y el filtro MIME a usar. Estos archivos se sobrescribirán siempre que reinstale o actualice CUPS. Afortunadamente, CUPS leerá todos los archivos con extensión .types o .convs al iniciarse o reiniciarse. Ahora procederemos a crear un par de archivos para el nuevo filtro, por ejemplo, /etc/cups/dvitops.types y /etc/cups/dvitops.convs, como muestra el Listado 22, el cual incluye datos de salida parciales de drivers Docuprint.

Listado 22. Archivos de configuración para el filtro dvitops de CUPS
[ian@attic4 ~]$ cat /etc/cups/dvitops.types
# Local MIME definition for DVI files
application/x-dvi dvi string(0,<F702>)
[ian@attic4 ~]$ cat /etc/cups/dvitops.convs
# Local DVI to PostScript filter for CUPS
application/x-dvi application/postscript 50 dvitops

Aquí vemos que los archivos DVI se identifican por tener los dígitos hexadecimales F7 y 02 en las dos primeras posiciones y que estos archivos deberán ser procesados por el filtro dvitops.

Ahora, com usuario root, copie el script anterior en /usr/lib/cups/filter/dvitops y verifique que es mundialmente legible y ejecutable (-rwxr-xr-x). El nombre que le dé al script deberá coincidir con el del archivo en /etc/cups/dvitops.convs antes explicado. Si se encuentra ejecutando SELinux en modo bloqueante, también deberá ejecutar restorecon en el directorio /usr/lib/cups/filter para actualizar los contextos de seguridad. De lo contrario, su comando lpr parecerá estar funcionando, pero su archivo no se imprimirá.

Por último, use la opción reiniciar del script cups ubicada en /etc/rc.d/init.d o en /etc/init.d para reiniciar CUPS y luego use su nuevo filtro.

Si usted usa un gestor de colas de impresión más antiguo, probablemente deba usar magicfilter o apsfilter como filtros de datos de entrada para convertir diferentes archivos de datos de entrada a formato PostScript e imprimirlos en una impresora PostScript o, mediante el uso de Ghostscript, en una impresora no PostScript.

Acceso a las impresoras

CUPS soporta una gran variedad de impresoras, entre otras:

  • Impresoras paralelas y USB localmente conectadas
  • Impresoras IPP (Internet Printing Protocol)
  • Impresoras LPD remotas
  • Impresoras Windows®que usan SAMBA
  • Impresoras Novell que usan NCP
  • Impresoras conectadas HP JetDirect

La mayoría de los sistemas actuales intentan detectar y configurar automáticamente el hardware local al iniciarse el sistema o cuando se conecta el dispositivo. De la misma manera, muchas impresoras en red pueden ser detectadas automáticamente. Use la herramienta de administración Web de CUPS (http://localhost:631 o http://127.0.0.1:631) para buscar y agregar impresoras. Muchas distribuciones incluyen sus propias herramientas de configuración, por ejemplo: YaST en los sistemas SUSE. La Figura 4 muestra la herramienta system-config-printer de Fedora Core 5.

Figura 4. Uso de system-config-printer en Fedora Core 5
Using system-config-printer on Fedora Core 5

También es posible configurar impresoras desde una línea de comandos. A continuación, este tutorial se dedicará a explicarle cómo hacerlo. Comprender este material lo ayudará a contestar las preguntas sobre interfaces GUI del examen.

Antes de configurar una impresora, necesitará información básica acerca de la impresora y cómo está conectada. A modo ilustrativo, usaremos una Xerox Docuprint C20 conectada a un servidor de impresión D-Link. El servidor de impresión proporciona función de impresión LPD. Para su configuración, necesitaremos la dirección IP (en este caso, 192.168.0.10) y el nombre de una cola de impresión en el servidor LPD, la cual, en este caso, está establecida en el servidor de impresión y es PS-66D975-P. Si existe un sistema remoto que requiera de un identificador de usuario o una contraseña, también deberá contar con esta información.

Además, deberá conocer el driver que debe usar con su impresora. Consulte LinuxPrinting.org (encontrará el vínculo en la sección de Recursos a continuación en este tutorial) para averiguar su existe un driver específico para su impresora. El comando lpinfo también puede ayudarlo a identificar los tipos y drivers de dispositivos disponibles. Use la opción -v para listar los dispositivos soportados y la opción -m para listar los drivers, como muestra el Listado 23.

Listado 23. Drivers de impresora disponibles
lyrebird:~ # lpinfo -m | grep -i "docuprint.c"
Xerox/DocuPrint_C6-cdj550.ppd.gz Xerox DocuPrint C6 Foomatic/cdj550 (recommended)
Xerox/DocuPrint_C8-cdj550.ppd.gz Xerox DocuPrint C8 Foomatic/cdj550 (recommended)
Xerox/DocuPrint_C11-cdj500.ppd.gz Xerox DocuPrint C11 Foomatic/cdj500
Xerox/DocuPrint_C11-hpdj.ppd.gz Xerox DocuPrint C11 Foomatic/hpdj
Xerox/DocuPrint_C11-pcl3.ppd.gz Xerox DocuPrint C11 Foomatic/pcl3 (recommended)
Xerox/DocuPrint_C20-cljet5.ppd.gz Xerox DocuPrint C20 Foomatic/cljet5
Xerox/DocuPrint_C20-hpijs.ppd.gz Xerox DocuPrint C20 Foomatic/hpijs
Xerox/DocuPrint_C20-Postscript.ppd.gz Xerox DocuPrint C20 Foomatic/Postscript 
(recommended)
Xerox/DocuPrint_C55-Postscript.ppd.gz Xerox DocuPrint C55 Foomatic/Postscript 
(recommended)

En el ejemplo anterior, se muestran varias opciones para Docuprint C20. Se recomienda el driver PostScript, lo cual no es sorprendente, ya que esta impresora soporta PostScript. Si su impresora no figura en la lista, consulte LinuxPrinting.org (vea la sección de Recursos) para obtener el driver adecuado. Los drivers vienen en formato de archivo PPD (PostScript Printer Description – descripción de impresora PostScrip).

Ahora que cuenta con la información básica, puede proceder a configurar una impresora usando el comando lpadmin, como muestra el Listado 24. Obsérvese que este sistema no listó el driver Xerox Docuprint específico, por lo cual decidimos usar el driver PostScript genérico.

Listado 24. Configurar una impresora
[root@attic4 ~]# lpinfo -m | grep -i generic
textonly.ppd Generic text-only printer
postscript.ppd.gz Generic postscript printer
[root@attic4 ~]# lpadmin -p xerox1 -E -m "postscript.ppd.gz" \
> -v "lpd:192.168.0.1/PS-66D975-P1" -D "Xerox 1"
[root@attic4 ~]# lpstat -a
anyprint accepting requests since Sat 12 Aug 2006 04:07:46 PM EDT
r220 accepting requests since Tue 22 Aug 2006 11:13:40 AM EDT
xerox accepting requests since Tue 22 Aug 2006 11:13:40 AM EDT
xerox1 accepting requests since Tue 22 Aug 2006 11:17:59 AM EDT

Si desea eliminar una impresora, use lpadmin con la opción -x, como muestra el Listado 25.

Listado 25. Eliminar una impresora
[root@attic4 ~]# lpadmin -x xerox1

También puede establecer diferentes opciones de impresoras usando los comandos lpadmin o lpoptions.

Archivos spool

CUPS usa el directorio /var/spool/cups para la gestión de colas. Éste en general estará correctamente configurado al instalar CUPS. Si usted usa el daemon de LPD, los archivos spool se almacenarán en directorios como /var/spool/lpd/xerox para la impresora 'xerox'. Deben establecerse permisos para proteger los directorios y archivos spool y evitar que sean leídos o escritos por usuarios en vez de por el sistema de impresión.

Otros filtros de datos de entrada

Si usted usa LPD, LPRng u otro sistema de impresión, probablemente deba usar magicfilter o apsfilter para convertir los archivos de datos de entrada a formato PostScript y posiblemente deba usar Ghostscript como driver de impresora para impresoras no PostScript. La configuración de impresoras y filtros se encontrará en /etc/printcap. Si éste es su caso, consulte las páginas man o documentación en Internet como el manual de Apsfilter mencionado en la sección de Recursos de este tutorial.

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Linux
ArticleID=449211
ArticleTitle=Preparación para el examen 102 de LPI, Tema 107: Impresión
publish-date=11232009