COMO Usar el sistema de Impresión en Linux
  Matt Foster, mwf@engr.uark.edu
  Traducido por: Ricardo Javier Cárdenes Medina,
  a1402@correo.dis.ulpgc.es
  v1.0, 5 Agosto de 1995, Traducción 9 de Octubre de 1996.

  Este documento describe cómo usar el sistema de spooling para impreso­
  ras de líneas que provee el sistema operativo Linux. Si está buscando
  una guía para poner a punto su entorno de impresión, por favor, lea el
  Configuración de Impresion Como.
  ______________________________________________________________________

  Índice General:

  1.      Introducción

  1.1.    Histórico de este COMO

  1.2.    Copyrights y Marcas registradas

  1.3.    Obteniendo los COMOs sobre Imprimir en Linux

  1.4.    Sugerencias, críticas y aportaciones

  1.5.    Reconocimientos

  2.      Imprimir bajo Linux

  2.1.    Histórico

  2.2.    Lo básico de imprimir

  2.3.    Viendo la cola de impresión

  2.4.    Cancelando un trabajo de impresión

  3.      Elementos misceláneos

  3.1.    Formateado

  3.2.    Las variables de entorno PRINTER

  3.3.    Imprimiendo ficheros PostScript

  3.4.    Imprimiendo ficheros TeX

  3.5.    Imprimir ficheros formateados con troff

  4.      Respuestas a preguntas frecuentes

  5.      Resolución de problemas

  6.      Referencias

  7.      Colofón

  8.      Anexo: El INSFLUG
  ______________________________________________________________________

  1.  Introducción

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

  1.1.  Histórico de este COMO

  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.

  1.2.  Copyrights y Marcas registradas

  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.

  1.3.  Obteniendo los COMOs sobre Imprimir en Linux

  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/

  1.4.  Sugerencias, críticas y aportaciones

  Las preguntas, comentarios o correcciones para este COMO deben ser
  dirigidas a mwf@engr.uark.edu

  1.5.  Reconocimientos

  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.

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

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

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

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

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

  3.  Elementos misceláneos

  Esta sección comenta algunos de las cosas de utilidad general que
  puedes querer saber sobre imprimir bajo Linux.

  3.1.  Formateado

  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.

  3.2.  Las variables de entorno 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.)

  3.3.  Imprimiendo ficheros PostScript

  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/

  3.4.  Imprimiendo ficheros TeX

  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.

  3.5.  Imprimir ficheros formateados con 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.
  4.  Respuestas a preguntas frecuentes

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

  5.  Resolución de problemas

  Esta sección cubre algunos problemas comunes en tu sistema de
  impresión. Manda sugerencias para esta sección a mwf@engr.uark.edu

  6.  Referencias

  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:

  ·  Está la impresora aceptando trabajos? (usa lpc(8) para verificarlo)

  ·  Está la respuesta a tu pregunta cubierta en este COMO , o en el
     COMO Configurar la Impresión (Printing Setup HOWTO)?
     Si contestas 'sí' a alguna de estas dos cosas, deberías pensarlo
     dos veces antes de enviar tu pregunta. Y cuando finalmente envíes
     el mensaje a un grupo de noticias, incluye toda la información
     pertinente. Intenta no decir sólo algo como "Estoy teniendo
     problemas con 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).

  ·  Welsh, Matt.  Linux Installation and Getting Started (-- Disponible
     en castellano merced al grupo LuCAS como Linux, Instalación y
     Primeros Pasos (LIPP), consultar anexo referente a grupos LiNUXeros
     en España--) Un excelente texto introductorio para el principiante.

  ·  Foster, Matt.  Linux Printing Setup HOWTO (-- Disponible en
     castellano igualmente--) , ver sección ``''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 ficheros

  ·  dvips(1) Convierte un fichero TeX DVI a PostScript

  ·  ghostview(1) Previsualiza ficheros PostScript usando Ghostscript

  ·  groff(1) Front-end para el sistema de formateo groff

  ·  gs(1) Intérprete/Visor Ghostscript

  ·  lpc(8) Programa de control de la impresora de líneas

  ·  lpd(8) Demonio del spool de la impresora de líneas

  ·  lpq(1) Examina la cola de impresión

  ·  lpr(1) Impresor off-line

  ·  lprm(1) Elimina trabajos de la cola de impresión

  ·  pr(1) Convierte ficheros de texto para imprimir

  ·  tex(1) Formateo y tipado de texto

  Grupos de noticias de USENET

  ·  comp.os.linux.*: Muchísima información sobre Linux

  ·  comp.unix.*: Debates relacionados con el UNIX

  7.  Colofón

  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.

  8.  Anexo: El INSFLUG

  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.