escputil: controlando nuestra impresora Epson por comandos

Publicado por Diego Córdoba en

Hoy les traigo escputil, una pequeña utilidad por comandos para trabajar con nuestra impresora Epson.

epson escputil

Epson, por lo menos a la fecha de este post, no está desarrollando drivers para GNU/Linux, por lo que si no hemos comprado impresora aún, para los linuxeros Epson no es una buena opción.

escputil viene al rescate

Si ya tenemos nuestra Epson, este comando puede salvarnos la vida 🙂

Suponiendo que ya tenemos nuestra impresora instalada y funcionando, podemos instalar este paquete para poder administrar algunos parámetros de la impresora, vía línea de comandos, además de las utilidades propias que nos da CUPS.

aptitude install escputil

En ArchLinux el paquete viene junto con el paquete gutenprint:

pacman -S gutenprint

Una vez instalado, podremos ver las opciones disponibles en:

man escputil

Entre las más importantes, en mi caso, y suponiendo que nuestra impresora es, por ejemplo, /dev/usb/lp0, podremos correr los siguientes comandos:

Limpieza de cabezales:

sudo escputil -cur /dev/usb/lp0

Impresión del patrón de test de inyectores:

sudo escputil -nur /dev/usb/lp0

Verificar el estado de la impresora:

sudo escputil -sur /dev/usb/lp0

Consultar lista de modelos soportados por la utilidad:

sudo escputil -Mur /dev/usb/lp0
escputil

Además, el comando escputiltiene otros modificadores interesantes: podemos alinear los cabezales con la opción -a si nuestro modelo de impresora fue bien reconocido, o especificado mediante -m.

Un script personalizado

También, podemos programar un pequeño script en el lenguaje de programación de nuestra preferencia, para administrar, de manera más simple, nuestra impresora.

Por ejemplo, el siguiente:

#!/bin/bash

# especificamos el modelo de nuestra impresora:
LP=/dev/usb/lp0

# menu de opciones:
while true;do
    echo "+--------------- EPSON Control ------------+"
    echo "|  Limpiar cabezales.                   |"
    echo "| [n] Imprimir test de inyectores.         |"
    echo "| [s] Estado y nivel de tinta.             |"
    echo "| [m] Modelos soportados por _escputil_.   |"
    echo "| [h] Ayuda _escputil_.                    |"
    echo "| [q] Salir.                               |"
    echo "+------------------------------------------+"
    read -p "Su opción: " OP
    case $OP in
        'c') sudo escputil -c -ur $LP;;
        'n') sudo escputil -n -ur $LP;;
        's') sudo escputil -s -ur $LP;;
        'm') sudo escputil -M -ur $LP | less;;
        'h') sudo escputil -h | less;;
        'q') echo "Bye!"
            break;;
        *)
            echo "Opción no válida.";;
    esac
done
exit 0

Si lo guardamos, por ejemplo, en /usr/local/bin/epson.sh, y damos permisos de ejecución:

sudo chmod +x /usr/local/bin/epson.sh

Podremos ahora lanzar la aplicación desde línea de comandos directamente!:

diego@sol:~$ epson.sh
+--------------- EPSON Control ------------+
|  Limpiar cabezales.                   |
| [n] Imprimir test de inyectores.         |
| [s] Estado y nivel de tinta.             |
| [m] Modelos soportados por _escputil_.   |
| [h] Ayuda _escputil_.                    |
| [q] Salir.                               |
+------------------------------------------+
Su opción:

Este script representa un código de ejemplo, pueden agregarse o quitarse opciones y comportamientos según sea nuestra necesidad.

Espero les sea de utilidad para los que usen impresoras Epson!


¿Preguntas? ¿Comentarios?

Si tenés dudas, o querés dejarnos tus comentarios y consultas, sumate al grupo de Telegram de la comunidad JuncoTIC!
¡Te esperamos!


Diego Córdoba

- Ingeniero en Informática - Mg. Teleinformática - Tesis pendiente - Docente universitario - Investigador