miércoles, abril 22, 2009

Impresión UNIX



Como siempre, veremos como se resuelve un problema UNIX general en un UNIX concreto. Será HP-UX por ser el que tengo en el trabajo, pero me imagino el concepto es igual en todos.

El tema es este: Hay que agregar una impresora a nuestro UNIX, pero no tenemos los drivers para HP-UX, o no sabemos ni siquiera si existen, o no nos apetece buscarlos, o no nos apetece instalarlos.

¿Se pueden imprimir ficheros de texto puro y duro?

Sí, claro.

  1. Primero hay que conocer la IP de la impresora.
  2. Vamos a la System Administration Manager (ejecutamos sam desde la línea de comandos).
  3. Entramos en Peripheral Devices.
  4. Entramos en Printers and Plotters
  5. Seleccionamos LP Spooler.
  6. Entramos en Printers and Plotters

En este momento hay que saber que para HP-UX una impresora de red será una impresora que reconoce sin problemas (impresoras HP, impresoras conectadas a red con una HPJetdirect, etc.). Si no es así, o sea, si tenemos por ejemplo una Epson y no queremos instalar los drivers, o por ejemplo es una impresora que la ofrece otro servidor,... entonces es una impresora remota.

  1. Entonces vamos al menú Actions, Add Remote Printer/Plotter.
  2. Le damos un nombre a la impresora en Printer Name. Da igual como la llamemos. En Remote System Name ponemos la IP. Todo lo demás lo dejamos por defecto.
  3. Ahora para poder utilizar la impresora hay que seleccionarla, ir a Actions y hacer clic en “Set as System Default Destination”.


Para probar la impresora probamos el siguiente comando que imprime el fichero:

lp fichero.txt

Otros comandos:

lpalt modifica la información en la cola de peticiones (queued request).

cancel elimina una petición de la cola.

lpstat nos muestra el estado la la cola de impresión.

Ahora bien, tenemos unos pequeños problemas

Para empezar, igual queremos imprimir en apaisado en lugar de en vertical. No nos queda otro remedio que configurar la opción de impresión en la misma impresora.

Otra pega común es que los ficheros de texto UNIX no suelen tener los dos caracteres para el retorno de carro (CR+LF). Entonces en algunas impresoras veremos que sólo se imprime la primera fila.

La solución es convertir los caracteres a formato "dos" con el comando ux2dos. Tranquilos porque no se modifica el fichero.

ux2dos fichero.txt lp Aviso: entre fichero.txt y lp hay un pipe (esa barrita vertical que va a redirigir la salida del primer comando como entrada del segundo).

Saludos.

1 comentario:

alexav8 dijo...

un agregado, que te he comentado en persona y te peude ayudar cuando la cola de impresion se atasca con una tarea

y esa tarea, el fulano la mandó a imprimir cientas de veces, porque no le salía nada!

tenes que hacer cientas veces
cancel nroTarea

te conviene
cancel -e nroTarea
y te elimina todas las tareas de una vez!

saludos de bs as, de neuvo trabajando