Monografias.com > Computación > General
Descargar Imprimir Comentar Ver trabajos relacionados

Linux



    1. Introduccion
    2. Impresión en
      Linux
    3. Impresión
      remota
    4. El area de
      Spool
    5. Directorios
      temporales
    6. Configuracion de impresoras y
      printcap
    7. El demonio de la
      impresion
    8. Formatos de
      texto
    9. Filtros

    INTRODUCCION

    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.

    IMPRESIÓN EN LINUX Impresión en Linux

    La forma más simple de imprimir en Linux es enviar
    el fichero que se va a imprimir directamente al dispositivo de
    impresión.

    Para esto podemos usar el comando cat.

    Como usuario root, uno puede hacer lo
    siguiente:

    cat tesis.txt >
    /dev/lp

    otro ejemplo podría ser ls >
    /dev/lp1

    Lp o lp1 son enlaces simbólicos a las impresoras
    existentes en la máquina. Cuando se instala una impresora se
    debe poner el nombre completo de la misma y se asigna un alias o
    nombre corto para la misma lp1, lp2, lp3, etc.

    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, etc para acceder a la impresora.

    Este método de
    impresión tiene el problema de no utilizar la multitarea
    de linux ya que el proceso
    duraría el tiempo que la
    impresora necesite para despachar el trabajo a
    imprimir, incluyendo otro tipo de problemas ,
    como por ejemplo que la impresora se encuentre apagada, trancada
    o sin papel.

    Lo que saldría por la impresora en el primer caso
    sería el documento tesis.txt, en
    el segundo caso se ejecuta el comando ls, listando por impresora
    los ficheros que se encuentren en el directorio
    actual.

    IMPRESIÓN REMOTA

    Cualquier máquina que intente imprimir en un
    sistema determinado, debe estar registrada en la maquina que se
    va a imprimir en cualquiera de los siguientes
    ficheros:

    • /etc/hosts.equiv
    • /etc/hosts.lpd

    Estos, son simples ficheros de texto, con un
    nombre de maquina por línea. Es preferible el segundo,
    reservando el primero para proporcionar mayores permisos de
    acceso.

    Puede restringirse el uso tanto por nombre como por
    grupos.

    – Las siguientes son líneas que se deben agregar
    al fichero /etc/printcap.

    :rg: Con esta línea se especifican los grupos
    autorizados con uno o varios campos.

    Ej. :rg=Grupo:
    Poniendo esta línea en el printcap solo podrán
    acceder a la impresora aquellos usuarios asignados al grupo que
    se especifica en la línea, en este caso es
    Grupo.

    :rs: Con este campo, se puede también limitar el
    acceso a aquellos usuarios con cuenta en su sistema.

    EL
    AREA DE SPOOL

    El spool o cola de impresión es un
    área de almacenamiento,
    donde se guardan los datos a imprimir
    en un archivo temporal
    y se arranca un proceso en segundo plano (que es el demonio de
    impresión o lpd) que es quen envía la información a la impresora
    seleccionada.

     

    Generalmente el directorio de spool se encuentra
    en:

    /usr /spool / lpd

    o

    /var /spool / impresora

    La cola de Impresión permite que se puedan
    imprimir varios ficheros a la vez, cuantos sean
    necesarios.

    Cada impresora tiene su cola de impresión esto
    significa que se pueden estar mandando varios documentos a las
    impresoras que
    se tengan instaladas e incluso pueden haber varios documentos en
    cada una de las colas.

    Los documentos de una cola no se mezclan con los
    documentos de la otra y existe un procesos o
    demonios que se encargan de tratar individualmente cada
    documento, esto lo veremos más detalladamente en la parte
    de Proceso de Impresión).

    Realmente, sólo hay un directorio importante que
    es el spool.

    Sin embargo, un sistema típico debería
    configurarse en varios directorios, uno para cada impresora, lo
    que facilita notablemente el mantenimiento.
    En la mayoría de las instalaciones, /var/spool/lpd o /usr
    /spool / lpd (algunos materiales
    hacen referencia a la primera y otros a la segunda) es el
    directorio de spool principal, y cada impresora tiene un
    subdirectorio particular, con el mismo nombre que la impresora.
    Así, si tiene una impresora llamada PJL-16 que admite
    PostScript y HPGL, debería crear dos directorios, por
    ejemplo /var/spool/lpd/PJL-16-ps y
    /var/spool/lpd/PJL-16-hpgl..

    s Temporales

    DIRECTORIOS TEMPORALES

    Los directorios temporales deberían pertenecer a
    root, grupo lp

    El usuario y el grupo deben poder leer y
    escribir, y el resto solo leer.

    Cada directorio temporal debe contener como
    mínimo estos cuatro ficheros: ".seq" , "errs" , "lock" y
    "status".

    – El fichero .seq contiene la secuencia de trabajos
    enviados.

    – El fichero status contiene el mensaje que devuelve
    "lpc stat".

    – El fichero lock impide al demonio lpd imprimir dos
    trabajos al mismo tiempo en la
    misma impresora.

    – El fichero errs guarda un registro de los
    errores de la impresora.

    CONFIGURACION DE IMPRESORAS Y
    PRINTCAP

    Configuración de
    Impresoras El /etc/printcap es simplemente un
    archivo de
    texto, que
    guarda la configuración de las impresoras y que puede ser
    modificado por el root o superusuario.

    Su propietario es el administrador del
    sistema y debe tener permisos de lectura y
    escritura para
    el mismo. Los permisos para todos los demás deben ser de
    solo lectura, por
    razones obvias.

    Cada entrada de printcap describe una impresora, es
    decir, cada entrada de printcap provee una denominación
    lógica
    para un dispositivo físico, y describe cómo deben
    ser los datos enviados y
    manejados por este dipositivo.

    Por ejemplo, una entrada de printcap definirá
    qué puerto vamos a usar, que spool, que proceso deben
    soportar los datos, qué clase de errores debemos
    notificar, qué volumen de datos
    se permiten enviar como máximo, o limitar el acceso de
    ciertos dispositivos.

    Cada entrada de /etc/printcap se estructura con
    una serie de campos, encabezados por una etiqueta, y limitados
    por dos puntos, a excepción del primer campo, que describe
    la impresora.

    Campos del printcap:

    – lp :

    Apunta al puerto/dispositivo de
    impresión.

    Generalmente es /dev/lp.

    Cuando configure una impresora remota, se debe poner
    ":lp=:" en /etc/printcap, indicando que no está asignada a
    ningún dispositivo local..

    lf :

    Guarda un registro de los
    errores de la impresión.

    – if :

    Indica el nombre del filtro de impresión a
    ejecutar.

    – rm y rp :

    Controlan el destino de la impresión
    remota.

    – sh y sf :

    Son separadores.

    Se usan cuando hay mucha gente usando la misma
    impresora.

    – mx :

    Limita el tamaño del spool, señalando una
    cantidad en bloques de 1 K ( 1024 bits ).

    Si mx=0, el límite viene dado por el espacio
    disponible en disco.

    Este campo es útil si se tienen programas que
    accidentalmente pueden generar un volumen
    desproporcionado de datos a imprimir (imágenes,
    por ejemplo).

    Ejemplo de entrada en /etc/printcap:

    impresora|HP850C:

    # Se pone la impresora con 2 alias.

    :lp=/dev/lp1:

    # lp es el dispositivo de impresión, acá
    se está seteando como la primera impresora.

    :sd=/var/spool/lpd/HP850C:

    # Con esta línea especificamos el área de
    spool para esta impresora.

    COMANDOS

    lpr :

    Nos permite imprimir un fichero o conjunto de ficheros,
    así como la salida de alguna orden.

    Sintaxis de impresión de ficheros:

    lpr  fichero1

    lpr  fichero1  fichero2 
    fichero3

    Como la salida de un comando:

    comando  |  lpr

    ls  -l  |  lpr

    El parámetro -P nos permite especifica a que
    impresora va dirigido el trabajo de
    impresión.

    Sintaxis:

    lpr  -P  nombre_impresora 
    fichero1

    lpq :

    Lo utilizamos para poder
    gestionar el conjunto de tareas de impresión que se
    encuentran en la cola de impresión.

    El parámetro -P especifica que cola de
    impresión queremos ver. 

    La información que visualiza el lpq es entre
    otra el nombre del propietario del trabajo, un número de
    trabajo que es secuencial, el nombre del fichero o del comando a
    imprimir, el tamaño del fichero y el orden en el que se va
    a imprimir.

    lprm :

    Este comando se utiliza para remover un trabajo de la
    cola de impresión.

    Se puede indicar específicamente el numero de
    trabajo, o con el parámetro "–P" podemos cancelar
    todos los trabajos destinados a una impresora
    seleccionada.

    Sintaxis de eliminación de ficheros:

    lprm  número de trabajo

    Si el superusuario deseara eliminar todos los trabajos
    pertenecientes a un usuario determinado, bastaría con
    especificar el nombre del usuario en la línea de comandos.

    Sintaxis de eliminación de todos los ficheros de
    un usuario:

    lprm  -P impresora usuario

    También existe con este commando, una forma de
    eliminar todos los trabajos de la cola de impresión, esto
    esta reservad solo para el administrador del
    sistema.

    Sintaxis:

    lprm  –

    lpc :

    Con lpc podemos comprobar el estado de
    las impresoras, y controlar algunos aspectos de su
    uso.

    permite arrancar y parar la cola de impresión,
    permite activar y desactivar impresoras, y reorganizar el orden
    de los trabajos en cola.

    1) lpc down impresora

    2) lpc enable impresora

    3) lpc topq 23

    1.- Inhabilita la impresora "impresora".

    2.- Habilita la impresora "impresora".

    3.- Mueve el trabajo 23 al principio de la cola de
    impresión.

    EL
    DEMONIO DE LA IMPRESION

    Es un proceso en segundo plano, que analiza constante y
    metódicamente los directorios de spool, buscando nuevos
    datos a imprimir.

    Cuando hay algún dato para imprimir, este demonio
    realiza una copia de si mismo que toma los archivos
    correspondientes y los manda a la impresora
    seleccionada.

    El demonio original se encarga de seguir chequeando la
    cola en espera de nuevos trabajos para imprimir.

    Vale decir que para cada trabajo se crea un demonio que
    se ocupe únicamente de ese trabajo.

    PROCESO DE LA IMPRESION

    Vamos a presentar el proceso de impresión
    mediante un ejemplo.

    Suponemos que el usuario manda a imprimir el archivo
    carta.txt, en la impresora cuyo nombre simbólico es
    lp

    Esto se puede hacer con el comando lpr, de
    la siguiente manera:

    lpr -Plp carta.txt

    Las características de la impresora física son
    especificadas por el administrador del sistema en el archivo
    /etc/printcap.

    El archivo carta.txt es
    leído por el programa lpr, el
    cual crea una copia en el directorio de spool de esta
    impresora.

    Esta copia es tomada como un Data File y el nombre de la
    copia del archivo será algo parecido a
    dfA123host.

    En este momento, la copia del archivo carta.txt (data
    file), se coloca en el directorio de spool, junto con otro
    archivo llamado el archivo de control (control
    file).

    El archivo de control especifica los parámetros
    de impresión para el programa que
    imprime el archivo y su nombre será algo parecido a
    cfA123host.

    Una vez copiados los archivos de datos
    y de control al directorio de spool, el proceso lpr manda
    un mensaje IPC al demonio de impresión
    (lpd).

    Para ver el grafico seleccione la
    opción "Descargar" del menú superior

    El mensaje IPC notifica que hay un trabajo a
    imprimir y también contiene el nombre de la impresora,
    para que el demonio sepa en que directorio de spool debe buscar
    los datos a imprimir.

    El demonio, que ha estado por un
    mensaje IPC, hace una copia de sí mismo.

    Esta copia maneja la solicitud de impresión,
    enviando los datos al dispositivo (impresora), mientras que el
    lpd original espera por otro mensaje IPC que le indique que hay
    otro trabajo para imprimir.

    El proceso lpr está completo:

    – Se copiaron los archivos en el directorio de
    spool.

    – Se creó un archivo de control para el programa
    de impresión.

    – Se notificó al demonio que hay trabajos para
    imprimir.

    – El proceso lpd (hijo) busca los archivos en el spool y
    los envía a la impresora.

    II
    – FORMATOS DE TEXTO

    PostScript :

    Unix generalmente opera en "terminales ASCII" y no en el
    ambiente de
    Ventanas.

    El hecho de usar "terminales ASCII", limita
    toda la escritura a un
    sólo tipo de formato texto simple o ASCII), esto significa
    documentos sin sangrías, encabezados, margenes o cualquier
    tipo de formato.

    Por lo tanto, antes de imprimir un documento de "texto
    simple" este debe ser formateado para que la impresión
    contenga el formato adecuado.

    Para esto existen programas como
    troff y TEX , que integran márgenes, diferentes tipos de
    letra, encabezados, entre otras cosas al documento.

    Lo anterior producía un problema para muchos
    usuarios que no conocían el funcionamiento de troff o TEX
    ya que no era posible observar el documento formateado antes de
    su impresión, además en la "terminales ASCII" no
    era posible observar este tipo de formato, previamente a la
    impresión

    Para solucionar estos problemas
    surgieron los procesadores de
    palabras que se conocen hoy en día.

    Procesadores de Palabras WYSIWYG

    Los procesadores de
    Palabras que conocemos hoy en día, también
    denomindos WYSIWYG ("What you see is what you get" que significa
    lo que ves es lo que obtienes), surgieron para auxiliar a los
    usuarios que necesitaban ver la presentación del documento
    antes de enviarlo a impresión.

    Pero surge un problema, "el formato", cada procesador de
    palabras implementa diferentes conversiones.

    A pesar de la ventaja de poder observar el documento de
    una manera formateada con diferentes tipos de letra, el problema
    de intercambiar documentación en estos procesadores de
    palabras resulta problemático.

    La Impresión

    Al mandar imprimir un documento ya sea de "Word","WordPerfect","troff" o cual fuera el
    formato visualizado en pantalla, aún ocurre otra
    conversión.

    Ya que ningún procesador de
    palabras utiliza las mismas conversiones, este documento debe de
    ser convertido en un lenguaje que
    pueda ser interpretado por la impresora, generalmente es:
    Postscript o PCL de IBM.

    Texinfo :

    Es el formato nativo del proyecto GNU.
    emacs puede ser forzado a producir un fichero de
    información desde TeXinfo, y TeX producirá un
    excelente resultado a partir de este mismo fichero. Realmente, el
    documento está en formato TeX, y necesita que el fichero
    de macros
    texinfo.tex esté instalado en su sistema.

    Simplemente ejecute 'tex fichero' dos veces (con el fin
    de generar índices), y obtendrá un fichero dvi que
    podrá imprimir o visualizar.

    Adobe Acrobat. Ficheros PDF :

    PDF es un formato de documentación que permite absoluta independencia
    del sistema
    operativo.

    Un fichero PDF se imprimirá igual de bien en un
    ordenador con MS-Windows, un
    Mac o un PC con Linux.

    Los documentos PDF se traducen justo a la hora de
    imprimirlos al formato que cada sistema operativo
    requiera.

    En UNIX, se traducen
    a PostScript.

    III
    – FILTROS

    Los filtros son programas que
    reciben datos por la entrada estándar, y los devuelven
    procesados por la salida estándar.

    El trabajo del filtro consta de procesar los datos a
    imprimir.

    Un filtro puede incluso no enviar ningún dato al
    puerto.

    Un ejemplo de filtro típico es detectar texto
    llano y convertirlo en PostScript para imprimirlo en ese tipo de
    trastos.

    Son muy útiles, por ejemplo, para eliminar el
    efecto escalera, o cambiar la página de códigos sin
    necesidad de cambiar la configuración de la impresora cada
    vez que la usemos entre UNIX y DOS.

    Cuando se especifica un filtro de entrada, el demonio de
    impresión no envía los datos pendientes al
    dispositivo especificado. En su lugar, arranca el filtro y asigna
    el fichero temporal a la entrada estándar, y el
    dispositivo de impresión como salida
    estándar.

    Además, podemos definir distintos modos de
    procesar datos para una misma impresora. Por ejemplo, una misma
    impresora puede manejar datos en formatos PostScript, HPGL y PCL,
    dependiendo de la secuencia de órdenes que le enviamos al
    comienzo de cada trabajo.

    GHOSTSCRIPT

    PostScript es el formato estándar de los ficheros
    imprimibles en UNIX.

    El problema radica en que no todos tienen impresora que
    Maneje PostScript.

    GhostScript, creado por Peter Deutsch, fundador de
    Aladdin Enterprises es el interprete por excelencia de documentos
    en formato PostScript y también PDF.

    GhostScript permite presentar datos PS y PDF en la
    pantalla y además traducirlos de manera que puedan ser
    impresos en una impresora con capacidad gráfica, mediante
    el uso del controlador de dicha impresora.

    Ghostscript, como la mayoría de las utilidades,
    procede del proyecto
    GNU.

    Tiene la finalidad de traducir PostScript a formato X
    Window, el cual es el que usan las impresoras como IBM, Epson,
    HP, Canon, fax y casi
    para cualquier dispositivo que exista.

    Los dispositivos soportados en cada versión de
    ghostscript están debidamente relacionados en la
    documentación del programa; puede obtenerse una
    relación con la orden 'gs -help'.

    Ghostscript se ha convertido en utilidad
    estándar en la mayoría de las distribuciones de
    Linux, que la incluyen completa.

    Para imprimir ps lo primero que hay que hacer es
    determinar el nombre del dispositivo por donde quiero imprimir
    con la orden 'gs -help', que lista los dispositivos
    instalados.

    # gs -dNOPAUSE – sDEVICE=? -sOutputFile=/dev/lp1
    fichero.ps

    gs puede imprimir en la mayoría de las
    resoluciones soportadas por el dispositivo: '-r300' '-r150',
    '-r360x180' son ejemplos de las opciones para su
    control.

    Las impresoras matriciales necesitan que se fije esta
    opción, al no soportar normalmente la resolución
    por defecto de 300×300.

    OTROS FILTROS

    mpage :

    Transforma texto llano a PostScript y/o imprime
    más de una página en cada hoja de papel a partir
    de PostScript o texto.

    a2ps, enscript, nenscript :

    A partir de un texto ascii llano, a2ps produce una
    página debidamente formateada, con cabeceras, pies,
    números de página

    enscript y nenscript hacen lo mismo que a2ps.

    TeX, LaTeX :

    TeX es un sistema de formateado de textos.
    Aunque más bien se usa como un procesador de
    documentos.

    Funciona de modo análogo a un compilador: El
    código
    fuente corre a través del programa tex, y obtenemos un
    fichero .dvi, independiente del dispositivo, que normalmente debe
    ser procesado de nuevo para obtener un documento
    impreso.

    La calidad del
    producto
    obtenido es muy buena.

    dvips :

    Convierte el fichero dvi generado a partir de un
    documento TeX en un fichero PostScript, que puede imprimir a
    través de gs, o directamente en la máquina
    adecuada.

    Sintaxis:

    dvips -f1 fich.dvi | lpr

    Banderas:

    dvips -r1 fich.dvi

    Esta línea imprime el documento en orden
    inverso.

    Es una opción muy útil para los
    propietarios de impresoras HP ya que de este modo las hojas
    saldrán ya ordenadas.

    eps, dvilj, dvi500 :

    Transforman los ficheros dvi en los lenguajes de
    impresoras Epson y HP LaserJet y DeskJet
    respectivamente.

    *roff; (es para crear páginas man)
    :

    Troff es el generador de documentos virtualmente
    universal, esto es debido a que las páginas de manual se
    escriben para ellos.

    Sintaxis:

    man -t <comando> | lpr

    Groff traduce la página a PostScript, que se
    procesa sin mayores problemas.

    FILTROS MAGICOS

    Existen otros tipos de filtros que son capaces de
    reconocer el tipo de fichero que queremos imprimir y realizar las
    operaciones
    necesarias para que obtengamos una salida correcta, a estos
    programas los denominamos Filtros Mágicos.

    Un filtro mágico analiza la entrada que recibe, y
    de acuerdo con los datos que se le envíen, manda estos
    datos a otros filtros secundarios, que son los que detallamos en
    la sección anterior.

    Así por ejemplo cuando le llega un trabajo que
    está en PostScript lo envía al GhostScript y cuando
    le llega un formato de dibujo como
    BMP, lo envía al filtro correspondiente.

    Los filtros mágicos más conocidos son
    MagicFilter, apsfilter y los filtros de
    impresión del Redhat
    .

    MagicFilter :

    El programa MagicfilterConfig se crea al instalar el
    paquete Magicfilter y permite una comoda configuración de
    la impresora, escribiendo el archivo etc/printcap a través
    de respuestas a preguntas que nos hace
    interactivamente.

    El creador de este programa es Peter Anvin y el programa
    puede descargarse de cualquier espejo de Sunsite.

    Una vez instalado el programa permite que el sistema
    reconozca e imprima Gráficos (Jpeg, Tiff, BMP, Gif, etc.),
    ficheros PS, PDF, DVI, paginas de manual, Ficheros
    ASCII con acentos y ñ e incluso cualquier fichero
    comprimido con gzip.

    ApsFilter :

    Este programa fue desarrollado por Andreas Klemm, y hace
    básicamente lo mismo que el MagicFilter, pero
    además añade algunas opciones interesantes como por
    ejemplo, permite imprimir ficheros comprimidos con gzip, compress
    y freeze entre otros.

    Además el ApsFilter ofrece las siguientes colas
    de impresión para máquinas
    locales:

    – Lp :

    Cola estándar para todos los formatos de
    fichero.

    – Lp-mono :

    Se genera para impresoras de color, cuando se
    quiere imprimir en blanco y negro

    – Ascii :

    Para imprimir ficheros tipo ascii.

    – Raw :

    Para imprimir ficheros que ya tienen un formato
    específico de la impresora y por lo tanto no requieren
    ningún tipo de compresión.

    Filtros de Impresión de RedHat
    :

    Redhat cuenta con su propio sistema de
    configuración de impresora (Printtool) y su propio sistema
    de filtros de impresión
    (/usr/lib/rhs/rhs-printfilters).

    Se incluye dentro de estos filtro una herramienta de
    configuración visual y un administrador gráfico de
    trabajos de impresión.

    La configuración de una impresora mediante
    Printtool es muy sencilla y no requiere que el usuario tenga
    muchos conocimientos del sistema.

    El filtro de RedHat se parece más al MagicFilter
    que al ApsFilter porque genera solo una cola de impresión
    para una impresora única lp.

     

     

     

     

     

    Horacio Rapalini – 113781

    Nicolás Domínguez –
    68344

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter