RESPUESTA A LA PREGUNTA 13846 - REDES En los sistemas multiusuario, hay dos formas de imprimir. Una de ellas es usando una impresora local, es decir, conectada directamente a la terminal o estación de trabajo. La otra es usando una impresora remota, o sea, conectada en otra máquina. En los sistemas con recursos centralizados, el mainframe, la minicomputadora o el server manejan la impresora remota. En los sistemas entre pares, cualquier estación que se ofrezca como host de impresora, maneja la impresora remota. En una impresión local, el vínculo entre la estación y la impresora no involucra a la red. Si la impresora es lenta, mantendrá bloqueada a la máquina durante cierto tiempo. Para agilizar ese tiempo, se agrega una memoria denominada "buffer de impresora" donde se van guardando los bytes destinados a ser impresos y se imprime como tarea de fondo. Por supuesto, cuando el buffer se llena, se produce el bloqueo antes mencionado. Cuando una máquina maneja impresoras accesibles desde distintos puestos de trabajo, trabaja de distinta forma que si la impresión fuese local. Las razones son que un bloqueo afecta a todas las estaciones y que el buffer de impresión debe ser multiusuario. En los sistemas multiusuarios, el gestor de impresión es un programa denominado "spooler". El spooler puede recibir trabajos desde varias estaciones al mismo tiempo. A tal fin va almacenándolos en memoria y, si rebalsa, le inventa un nombre a cada trabajo y los va volcando en disco. Paralelamente, se ocupa de mandarle datos a las impresoras. Un spooler útil debe ser capaz de manejar varias impresoras (sería impensable una red de 100 usuarios con 1 impresora). El conjunto de trabajos destinados a una impresora y que aún no fueron impresos, forma la cola de impresión (print queue) de la impresora. Se dice entonces que el spooler maneja varias colas de impresión a la vez. El spooler también ofrece la posibilidad de anular o cambiar el orden de trabajos pendientes. Otro servicio posible es de imprimir "por la primera impresora que se desocupe", en este caso hay varias impresoras para atender la misma cola. Con respecto a la salida impresa, es usual que el spooler envíe a la impresora la orden para imprimir al principio de la página siguiente (un Form Feed) con lo que se evita comenzar un trabajo por la mitad de una hoja. También es frecuente que entre trabajos se inserte una hoja con la identificación del trabajo y la estación que lo envió (se la llama banner). NetWare instala un spooler en cada server de impresoras (print server) y provee 4 comandos y 3 utilitarios por menúes para manejarlo. Comando CAPTURE (captura) Cuando una estación va a imprimir, la acción por omisión es hacerlo por la impresora local. El comando CAPTURE desvía la impresión hacia el server. Para que CAPTURE funcione, es necesario que el programa de aplicación no escriba directamente en los registros de la puerta paralelo, sino que use los servicios de impresión provistos por el BIOS o el DOS.Si bien puede ser usado sólo, significando así la redirección de los trabajos destinados a LPT1 a la impresora por omisión del server, CAPTURE es un comando muy rico en opciones. Opciones de redirección: JOB = trabajo (de JOB, trabajo), indica el formato del trabajo a usar; se lo define previamente con PRINTCON (Printer Configuration Job) L = n con n= 1, 2 o 3 (de Local printer, impresora local, permite especificar la puerta paralelo a redireccionar (LPT1, 2 o 3). El default es L=1 (1)* Q = nombre_cola (de Queue, cola), si se desea mandar los trabajos a determinada cola de impresión. S = servidor, para indicar a qué servidor (si hay más de uno) se refiere. El default es el file server default del usuario. (2)* CR = nomb_arch (de CReate, crear), permite redirigir una impresión a un archivo en el server. Puede servir, por ejemplo, para capturar pantallas para luego editarlas o para probar la salida de impresión de un programa bajo desarrollo sin usar la impresora. Notas: (1)* No puden direccionarse puertas paralelo inexistenetes en el server. (2)* La opción default es válida, pero no puede cumplirse si el usuario en cuestión pertenece a un grupo de trabajo que vuelca sus trabajos en un server de impresión como veremos más adelante. Opciones de listado: B = encabezamiento (de Banner, banderín), indica que debe incluirse una hoja de identificación al comenzar un trabajo. Por omisión se incluye un banner que muestra el número de conexión del usuario. Este comando es para cancelar el efecto de un NB previo o para cambiar la leyenda en el banner. C = n (de Copies, copias), indica la cantidad de veces que debe repetirse la impresión; por omisión es 1; valor máximo = 255. F = formulario, o F = n (de Form, formulario), el formulario se puede especificar por nombre o número y se define con PRINTDEF. FF (de Form Feed, avance de página), para incluir un FF automáticamente al finalizar un trabajo de impresión. Es especialmente necesario con impresoras laser, pues éstas escriben sólo si la página está completa o si reciben un FF. Por omisión se genera un FF. NAM (de NAMe, nombre), para que el nombre del usuario aparezca en el banner; se especifica si es distinto al nombre de cuenta. NB (No Banner) evita que se impriman "banners" entre trabajos. NT (No Tabs), indica que se deben ignorar los caracteres de tabulación. NFF (No Form Feed), cancela el efecto de un CAPTURE con opción FF anterior. T = n (de Tab, tabulación), indica a cuántas columnas equivale el caracter de tabulación. Opciones de funcionamiento: A (de Autoendcap, automatic end of capture, finalización automática de la captura), al comenzar la aplicación, acumula los datos a imprimir, cuando termina la aplicación, automáticamente los envía todos juntos al server. K (de Keep, guardar), el server captura los datos hasta que la estación se apaga, recién entonces, los imprime. NA (No Autoendcap), anula los efectos de un CAPTURE con opción A anterior. SH (de SHow, mostrar), genera un informe sobre el estado de las impresoras y opciones de impresión. Es una opción excluyente. TI = n con n de 1 a 1000 (de Time Out, tiempo hasta la finalización), si una estación está transmitiendo datos a imprimir y la transmisión se suspende durante n segundos, se da por finalizada la transmisión del archivo y se lo coloca en la cola. Si la transmisión se reestablece, se supone que se trata de un nuevo archivo, es decir que entre ambos puede haber un FF, un banner,e incluso trabajos de otras estaciones. Este método se adopta debido a que salvo con texto ASCII puro, no existe una convención general sobre el fin de archivo. NOTI ( de NOTIfy, notificar), avisa que el trabajo enviado ha sido impreso. CA (CAncel, cancelar), permite cancelar los trabajos enviados. Ejemplos: CAPTURE (captura LPT1 y usa los valores por omisión en el server) CAPTURE L=3 (ídem para LPT3) CAPTURE L=3 P=2 (captura LPT3 y usa la impresora 2 del server) CAPTURE L=3 P=2 J=6 (ídem anterior, pero usa la definición de trabajo 6) CAPTURE C=3 (saca copias por triplicado) CAPTURE SH (reporta de estado) CAPTURE CR=F:SALIDA.PAN (redirecciona la impresión al archivo F:SALIDA.PAN) CAPTURE NB FF TI=15 (captura LPT1, imprime usando los valores por omisión de P y J, evita que salga el banner, fuerza un FF entre trabajos y tiene un "timeout" de 15 segundos) Comando ENDCAP (de END CAPture) Cancela los efectos de CAPTURE. Acepta varias opciones, usando la sintaxis siguiente: ENDCAP opción ALL , para cancelar simultáneamente todas las capturas. L = n , para cancelar selectivamente la captura de la impresora n. Por omisión, ENDCAP deja de capturar datos, pero los que están en la cola de impresión se imprimen. Si se desea evitar ésto desde una estación, pueden usarse las opciones C (Cancel), CALL (Cancell ALL) y CL = n , similares a las recién vistas. Comando NPRINT (Network PRINT): Se usa principalmente para mandar archivos a imprimir. No es residente como el PRINT del DOS, y, tal como se ve a continuación, acepta muchas opciones (cosa imposible con el PRINT del DOS). Salvo la opción D, las demás opciones listadas a continuación son equivalentes a las explicadas al tratar el comando CAPTURE. S = server (Servidor) J = trabajo (Configuración de trabajo) P = n (Servidor de impresión) Q = cola (Cola de impresión) F = formulario o F= n (Nombre o número de formulario) C = número_de_copias (entre 1 y 999 copias) T = n (tabulaciones, entre 1 y 18) NT (sin tabulaciones también llamado bytestream o "torrente de bytes") NA = nombre B = encabezamiento NB (sin encabezamiento) FF (con avance de una hoja de papel) NFF (sin avance de una hoja de papel) NOTI= Notify (avisar cuando se haya impreso el trabajo enviado) Ejemplos : NPRINT TEXTO.DAT NPRINT TEXTO.DAT P=1 J=3 S=SERVER2 NB NFF C=5 Menú PRINTDEF (PRINTer DEFinition) Este menú permite inicializar una impresora para que arranque predefinida en algún modo, sin necesidad de que el programa de aplicación se tenga que encargar. A tal fin NetWare incluye un conjunto de archivos con extensión PDF (Print Definition File) con manejadores (drivers) para las impresoras más usuales. Mediante el menú Print Devices de PRINTDEF se selecciona el modelo de impresora y hecho esto, el modo de trabajo deseado. Por ejemplo, se puede cambiar el tipo de letra y, en las laser, la resolución y la orientación. En función de las opciones elegidas, al inicializar la impresora el server le mandará la secuencia de escape adecuada. Otro uso de este utilitario es para seleccionar formularios o formatos de impresión. Mediante la opción Forms, se indica el ancho (en columnas) y largo (en renglones) de una página, de modo que el spooler pagine automáticamente. A cada formato se le asigna un número, y además se le puede dar un nombre. Si se usa CAPTURE o NPRINT con opción NAME y el trabajo requerido requiere un formato distinto, en vez de imprimir, el spooler envía al usuario un mensaje de error. Menú PRINTCON (PRINT job CONfiguration) PRINTCON permite definir la forma en la que trabajará el spooler. Permite definir los mismos parámetros que CAPTURE y NPRINT, es decir: FF, número de copias, encabezado (banner), tabulación, timeout, autoendcap, cola de impresión, modelo de impresora y modo de trabajo, etc. Al conjunto de parámetros seleccionados se le puede asignar un nombre y guardarlo como un archivo. El modelo de impresora y su modo de trabajo son, en principio, los editados con PRINTDEF. Un detalle importantísimo es el ítem "File contents" (contenido del archivo); si se seleccciona texto, el spooler procede a darle formato, si se especifica "byte stream" (torrente de bytes), los datos llegan sin modificaciones a la impresora. Este modo es el adecuado cuando se pone la impresora en modo gráfico ya sea para reproducir un dibujo o fotografía como para escribir texto con un tipo de letra que no es propio de la impresora (por ej: una impresora de matriz de puntos por impacto escribiendo texto con espaciado proporcional). Menú PCONSOLE (Print CONSOLE) Este es el utilitario apropiado para crear y renombrar colas de impresión. La opción Print Queue Information (información sobre las colas de impresión) muestra y permite cambiar las colas existentes, los trabajos en marcha, los operadores y usuarios de esas colas, etc. Cuando se selecciona un trabajo de la cola, es posible editar muchos de los parámetros de impresión. Algunos son los ya conocidos: FF, NB, Tabulación, Copias, etc pero otros aparecen acá: Service Sequence (posición en la cola), Defer Printing (postergar la impresión), Target Date y Target Time (fecha y hora respectivamente a las que comenzará una impresión postergada). Aparece una ventana denominada "Current Queue Status" (estado actual de la cola), en la que es posible impedir que la cola siga recibiendo trabajos, impedir que la cola mande datos a las impresoras e impedir que nuevos servers usan esa cola. La opción Print Server Information (información sobre el server de impresora) permite cambiarle al print server la password , el "full name", configurarle impresoras y colas de impresión, definir sus operadores, usuarios y grupos y ver su estado. También se pueden definir los Operadores de las colas de impresión (Queue Operators), los usuarios de la cola de impresión (por defecto son todos los usuarios, pero el supervisor puede restringir su uso para algunos solamente); los operadores del servidor de impresión (Print Server Operators) y los usuarios del servidor de impresión (Print server users, por defecto son todos, pero el supervisor puede restringir su uso para algunos solamente) Otro uso frecuente de este menú es el de permitir al operador de consola redireccionar, cancelar o postergar trabajos de impresión cuando lo crea necesario. Podrá direccionar trabajos a otra impresora cuando ésta contenga demasiados trabajos pendientes, un trabajo enviado requiera un formato distinto al que se está utilizando o sea demasiado extenso y haya otros más cortos e importantes que se deseen imprimir. El operador del server de impresión es el encargado de verificar que las impresoras estén listas para operar, tengan el tipo y cantidad de papel adecuados y podrá sacarlas de línea cuando necesite cambiarlo o efectuar algún tipo de ajuste. Comando PSC: (Print Server Control) Permite ver y cambiar desde una terminal el modo de funcionamiento del servidor de impresión y hasta es posible darlo de baja en caso de un mal funcionamiento del mismo. También sirve para conocer el estado de las impresoras remotas, se pueden agregar opciones como las que se describen a continuación: STAT (STATus, estado) permite saber el estado de una o todas las impresoras conectadas al server de impresión especificado. Si se especifica además el número de impresora, se podrá saber el estado de esa en particular solamente. Si no se incluye dicho número (P=n) se verá el estado de todas las presentes en el server especificado (S=nombre del server) a menos que se hubiera definido una impresora "default" mediante el comando DOS SET, con lo que para poder obtener el estado de todas habrá que poner (P=all). Puede obtenerse diferentes informaciones acerca de las impresoras como veremos: Not connected (no conectada) significa que existe una impresora remota pero que en ese momento no se halla disponoble para el server de impresión, ya sea porque el equipo al que se encuentra conectado está apagado o bien porque en esa terminal no ha sido cargado el programa RPRINTER.EXE que sirve para que el server de impresión cuente con esa impresora; dicho programa se explica más adelante. In private mode (en modo privado) significa que dicha impresora no está disponible para la red debido a que está siendo utilizada en modo local por la terminal a la que se halla conectada. Off line (fuera de línea), Out of paper (sin papel) son mensajes que pueden ser entregados por "printing job" (imprimiendo trabajo) o por "Mark/Form feed" (salto de hoja). PAUse (pausa) detiene la impresión en forma temporal. ABort (aborta) detiene la impresión del trabajo en curso, borrando la misma de la cola de impresión, y continúa con la tarea siguiente. STOp (Keep), con la segunda opción, se mantiene la impresión que se efectuaba en la cola de impresión, de lo contrario, la tarea que se estaba efectuando será borrada de la cola de impresión; para reiniciar la impresión detenida con PAUse o STOp, se utiliza el comando STARt. Mark (character, marca de caracter) sirve para separar las tareas de impresión. La impresora imprime una linea o caracter, el "default es un asterisco antes de comenzar a imprimir un trabajo; no puede ser cambiado durante una impresión en curso. FormFeed (avance de hoja) obliga a la impresora a pasar a la hoja siguiente. La misma deberá estar en pausa PAUse o detenida STOp para poder hacer un FormFeed. MOunt Form=n (formulario colocado), es utilizado para informar al server de impresión sobre el cambio de formulario, donde "n" es el número de formulario definido mediante PRINTDEF, como se verá posteriormente. PRIvate (privado) se utiliza para evitar el uso de la impresora especificada por otros usuarios de la red; elimina de la lista de impresoras disponibles a la que se designe "privada", cambiándola de remota a local. SHared (compartible) es la instrucción que contraresta a la anterior, volviendo a disponible a una impresora privada. CancelDown sirve para contrarestar la opción "Going down after current jobs" (bajar el server de impresión luego de efectuar los trabjos pendientes), opcion del menú PCONSOLE visto posteriormente. Menú RPRINTER (Remote PRINTER) Se utiliza cuando se ha instalado el PSERVER, como muchos de los anteriores puede utilizarse como menú o como programa con "switches" tales como nombre del "print server" y número de impresora, que puede también ser definido en el shell.cfg o net.cfg como local printers 1 spx conections=75 Entre los switches que actúan sobre RPRINTER podemos mencionar: -R (Remove, sirve para desconectar la impresora remota) -P (Polled mode, permite evitar problemas a causa de conflictos con la interrupción utilizada por la puerta paralelo del equipo en que se cargó RPRINTER) Ejemplo: Rprinter Lasers 0 -p en donde Lasers es el nombre del servidor de impresión al que se conectó la impresora 0. Consola: Además de los comandos y menúes, parte de las órdenes de consola se refieren al manejo de la cola de impresión. Por esta causa, en los servers de impresión puede haber un "operador de consola" con el objeto de seguir el funcionamiento de las colas de impresión, las impresoras, además de colocar los diferentes tipos de papel y mantener clasificados los trabajos que van saliendo.