11.5. Uso de las Impresoras

Esta sección le indica como usar las impresoras que ha instalado con FreeBSD. Aqui tenemos los comandos de usuario mas comunes:

lpr(1)

Imprime trabajos

lpq(1)

Verifica los trabajos pendientes

lprm(1)

Elimina un trabajo de la cola de impresión

También se cuenta con un comando de administración, lpc(8), descrito en la sección Administración de la Cola de Impresión de LPD, usado para controlar las impresoras y sus peticiones.

Las tres opciones lpr(1), lprm(1), y lpq(1), aceptan el argumento -Pimpresora para especificar en que impresora realizar la impresión/petición, de acuerdo a lo indicado en /etc/printcap. Esto le permite imprimir, remover o consultar los trabajos en varias impresoras. Si no usa el argumento -P, estos comandos haran uso de la impresora especificada en la variable de entorno PRINTER. Finalmente, si no cuenta con la variable de entorno PRINTER definida, estos comandos utilizarán la impresora por default, que es lp.

Por lo tanto, el termino impresora por default, hace referencia a la impresora definida en la variable de entorno PRINTER, o en su defecto a la impresora nombrada lp, cuando no este definida la variable de entorno PRINTER.

11.5.1. Trabajos de Impresión

Para imprimir un fichero, teclee:

% lpr fichero ...

Lo anterior imprimirá los ficheros nombrados, en la impresora por default. Si no indica el nombre del fichero, lpr(1) leerá los datos a imprimir de la entrada estandar. Por ejemplo, este comando imprime algunos ficheros importantes del sistema:

% lpr /etc/host.conf /etc/hosts.equiv

Para seleccionar una impresora, teclee:

% lpr -P nombre-de-la-impresora fichero ...

Este ejemplo imprime una larga lista del directorio actual, en la impresora nombrada rattan:

% ls -l | lpr -P rattan

En virtud de que no se le paso fichero alguno para imprimir a lpr(1), lpr toma los datos de la entrada estandar, que en este caso es la salida del comando ls -l.

EL comando lpr(1) también puede aceptar gran variedad de opciones para controlar el formato, aplicar conversiones a los ficheros, generar copias multiples, etc.. Para mayor información, vea la sección Opciones de Impresión.

11.5.2. Verificando los Trabajos

Cuando usted utiliza lpr(1) para imprimir, los datos que desea imprimir se colocan juntos en un paquete llamado “trabajo de impresión”, el cual es enviado al sistema de cola de LPD. Cada impresora cuenta con un orden de impresión de trabajos, y su trabajo espera su turno en este orden, junto con otros trabajos suyos y de otros usuarios. El criterio del orden será los primeros-en-llegar son los primeros-en-salir.

Para ver los trabajos pendientes de la impresora por default, teclee lpq(1). Para una impresora en especial, use la opción -P. Por ejemplo, el comando

% lpq -P bamboo
le muestra los trabajos pendientes de la impresora bamboo. Aqui tenemos un ejemplo de la salida del comando lpq:

bamboo is ready and printing
Rank   Owner    Job  Files                              Total Size
active kelly    9    /etc/host.conf, /etc/hosts.equiv   88 bytes
2nd    kelly    10   (standard input)                   1635 bytes
3rd    mary     11   ...                                78519 bytes

Esto muestra que hay tres trabajos en espera, para bamboo. El primer trabajo enviado por el usuario kelly, tiene asignado en “numero de trabajo” 9. Cada trabajo en una impresora, se le asigna un numero único. La mayor parte del tiempo puede ignorar el numero de trabajo, pero este será necesario en caso de que desee cancelar el trabajo; vea la sección Eliminando Trabajos para mas detalles al respecto.

El trabajo numero nueve consiste en dos ficheros; al pasar varios trabajos a lpr(1), estos son tratados como parte de un solo trabajo. Este es el trabajo actual, activo (note la palabra active bajo la columna “Rank”), que quiere decir, que la impresora debe estar imprimiendo este trabajo. El segundo trabajo consiste en datos pasados al comando lpr(1) por la entrada estandar. El tercer trabajo proviene del usuario mary; que es un trabajo mucho mas grande. La ruta que esta tratando de ser descrita es muy larga, de tal forma que lpq(1) solo lo representa con tres puntos.

La primer línea de la salida de lpq(1) también es de utilidad: esta le indica que esta haciendo la impresora en este momento (o cuando menos, que es lo que LPD piensa que la impresora esta haciendo).

El comando lpq(1) tambien cuenta con la opción -l, para generar una salida mas detallada. Aqui tenemos un ejemplo de lpq -l:

waiting for bamboo to become ready (offline ?)
kelly: 1st               [job 009rose]
       /etc/host.conf                    73 bytes
       /etc/hosts.equiv                  15 bytes

kelly: 2nd               [job 010rose]
       (standard input)                  1635 bytes

mary: 3rd                                [job 011rose]
      /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes

11.5.3. Eliminando Trabajos

Si cambia de parecer con respecto a imprimir un trabajo, puede eliminarlo de los trabajos pendientes, con el comando lprm(1). Incluso puede usar el comando lprm(1) para elminar un trabajo activo, pero algunos o todos los demas trabajos aun seran impresos.

Para eliminar un trabajo de la impresoras por default, primero use lpq(1) para saber el numero de trabajo. Despué teclee:

% lprm numero-trabajo

Para eliminar un trabajo de un a impresora especifica, utilice la opción -P. El siguiente comando elimina el trabajo numero 10 de los trabajos pendientes de la impresora bamboo:

% lprm -P bamboo 10

El comando lprm(1) cuenta con algunas opciones:

lprm -

Elimina todos los trabajos (de la impresora por default) y que le pertenezcan a usted.

lprm usuario

Elimina todos los trabajos (de la impresora por default) que pertenecen a usuario. El superusuario puede eliminar trabajos de otros: usted solo puede eliminar sus trabajos.

lprm

Cuando no se pasa ningun nombre de usuario, o -, en la línea de comando, lprm(1) elimina el trabajo activo de la impresora por default, si este le pertenece. El superusuario puede eliminar cualquier trabajo activo.

Simplemente use la opción -P con las opciones comentadas, para que apliquen en una impresora especifica. Por ejemplo, el siguiente comando elimina todos los trabajos pendientes del usuario actual en la impresora rattan:

% lprm -P rattan -

Nota: SI usted esta trabajando en una red, el comando lprm(1), solo le permitira eliminar trabajos del host del cual se enviaron dichos trabajos, incluso si la impresora esta habilitada desde otros hosts. La siguiente secuencia de comandos demuestra esto:

% lpr -P rattan mifichero
% rlogin orchid
% lpq -P rattan
Rank   Owner      Job  Files                          Total Size
active seeyan     12    ...                           49123 bytes
2nd    kelly      13   mifichero                      12 bytes
% lprm -P rattan 13
rose: Permission denied
% logout
% lprm -P rattan 13
dfA013rose dequeued
cfA013rose dequeued
   

11.5.4. Más alla del Texto Plano: Opciones de Impresión

El comando lpr(1) cuenta con soporte para multiples opciones que controlan el formato del texto, conversión de gráficos y otros formatos, producción de copias multiples, manejo de los trabajos, y más. Esta sección describe estas opciones.

11.5.4.1. Opciones de Formato y Conversión

Las siguientes opciones de lpr(1) controlan el formato de los ficheros en el trabajo. Utilice estas opciones si el trabajo no es de texto plano o si desea dar formato al texto plano por medio de la utilidad pr(1).

Por ejemplo, el siguiente comando imprime un fichero DVI (desde un sistema de escritura TeX) llamado fish-report.dvi a la impresora bamboo:

% lpr -P bamboo -d fish-report.dvi

Estas opciones aplican para todos los ficheros dentro del trabajo, por lo que no debe mezclar (por decir) ficheros DVI y ditroff en el mismo trabajo. Para hacer esto, envie los trabajos a imprimir por separado, usando la opción que corresponda a cada trabajo.

Nota: Todas estas opciones, excepto -p y -T requieren de filtros de conversión instalados para la impresora destino. Por ejemplo, la opción -d requiere de un filtro para DVI. La sección Filtros de Conversión le da más detalles al respecto.

-c

Imprimir ficheros cifplot.

-d

Imprimir ficheros DVI.

-f

Imprimir ficheros de texto FORTRAN.

-g

Imprimir datos plot.

-inumero

Sangrar la salida con el numero de columnas indicado; si omite numero, el numero será de 8 columnas. Esta opción trabaja bien solo con algunos filtros de conversión.

Nota: No debe dejar espacios entre la opción -i y el numero.

-l

Imprimir datos de texto literal, incluyendo caracteres de control.

-n

Imprimir datos ditroff (troff independiente del dispositivo).

-p

Formatear el texto plano con pr(1) antes de imprimir. Vea pr(1) para más información.

-T titulo

Use titulo en la cabecera de pr(1), en lugar del nombre del fichero. Esta opción solo tiene efecto cuando se usa con -p.

-t

Imprimir datos troff.

-v

Imprimir datos raster.

Aqui tenemos un ejemplo: este comando imprime una bonita y formateada versión de la página de ayuda de ls(1), en la impresora por default:

% zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t

El comando zcat(1) descomprime la fuente de la página de ayuda ls(1) y lo pasa al comando troff(1), que le da formato y crea la salida GNU troff, la cual es pasada a lpr(1), que envia el trabajo a la cola de LPD. Como usamos la opción -t con lpr(1), el sistema de cola va a convertir la salida GNU troff a datos entendibles para la impresora, cuando se imprime.

11.5.4.2. Opciones para Manejar los Trabajos

Las siguientes opciones de lpr(1), le indican a LPD que debe manejar el trabajo de una forma especial:

-# copias

Producir un numero de copias de cada fichero en el trabajo, en vez de una sola copia. Un administrador puede inhabilitar esta oprción para reducir el desgaste de la impresora y alentar el uso de la fotocopiadora. Vea la sección Restriccón de Copias Multiples.

Este ejemplo imprime tres copias de parser.c seguido de tres copias de parser.h en la impresora por default:

% lpr -#3 parser.c parser.h
-m

Enviar correo después de completar el trabajo. Con esta opción, el sistema LPD enviara un correo a su cuenta cuando termina de imprimir. En su mensaje, le informará si el trabajo termino con exito o si hubo algun error, y (normalmente) que tipo de error fué.

-s

No copie el fichero al directorio de la cola, en su lugar crear un enlace simbolico.

Si usted esta imprimiendo un trabajo de gran tamaño, quizás esta es una buena opción. Esta opción le ahorra espacio en el directorio de cola (donde su trabajo puede terminar con el espacio libre donde reside su directorio). Esta opción también le ahorra tiempo, en virtud de que LPD no tendrá que copiar todos y cada uno de los bytes del trabajo al directorio.

Aunque esto tiene su inconveniente: dado que LPD estará haciendo uso del fichero original, no lo podrá modificar o eliminar hasta que termine la impresión.

Nota: Si usted esta en un entorno de red, LPD eventualmente copiará ficheros del host local al host remoto, así que la opción -s le puede ahorrar espacio solo en el directorio del host local, no en los remotos. Aun con esto, la opcion es de gran utilidad.

-r

Eliminar los ficheros del trabajo, una vez que hayan sido copiados al directorio de la cola, o después de que hayan sido impresos, cuando se use la opción -s. Tenga cuidado con esta opción!

11.5.4.3. Opciones de Páginas de Encabezado

Cuando alguna de las siguientes opciones son pasadas a lpr(1), ajustan el texto que normalmente aparece en la página encabezado del trabajo. Si las páginas de encabezado son suprimidas, estas opciones no tendrán efecto alguno. Vea la sección Páginas de Encabezado para más información sobre la configuración de las Páginas de Encabezado.

-C texto

Reemplazar el nombre del host del encabezado con este texto. Normalmente el nombre del host es el nombre del host del cual se esta imprimiendo.

-J texto

Reemplazar el nombre del trabajo en el encabezado con este texto. Normalmente el nombre del trabajo es el nombre del primer fichero del trabajo, o stdin si esta imprimendo de la entrada estandar.

-h

No imprimir página de encabezado.

Nota: En algunos sitios esta opción puede no tenere efecto alguno, debido al metodo usado para generar las páginas de encabezado. Vea la sección Páginas de Encabezado para más detalles.

11.5.5. Administración de la Cola de Impresión de LPD

Como administrador de sus impresoras, usted deberá instalarlas, configurarlas, y probarlas. Con el comando lpc(8) usted podrá interactuar con las impresoras de una forma más completa. Con lpc(8) usted podrá

Primero, una nota de terminología: si una impresora es detenida, no podrá contar con una cola de trabajos pendientes. Los usuarios podrán enviar sus trabajos, que quedarán en espera hasta que la impresora se iniciada o su cola de trabajos pendientes sea purgada.

Si la cola de trabajos pendientes es deshabilitada, ningun usuario (excepto root) podrá enviar trabajos a la impresora. Una cola de trabajos pendientes habilitada, permitirá el envio de trabajos. Una impresora puede ser iniciada para una cola de trabajos que esta deshabilitada, en cuyo caso continuará imprimiendo los trabajos de la cola de trabajos pendientes, hasta que ya no exista ninguno.

En general, usted debe de contar con privilegios de root para hacer uso del comando lpc(8). Los usuarios comunes solo pueden usar lpc(8) para verificar el estatus de una impresora y para reiniciar una impresora detenida.

Aqui tenemos un resumen de los comandos de lpc(8). La mayor parte de estos comandos usan el argumento nombre-impresora para indicarle en cual debe operar. Como este argumento puede usar all, para indicarle que opere en todas las impresoras listadas en el fichero /etc/printcap.

abort nombre-impresora

Cancelar el trabajo actual y detener la impresora. Los usuarios podrán aun enviar sus trabajos si la cola de pendientes esta habilitada.

clean nombre-impresora

Eliminar ficheros viejos del directorio de cola de impresión. Ocasionalmente, los ficheros que ya han sido impresos no son eliminados correctamente por LPD, particularmente si hubo errores durante la impresión o si se realizaron otros trabajos administrativos durante la misma. Este comando localiza ficheros que no pertenecen al directorio y los elimina.

disable nombre-impresora

Deshabilita la cola de pendientes para nuevos trabajos. Si la impresora esta activa, se continuan imprimiendo los trabajos en la cola de pendientes. El superusuario (root) siempre podrá enviar trabajos, incluso cuando se use esta opción.

Este es un comando útil cuando se esta probando una nueva impresora o instalando un filtro: deshabilitar la cola de pendientes y enviar los trabajos como root. Otros usuarios no podrán enviar trabajos, hasta que la impresora haya sido configurada correctamente y se re-habilite la cola de pendientes, con el comando enable.

down nombre-impresora mensaje

Usar el comando down para una impresora, equivale a usar el comando disable seguido del comando stop. El mensaje que se ingrese, aparecerá como el estatus de la impresora, cada vez que un usuario verifique su estatus con lpq(1) o con lpc status.

enable nombre-impresora

Habilitar la cola de pendientes. Los usuarios pueden enviar sus trabajos pero la impresora no imprimira nada hasta que se inicializada.

help nombre-del-comando

Mostrar la ayuda del comando nombre-del-comando. Si no se indica el nombre-del-comando, se muestra un resumen de los comandos disponibles.

restart nombre-impresora

ReIniciar la impresora. Los usuarios comunes pueden usar esta opción en caso de que por alguna razón LPD se paralice, pero no pueden iniciar una impresora detenida con algunos de los comandos stop o down. El comando restart es equivalente a ejecutar abort seguido del comando start.

start nombre-impresora

Iniciar la impresora. La impresora comenzará a imprimir los trabajos en la cola de pendientes.

stop nombre-impresora

Detiene la impresora. La impresora terminará el trabajo actual y dejará de imprimir. Aun cuando la impresora esta detenida, los usuarios pueden enviar sus trabajos a la cola de pendientes de la impresora.

topq nombre-impresora trabajo-o-usuario

Modificar el orden de la cola de pendientes de la impresora nombre-impresora, colocando los trabajos con el identificador trabajo o que pertenecen al usuario usuario, en primer lugar de la cola. Para este comando no puede hacer uso de la opción all en lugar de nombre-impresora.

up nombre-impresora

Usar el comando up en una impresora; es lo opuesto al comando down. Equivalente a start seguido del comando enable.

lpc(8) acepta estos comandos desde la línea de comandos. Si no ingresa aglun comando, lpc(8) entra en modo interactivo, donde puede ingresar los comandos hasta que teclee exit, quit o fin-del-archivo (EOF).

Éste y otros documentos pueden obtenerse en ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para preguntas acerca de FreeBSD, leer la documentación antes de contactar con la lista <questions@FreeBSD.org>.
Para preguntas acerca de esta documentación, e-mail a <doc@FreeBSD.org>.