martes, 12 de junio de 2007

Imprimir desde linea de comandos

Tal y como vemos en esta foto, dentro de yast2 configuraremos la impresora en red de la sigueinte forma:

Nombre para la impresion:
Este será el nombre de la cola de impresion o nombre del puerto como queramos llamarle.

Descripción de impresora:
Esto es básicamente para saber de que impresora se trata.


lpr -P HP4500ADMIN [nombrearchivo a imprimir]


en nuestro ejemplo enviamos a imprimir un archivo de texto a la impresora hp de administracion por ejemplo.




Imprimir bajo Linux




Esta sección comenta cómo imprimir ficheros, examinar la cola de impresión,
eliminar trabajos de la cola, formatear ficheros antes de imprimirlos, y
configurar tu entorno de impresión.




Histórico




El sistema de impresión de Linux (el sistema lp) es una adaptación del código
escrito por los Regents de la Universidad de California para la versión

Berkeley Software Distribution (BSD) del sistema operativo UNIX.




Lo básico de imprimir




La forma más simple (con mucho) de imprimir en el sistema operativo Linux es
enviar el fichero a ser impreso directamente al dispositivo de impresión. Una
manera de hacer esto es usar el comando cat. Como usuario root, uno puede hacer
lo siguiente:






# cat tesis.txt > /dev/lp



En este caso, /dev/lp es un enlace simbólico al verdadero dispositivo
de impresión (una matricial, láser, tipográfica o plotter). Mira la página del
man ln(1) para más información acerca de enlaces simbólicos.



Para el propósito de la seguridad, sólo el usuario root y los usuarios de su
mismo grupo como el demonio de impresión son capaces de escribir directamente
a la impresora. Es por esto por lo que se tienen que usar comandos como lpr, lprm y lpq para acceder a la impresora.


Por esto, los usuarios tienen que usar lpr para imprimir un fichero. El
comando lpr es responsable de preocuparse por el trabajo inicial para
imprimir un fichero, pasando entonces el control a otro programa, lpd, el

demonio de las impresoras de líneas.


Este demonio le dice entonces a la impresora cómo imprimir el fichero.


Cuando lpr es ejecutado, primero copia el fichero a un cierto directorio
(el directorio de spool) donde el fichero permanece hasta que lpd lo
imprime. Una vez se le dice a lpd que hay un fichero para imprimir, creará

una copia de sí mismo (lo que los programadores llaman un 'fork'). Esta
copia imprimirá nuestro fichero mientras la copia original queda esperando otras
peticiones. Esto permite que hayan múltiples trabajos a la vez en una cola.


Las sintaxis de lpr(1) es bastante familiar,






$ lpr [ opciones ] [ nombre_fichero ... ]



Si no se especifica un nombre de fichero, lpr asume que la entrada
será efectuada por la entrada estándar (normalmente el teclado o la salida de
otro programa). Esto permite que el usuario redirija la salida de un programa
al dispositivo de impresión. Por ejemplo:







$ cat tesis.txt | lpr



o algo más potente, como





$ pr -l60 tesis.txt | lpr



El comando lpr acepta varios argumentos en la línea de comandos que
permiten al usuario controlar cómo trabaja. Algunos de los argumentos más
ampliamente usados son: -Pprinter especifica la impresora a usar, -h

suprime la impresión de la página, burst, -s crea un enlace simbólico en
lugar de copiar el fichero completo al directorio de spooling (útil para
ficheros grandes), y -#num especifica el número de copias a imprimir.
Un ejemplo de interacción con lpr podría ser algo como






$ lpr -#2 -sP dj tesis.txt



Este comando crearía un enlace simbólico al fichero tesis.txt en el
directorio de spool de la impresora llamada dj, donde debería ser
procesado por lpd. Además debería imprimir una segunda copia de tesis.txt.



Para ver un listado de todas las opciones que reconoce lpr, ver la página
del man lpr(1).




Viendo la cola de impresión




Algunas veces es útil saber qué trabajos están actualmente en una cola de
impresión particular. Esta es la única tarea del comando lpq.



Para ver qué hay en la cola de la impresora por defecto (definida por /etc/printcap), usa





$ lpq
lp is ready and printing
Rank Owner Job Files Total Size
active mwf 31 tesis.txt 682048 bytes





Cancelando un trabajo de impresión




Otra útil característica para cualquier sistema de impresión es la capacidad de
cancelar un trabajo que ha sido 'encolado' anteriormente. Para hacer esto,
usa lprm.





$ lprm -




El comando anterior cancela todos los trabajos de impresión que son propiedad
del usuario que envió el comando. Se puede cancelar un trabajo de forma
individual obteniendo primero el número del trabajo usando lpq, dando
entonces el número a lprm. Por ejemplo





$ lprm 31




cancelaría el trabajo 31 (tesis.txt) en la impresora por defecto.

No hay comentarios:

Publicar un comentario