Imprimir en impresora térmica desde Linux

Instalar impresora térmica en Linux para imprimir

Hoy te mostraré cómo instalar una impresora térmica en el sistema operativo Linux, específicamente en Ubuntu (aunque cualquier derivado de Debian debería funcionar) y cómo imprimir en ella de manera sencilla.

Yo probaré con la impresora térmica XPrinter 58 también conocida como ZJ-58, misma que es una impresora económica de 58 milímetros.

Mi sistema operativo es elementary OS 5.1.7 basado en Ubuntu, pero te repito: debería funcionar en cualquier Linux.

Por cierto, esto requiere que el sistema cuente con usblp.

Nota: antes que nada quiero indicar que he seguido paso a paso el tutorial de este enlace. Aquí expongo, en español, cómo es que lo hice yo con mis propias palabras.

Instalar impresora térmica en Linux

Lo primero que tienes que hacer es conectar la impresora por el puerto USB. Al menos en mi caso no necesité descargar drivers (bondades de Linux).

Cualquier modelo reciente debería funcionar. Ahora abre una terminal y ejecuta:

dmesg

Y por ahí debe haber una línea que indique que ha detectado la impresora con usblp. En mi caso aparece así, si te fijas también me muestra que es una Printer-58:

Impresora térmica detectada en Linux
Impresora térmica detectada en Linux

Busca bien, pues habrá varios mensajes. Por eso es importante que ejecutes el comando tan pronto conectes la impresora.

Si tu impresora fue detectada vamos a ver si está en el sistema de archivos con:

ls /dev/usb/

Debe mostrarse como lpX en donde la X es un número. En mi caso es lp1.

Listar impresora térmica en Linux
Listar impresora térmica en Linux

Si tú tienes varias impresoras o el dispositivo es otro, cambia los comandos que verás a continuación. Yo lo haré suponiendo que es el lp1.

Asignando permisos

Si tu impresora aparece ahí entonces vamos a intentar imprimir en ella, pero antes vamos a darle permiso a nuestro usuario agregándolo al grupo.

Primero haz un: stat /dev/usb/lp1 y fíjate en el grupo al que la impresora pertenece cerca de Gid:

Asignar permisos para usar impresora térmica en Linux
Asignar permisos para usar impresora térmica en Linux

En este caso el grupo es lp. Vamos a agregar nuestro usuario a ese grupo. En mi caso mi usuario es parzibyte así que el comando es:

sudo usermod -a -G lp parzibyte

Si en tu caso el usuario cambia, coloca el nombre en lugar de parzibyte.

Agregar mi usuario al grupo lp
Agregar mi usuario al grupo lp

Recuerda que si vas a permitir que más usuarios escriban al archivo debes ejecutar el mismo comando por cada usuario para agregarlos al grupo.

Nota importante: ahora reinicia la computadora, ya sea manualmente o escribiendo sudo reboot en la terminal.

Imprimiendo

Ahora vamos a imprimir algo de texto en nuestra impresora. Para ello ejecuta:

echo "Imprimiendo en una impresora termica en Linux desde el blog de parzibyte (parzibyte.me/blog)" >> /dev/usb/lp1

Y el texto debió imprimirse en tu impresora.

Imprimir en impresora térmica desde Linux
Imprimir en impresora térmica desde Linux

A partir de esto ya puedes crear tus propios scripts, programas, etcétera para imprimir en la impresora térmica desde Linux.

Si quieres imprimir imágenes, códigos de barras, códigos QR y formatear el texto o definir caracteres personalizados entonces mira mi plugin para impresora térmica que es compatible con varios sistemas operativos:

Plugin para impresoras térmicas versión 3

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *