6.4.6.1.- Imprimir ficheros con lpr

Una vez configurado el sistema para la impresión, posiblemente desee comenzar a imprimir. Como mencionamos anteriormente, Linux emplea el programa lpr para enviar tareas de impresión. Este programa acepta muchas opciones que puede utilizar para modificar la sección del programa:

  • Especificando un nombre de cola.- La opción -Pnombredecola le permite especificar una cola de impresión. Esto es útil si tiene varias impresoras o si ha definido varias colas para una impresora. Si omite esta opción, se utilizará la impresora por defecto.
    tux_maestro_derEn la versión BSD original de lpr, no había espacio entre la P y el nombredecola. LPRng y CUPS son más flexibles en este aspecto, pues puede insertar un espacio u omitir éste si lo desea.
  • Borrando el fichero original.- Normalmente, lpr envía a la cola de impresión una copia del fichero a imprimir, dejando intacto el original. Si especificamos la opción -r hacemos que lpr elimine el fichero original tras imprimirlo.
  • Suprimir el encabezado.- La opción -h suprime el encabezado para una única tarea de impresión. Las versiones anteriores de CUPS no incluyen esta opción, pero las versiones recientes sí.
  • Especificar un nombre de tarea.- Las tareas de impresión tienen nombres que ayudan a identificarlas, tanto cuando están en la cola como cuando se imprimen (si la cola está configurada para imprimir páginas de encabezado). El nombre suele ser el nombre del primer fichero de la tarea de impresión, pero puede cambiarlo para que incluya la opción -J nombredetarea. Las opciones -C y -T son sinónimos de -J.
  •  Notificar a un usuario por correo.- La opción -m nombredeusuario hace que lpd envíe un correo a nombredeusuario cuando la tarea finalice. Las primeras versiones de CUPS no incluían esta opción, pero las recientes si lo hacen.
  •  Especificar el número de copias.- Podemos especificar un número de copias de una tarea de impresión utilizando la opción -# número, de manera que para imprimir 2 copias de una tarea debemos especificar -# 2.

La forma más simple de imprimir en el sistema operativo Linux es enviar el fichero que queramos imprimir directamente al dispositivo de impresión. Una manera de hacer esto es usar el comando cat. Como usuario root, de la manera siguiente siguiente:

lpr_1

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 es bastante familiar:

lpr_2

Si no se especifica  nombre_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:

lpr_3

o algo más potente, como

lpr_4

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_5

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).

El comando lpr está accesible tanto para usuarios ordinarios como para root, por lo que cualquier usuario puede imprimir utilizándolo. Muchos programas también recurren a éste cuando quieren imprimir directamente, como los programas gráficos y los procesadores de texto.

Estos programas tienen la particularidad de ofrecerte algún medio para poder ajustar el comando de impresión para que pueda introducir parámetros como el nombre de la impresora. Por ejemplo, vemos una página de configuración para imprimir de Firefox:

configuracion_print_firefox

Vemos que incluyen botones para imprimir, configurar la página, número de páginas a imprimir, así como los botones para la orientación de la página (horizontal o vertical).

Algunos programas proporcionan un campo de introducción de texto en el que podemos en el que podemos escribir parcial o totalmente comandos lpr en lugar de seleccionarlos de una lista de colas y opciones disponibles. Véase el capítulo 1.7 donde vemos algunos comandos que pueden hacer esto, como fmt y pr.

Un programa útil es mpage, lo escribimos en la consola, y si no está nos dará un aviso para que lo instalemos:

mpage_1

Pasamos a instalarlo en caso de que no tengamos instalado mpage:

mpage_2

Cuando introduzcamos la contraseña empezará la instalación.

mpage_3

Listo ya tenemos la aplicación mpage instalada.

Esta aplicación lee los ficheros de texto plano o PostScript y les vuelve a dar formato para que cada hoja impresa contenga varias páginas con un tamaño reducido respecto al documento original. Esto puede ser un modo de ahorrar papel si no le importa reducir el tamaño del documento original.

Anuncios