"Después del juego es antes del juego"
Sepp Herberger

viernes, 20 de enero de 2023

Lanzar un test de impresión desde un script

De vez en cuando aparece alguien quejándose de que una impresora "no imprime nada" y te ves obligado a ir hasta un puesto que tenga configurada la impresora y hacer una prueba por ti mismo, imprimiendo una página de prueba desde CUPS o una aplicación de escritorio (para descubrir muchas veces que la impresora funciona OK y era realmente un problema del usuario). Para librarme de ese engorro tengo un script que permite imprimir un test desde una conexión ssh. El script en cuestión es:
# cat test-printer.sh

#!/bin/bash
ruta=$(dirname "$0")
if [ "$#" -ne 2 ]
then
    echo "Uso: $(basename $0) <impresora> <bn|color>"
    echo "Impresoras disponibles el sistema:"
    lpstat -p | awk '{ print $3}'
else
    impresora="$1"
    case "$2" in
        "color" )fichero="${ruta}/TestPrinterColor.pdf"  
                 ;;
        "bn" )fichero="${ruta}/TestPrinterBN.pdf"
                 ;;
        *) echo "Error en segundo parámetro"
           exit 1
           ;;
    esac
    lp -d "$impresora" "$fichero" || echo "Error: revise la cola de impresión"
fi
exit 0
El script es muy básico: recibe como primer parámetro un nombre de impresora y como segundo una cadena "bn" o "color", para lanzar una prueba con un documento en blanco y negro o un documento en color. Si lo ejecutamos sin parámetros nos listará los nombres de las impresoras configuradas en el PC donde ejecutamos el script, que son aquellas con las que podremos lanzar el test.

Lo único que necesitamos es crear 2 ficheros pdf a nuestro gusto para los tests en blanco/negro y color, dejándolos en el mismo directorio en que está el script. Estos 3 ficheros los podemos poner en una ruta de red accesible desde cualquier máquina o bien los copiaremos a los PC desde donde queramos hacer las pruebas. Luego, ante un problema bastará entrar por ssh y hacer:
# ./test-printer.sh IMPRESORA_DPTO_12 color
Out!

No hay comentarios:

Publicar un comentario