Tabla de contenidos
Resumen
El presente capítulo le ofrece información general sobre el funcionamiento de la impresora. Esta información le será de gran ayuda a la hora de resolver problemas relacionados con el uso de la impresora en red.
En Linux las impresoras funcionan mediante colas de impresión. Los datos a imprimir se envían a una cola de impresión donde se almacenan temporalmente hasta que son reenviados sucesivamente a la impresora a través del spooler de impresión.
La mayoría de las veces los datos a imprimir no se encuentran en la forma adecuada para ser enviados directamente a la impresora. Así por ejemplo, un gráfico debe ser convertido previamente a otro formato que la impresora pueda reproducir directamente. Esta conversión al lenguaje de impresión se realiza mediante un filtro de impresión que es activado por el spooler para convertir los datos de impresión a un formato que la impresora pueda imprimir directamente.
La mayoría de las impresoras pueden al menos imprimir directamente texto ASCII. Las pocas excepciones que existen entienden alguno de los siguientes lenguajes de impresión.
PostScript es el lenguaje de impresión estándar utilizado para tareas de impresión en Unix/Linux, las cuales pueden ser imprimidas por las impresoras PostScript directamente. Este tipo de impresoras es relativamente caro, ya que PostScript es un complejo y poderoso lenguaje que exige un alto rendimiento por parte del ordenador a la hora de imprimir. Además la licencia provoca costes adicionales.
Si no hay una impresora PostScript conectada, el filtro de impresión utiliza el programa Ghostscript para convertir los datos en uno de los otros lenguajes de impresión estándar. Para ello se debe utilizar un controlador Ghostscript adecuado para el modelo de impresora de que se trate, con el fin de poder tener en cuenta las particularidades específicas de cada modelo (por ejemplo opciones de color).
El usuario o un programa de aplicación lanza un trabajo de impresión.
Los datos a imprimir se guardan en la cola de impresión, desde donde son reenviados por el spooler de impresión al filtro de impresión correspondiente.
El filtro de impresión realiza por lo general lo siguiente:
Se identifica el tipo de datos que se va a imprimir.
Si no se trata de datos PostScript, se transforman en datos de este lenguaje estándar. En especial se convierte el texto ASCII en lenguaje PostScript.
En caso necesario, los datos PostScript se convierten a otro lenguaje que la impresora pueda entender.
Si se trata de una impresora PostScript, se envían los datos PostScript directamente a la impresora. En caso necesario también se activan las funciones bash duplex y tray definidas en /usr/lib/lpdfilter/global/functions para implementar la impresión duplex o la selección de bandejas mediante comandos PostScript. Para ello es necesario que la impresora PostScript pueda procesar tales comandos.
Si no se trata de una impresora PostScript, el programa Ghostscript emplea un controlador que se acomoda al lenguaje de impresión del modelo de impresora utilizado. Este controlador transforma los datos PostScript en datos escritos en el lenguaje de impresión correspondiente, que luego serán enviados a la impresora.
Los parámetros específicos de impresora para el comando Ghostscript están almacenados en una de las siguientes ubicaciones:
En la línea cm del archivo /etc/printcap.
Directamente en el archivo /etc/lpdfilter/cola/upp (aquí debe sustituir cola por el nombre real de la cola).
Indirectamente en el archivo /etc/lpdfilter/cola/ppd (aquí debe sustituir cola por el nombre real de la cola). Esto sucede cuando el lpdfilter ha sido configurado con YaST, ya que en este caso la conversión en datos específicos de impresora se produce del mismo modo que en el sistema de impresión CUPS con el filtro foomatic-rip. Este filtro genera el comando Ghostscript específico de impresora en el mismo archivo PPD Foomatic utilizado para el sistema de impresión CUPS.
La salida de Ghostscript puede convertirse a otro formato si es necesario siempre que exista un script adecuado en /etc/lpdfilter/cola/post (no olvide sustituir "cola" por el nombre real de la cola de impresión).
Una vez que el trabajo de impresión ha sido enviado en su totalidad a la impresora, el spooler de impresión lo borra de la cola de impresión.
SUSE LINUX soporta dos tipos de sistemas de impresión:
Este es un sistema tradicional compuesto por el spooler de impresión LPRng y el filtro de impresión lpdfilter. En sistemas tradicionales, el administrador del sistema establece toda la configuración de una cola de impresión y el usuario sólo puede escoger entre distintas colas. Para elegir una determinada configuración, deben fijarse varias colas de impresión con distintas configuraciones para la misma impresora. En impresoras de blanco y negro (por ejemplo la mayoría de las impresoras láser) basta con una configuración estándar, pero con las modernas impresoras a chorro de tinta en color es necesario realizar distintas configuraciones para imprimir en blanco y negro, en color, en color a gran resolución o con calidad fotográfica. Mediante este tipo de configuraciones se garantiza automáticamente que sólo se utilizarán aquellas realizadas por el administrador del sistema. Por otro lado, ya que el usuario no puede realizar configuraciones individuales, el administrador del sistema debe configurar muchas colas de impresión para poder aprovechar todas las posibilidades que ofrecen las impresoras actuales y ponerlas a disposición de los usuarios.
Con el sistema CUPS el usuario tiene la posibilidad de definir para cada impresión propiedades diferentes ya que aquí el administrador del sistema no determina la configuración total de una cola de impresión. Las distintas posibilidades de configuración se encuentran en un archivo PPD (PostScript Printer Description) para cada cola de impresión. Este archivo se le presenta al usuario en una ventana de diálogo. Normalmente el archivo PPD contiene todas las posibilidades que ofrece la impresora. No obstante, el administrador del sistema puede modificar este archivo y limitar esas posibilidades.
Debido a que pueden originarse conflictos entre los dos sistemas, normalmente no es posible tener instalados ambos sistemas de impresión simultáneamente en el sistema. YaST permite cambiar de un sistema a otro – ver Manual de Usuario, sección YaST — Configuración, Impresoras.