Tradicionalmente, la impresion ha sido un fastidio configurarlo bajo Linux. La impresion de texto no es el problema. El problema esta en como manejar una gran variedad de formatos dirigidos hacia la impresora. Afortunadamente, los usuarios de Linux de hoy tienen una buena seleccion de herramientas para trabajar cuando quieran configurar una impresora. Despues de terminar la configuracion de la impresion, el trabajo aun no termina. Se necesitara entender como usarlo a nivel usuario y a nivel de administracion.

El proceso de impresion

En los sistemas Unix o variantes de el como Linux, un archivo llega a traves de un proceso particular cuando se trata de imprimirlo. Entender este proceso ayuda a configurar y administrarlo. Lo siguiente es un ejemplo de lo que sucede con un archivo cuando se lo imprimira bajo Linux.

Suponga que se tiene el archivo /tmp/picture.jpg. Se sabe que una impresora InkJet llamada ij esta instalada en el sistema, de modo que tipea lpr -Pij /tmp/picture.jpg para imprimir el archivo. La el archivo es ahora enviado al spool definido en /etc/printcap, que es el archivo de configuracion del servicio de impresion. En este caso supongamos que se encuentra definida en /var/spool/lpd/ij/.

Cuando el archivo llega a la cola de impresion, el sistema notifica al demonio lpd, que cree un lpd hijo para manejar la cola si estaba inactivo cuando el trabajo llego. Cuando el trabajo entra al spool, espera su turno en la cola si otro trabajo ya se encuentra en impresion, o se lo envia a la impresora directamente si no hay nada esperando.

Pero como /tmp/picture.jpg es un archivo binario de imagen se necesita de un programa filtro para que la impresora pueda comprender como imprimir un archivo JPEG. La imagen entonces es convertida y enviada como un archivo PostScript a la impresora.

El PorstScript es un lenguaje print-formatting desarrollado en principio por Adobe©. Si la impresora no tiene capacidad de PostScript, la impresora solamente podra ser utilizada para imprimir textos ASCII. Si no se posee filtros de impresion instalados que realicen el trabajo de convertir archivos binarios a PostScript, hay un programa llamado GhostScript que puede manejar esto.

GhostScript

Cuando la comunidad Unix necesito un programa que pueda manejar formatos de archivos PostScript, la comunidad GNU junto con Aladdin Enterprises nos dieron GhostScript, que actualmente es una suite de herramientas.

El programa GhostScript, gs, es un interprete PostScript y PDF. Se puede utilizar esta herramienta para ver o imprimir el contenido de un archivo PostScript. Afortunadamente, las impresoras de hoy hacen la impresion de archivos PostScript menos complicada que el proceso utilizado para hacerlo, entonces probablemente no sera necesario aprender la sintaxis de gs para hacer esto.

El GhostScript viene acompañado de un viewer llamado ghostview, que es una interfaz GUI muy amigable de manejar. Con este programa se puede ver el resultado del GhostScript.

Comandos relacionados con la impresion en Linux

 
Comando Descripción
lpc Programa para controlar la impresiora
lpd Demonio de impresion
lpq Programa para controlar la cola de impresion
lpr El spooler de impresion
lprm Remover un trabajo de impresion

 
 

Comandos mas importantes disponibles para lpc

La sintaxis es:

lpc comando valor

donde comando puede ser
 
 
Comando Descripción
abort Matar el demonio de impresion activo que maneja la cola de impresion, y luego desabilita la impresion
clean Remueve cualquier archivo no imprimible ubicado en la cola de impresion. Excelente para limpiar la cola de informacion temporaria.
disable Apaga la cola de impresion para no aceptar mas trabajos desde la cola.
enable Enciende la cola y acepta nuevos trabajos
restart Baja la sesion actual del lpd y levanta uno nuevo.
start Levanta el demonio de impresion
status Da el status actual del demonio y la cola
stop Baja el lpd

Existen más comandos y pueden ser consultados con man lpc

Ejemplos

Imprimir un archivo texto

$cat /proc/cpuinfo | lpr
$

Consultar la cola de impresión

Cuando no hay nada en la cola
$ lpq
HPLaser1100 is ready
no entries
$
Cuando se tiene un trabajo imprimiendo
$ lpq
HPLaser1100 is ready and printing
Rank Owner Job File(s) Total Size
active npereyra 2658 STDIN 46080 bytes
$

Consultar el estado de la cola

$ lpc status
HPLaser1100:
printer is on device 'parallel' speed -1
queuing is enabled
printing is enabled
no entries
daemon present
$

Eliminar el trabajo consultado con lpq de la cola

$ lprm job 2658
$
 
Hosted by www.Geocities.ws

1