mwf@engr.uark.edu
a1402@correo.dis.ulpgc.es
* Nota del traductor. A partir de ahora usaré el verbo bajar para traducir el inglés download, ya que aunque no es literalmente correcto, es la forma en que más lo he escuchado a otros usuarios españoles y es la que yo mismo uso.
Este documento describe cómo usar el sistema de spooling para impresoras de líneas que provee el sistema operativo Linux. Si estás buscando una guía para poner a punto tu entorno de impresión, por favor, lee el Linux Printing Setup HOWTO.
Esta versión de este COMO es una reescritura completa del original escrito por
Grant Taylor
grant@god.tufts.edu
y Brian McCauley
B.A.McCauley@bhan.ac.uk
He intentado mantener el material presentado por el COMO De Grant y Brian,
pero he modificado drásticamente el estilo de presentación y la profundidad de
los temas tratados. Me parece que esto hace el COMO más completo y fácil de
leer. Sólo puedo esperar que estés de acuerdo.
Algunos nombres mencionados en este COMO están registrados en copyrights y/o están reclamados como Marcas registradas de ciertas personas y/o compañías. Dichos nombres aparecen con la inicial o el nombre completo en mayúsculas en este COMO.
El COMO Usar la Impresora en Linux v1.0 (c) 1995 Matt Foster.
A menos que se diga otra cosa, cada autor de documentos COMO de Linux tiene el copyright de los que haya escrito. Estos documentos pueden ser reproducidos y distribuidos totalmente o en parte, en cualquier medio físico o electrónico, mientas ese aviso de copyright se mantenga en todas las copias. La redistribución comercial está permitida y alentada; sin embargo, al autor le gustaría que se le notificasen dichas distribuciones.
Todas las traducciones, trabajos derivados o trabajos agregados que incorporen cualquier documento COMO de Linux deben ser cubiertos bajo este aviso de copyright. Esto es, no puedes producir trabajos derivados de un COMO e imponer restricciones adicionales en su distribución. Se pueden admitir excepciones a estas reglas bajo ciertas condiciones; por favor contacte con el coordinador de los COMO de Linux en la dirección que aparece más abajo.
En resumen, deseamos promocionar la diseminación de esta información a través de cuantos canales sea posible. De todas maneras, queremos retener el copyright de los documentos COMO, y nos gustaría ser notificados de cualquier plan para redistribuir los COMOs.
Si tienes cualquier pregunta, por favor contacta con Greg Hankins, el
coordinador de los HOWTO de Linux, en
gregh@sunsite.unc.edu
. Puedes hacer un finger
a esta dirección
para averiguar el número de teléfono e información adicional de contacto.
Te recomiendo que si quieres imprimir una copia de este COMO que hayas bajado
la versión PostScript. Está formateada de manera más estética y sencilla de
leer. Puedes obtener la versión Postscript desde alguno de los muchos 'sites' de distribución de Linux (como SunSITE,
ftp://sunsite.unc.edu/Linux/docs/Howtos/
), o
directamente desde mi página World Wide Web en
http://www.engr.uark.edu/~mwf/pht/
Las preguntas, comentarios o correcciones para este COMO deben ser dirigidas a
mwf@engr.uark.edu
Gracias a toda la gente que apartó el tiempo necesario para leer la versión alfa de ese COMO y respondió con multitud de comentarios y sugerencias que ayudaron mucho (algunos podréis ver vuestros comentarios reflejados en la versión)
Me gustaría también agradecer a Grant y Brian por la gran cantidad de información que me han dado durante la transición de autoría.
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.
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.
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)
.
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
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.
Esta sección comenta algunos de las cosas de utilidad general que puedes querer saber sobre imprimir bajo Linux.
Como la mayoría de los ficheros ASCII no están formateados para la impresión, es
útil formatearlos de alguna manera antes de que sean realmente impresos. Esto
puede incluir poner un título y número en cada página, poner márgenes, espaciado
doble, sangría, o imprimir el fichero en múltiples columnas. Una forma común de hacer esto es usar un preprocesador de impresión como pr
.
$ pr +4 -d -h"Ph.D. Thesis, 2nd Draft" -l60 tesis.txt | lpr
En el ejemplo de antes, pr
tomará el fichero tesis.txt
y saltaría las
primeras tres páginas (+4
), pondría la longitud de página en 60 líneas
(-l60
), doble espacio de la salida (-d
), y añadiría la frase
"Ph.D. Thesis, 2nd Draft" al principio de cada página (-h
). lpr
imprimiría entonces la salida de pr
. Mira la página del manual para
más información acerca de cómo usar pr
.
PRINTER
Todos los comandos del sistema de impresión de Linux aceptan la opción -P
.
Esta opción permite que el usuario especifique que impresora usar como salida.
Si un usuario no especifica la impresora a usar, entonces se asumirá que la
impresora por defecto es el dispositivo de salida.
En lugar de tener que especificar la impresora a usar cada vez que imprimes,
puedes poner en la variable de entorno PRINTER
el nombre de la impresora
que quieres usar. Esto se hace de diferentes maneras por cada shell. Para
el bash
puedes hacerlo con
$ PRINTER="nombre_de_impresora"; export PRINTER
en csh
, lo puedes hacer con
% setenv PRINTER "nombre_de_impresora"
Estos comandos pueden ser situados en tus scripts de login (.profile
o .cshrc
), o enviados en la línea de comandos. (Leer bash(1)
y csh(1)
para más información sobre las variables de entorno.)
Imprimir ficheros PostScript en una impresora que tiene un intérprete PostScript
es sencillo; simplemente usa lpr
, y la impresora se ocupará de todos los
detalles por ti. Para aquellos de vosotros que no tienen impresoras con
capacidades PostScript, nos veremos obligados a usar otros medios. Por suerte, hay programas disponibles que pueden entender el PostScript, y traducirlo a un
lenguaje que la mayoría de las impresoras pueden comprender. Probablemente el
más conocido de estos es Ghostscript.
La responsabilidad de Ghostscript es convertir todas las descripciones de un fichero PostScript a los comandos que la impresora entienda. Para imprimir un fichero PostScript usando Ghostscript, podrías hacer algo como
$ gs -dNOPAUSE -sDEVICE=deskjet -sOutputFile=|lpr tesis.ps
Date cuenta que en el ejemplo anterior hemos enviado la salida de Ghostscript hacia el comando lpr
usando la opción -sOutputFile
.
Ghostview es un interface de Ghostscript para el Sistema X Window. Te permite
previsualizar un fichero PostScript antes de que lo imprimas. Ghostview y
Ghostscript pueden ser bajados desde
ftp://prep.ai.mit.edu/pub/gnu/
Una de las maneras más fáciles de imprimir los ficheros TeX es convertirlos a
PostScript y entonces imprimirlos usando Ghostscript. Para hacerlo, primero
necesitas convertirlos de TeX a un formato conocido como DVI (siglas de DeVice-Independent, independiente del dispositivo). Puedes hacerlo con el comando tex(1)
. Entonces necesitas convertir el dispositivo DVI a PostScript usando
dvips
. Todo esto debería ser de la siguiente manera cuando lo escribas.
$ tex tesis.tex
$ dvips tesis.dvi
Ahora ya estás preparado para imprimir los ficheros PostScript resultantes tal como se describe anteriormente.
troff
$ groff -Tascii tesis.tr | lpr
o, si lo prefieres,
$ groff tesis.tr > tesis.ps
Y entonces imprimir el fichero PostScript como se describió anteriormente.
P1. Cómo puedo prevenir el efecto de escalera (staircase effect)?
R1. El efecto de escalón ocurre por la manera en que algunas impresoras esperan que se acaben las líneas. Algunas impresoras quieren líneas que terminen con un retorno_de_carro/avance_de_línea CR/LF (estilo DOS) en lugar de con la secuencia por defecto de los sistemas tipo UNIX (sólo un avance de línea, LF). La manera más sencilla de solucionar esto es mirar si tu impresora puede conmutar entre ambos estilos de alguna manera (un interruptor DIP o mandando una secuencia de escape). Para hacer la segunda necesitas crear un filtro (ver P2 y Foster95b).
Una forma rápida de arreglarlo es usar un filtro en la línea de comandos. un ejemplo de esto podría ser
$ cat tesis.txt | todos | lpr
P2. Qué es un filtro?
R2. Un filtro es un programa que lee de la entrada estándar (stdin
), realiza
alguna acción sobre esa entrada, y escribe en la salida estándar (stdout
). Los
filtros se usan para montón de cosas, incluyendo el procesado de textos.
P3. Qué es un filtro mágico?
R3. Un filtro mágico es un filtro que realiza una acción basada en el tipo de un fichero. Por ejemplo, si el fichero es puro texto, entonces simplemente imprimirá el fichero usando los métodos normales. Si el fichero es PostScript, o cualquier otro formato, podría imprimirlo usando otro método (ghostscript).
Esta sección cubre algunos problemas comunes en tu sistema de impresión. Manda
sugerencias para esta sección a
mwf@engr.uark.edu
Esta es una sección de referencias sobre el sistema de impresión Linux. He intentado mantener la sección de referencias de este COMO lo más concentrada posible. Si crees que he olvidado algún tema significativamente importante, por favor no dudes en contactar conmigo.
Antes de que mandes tu pregunta a un grupo USENET, considera lo siguiente:
lpc(8)
para verificarlo)lpr
,
por favor ayuden." Este tipo de mensajes serán ignorados. Además
intenta incluir la versión del kernel que estás ejecutando, cuándo ocurrió
el error y el mensaje de error específico que devolvió el sistema (si lo
hizo). Disponible en castellano merced al grupo LuCAS como Linux, Instalación y Primeros Pasos (LIPP), consultar anexo referente a grupos LiNUXeros en EspañaUn excelente texto introductorio para el principiante.
Disponible en castellano igualmente, ver sección Grupos El suplemento a este COMO; cubre temas tales como preparar y configurar el software de impresión.
Páginas del Manual:
cat(1)
Concatena e imprime ficherosdvips(1)
Convierte un fichero TeX DVI a PostScriptghostview(1)
Previsualiza ficheros PostScript usando Ghostscriptgroff(1)
Front-end para el sistema de formateo groffgs(1)
Intérprete/Visor Ghostscriptlpc(8)
Programa de control de la impresora de líneaslpd(8)
Demonio del spool de la impresora de líneaslpq(1)
Examina la cola de impresiónlpr(1)
Impresor off-linelprm(1)
Elimina trabajos de la cola de impresiónpr(1)
Convierte ficheros de texto para imprimirtex(1)
Formateo y tipado de textoGrupos de noticias de USENET
comp.os.linux.*
: Muchísima información sobre Linuxcomp.unix.*
: Debates relacionados con el UNIX
Este COMO fue escrito usando vi
, el editor fundamental; la mente
humana, la computadora fundamental; e imaginación, la herramienta
fundamental. La computadora elegida fue una Gateway2000 i486/50
corriendo la Slackware 2.2 con la versión 1.3.4 del kernel. El documento
original fue escrito en formato mark-up usando Linuxdoc-SGML
Cuya guía está disponible en castellano, consultar anexo Grupo LiNUXeros en España(una versión hackeada del QWERTZ DTD de Tom Gordon). El COMO fue entonces enviado vía mail a Greg Hankins, el coordinador del Proyecto de Documentación de Linux. Allí fue convertido a formatos PostScript, TeXinfo, DVI, ASCII y HTML.
La traducción se escribió con el pico, en un i586/90 corriendo el kernel
2.0.0 con mark-ups de Linuxdoc-SGML
.
El INSFLUG forma parte del grupo internacional Linux Documentation Project, encargándose de las traducciones al castellano de los Howtos (Comos), así como la producción de documentos originales en aquellos casos en los que no existe análogo en inglés.
En el INSFLUG se orienta preferentemente a la traducción de documentos
breves, como los COMOs y PUFs (Preguntas de
Uso Frecuente, las FAQs. :)
), etc.
Diríjase a la sede del INSFLUG para más información al respecto.
En la sede del INSFLUG encontrará siempre las últimas versiones
de las traducciones:
www.insflug.org
. Asegúrese de comprobar cuál es la última versión
disponible en el Insflug antes de bajar un documento de un servidor réplica.
Se proporciona también una lista de los servidores réplica (mirror) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano.
Francisco José Montilla,
pacopepe@insflug.org
.