martes, 31 de enero de 2012

Imprimir en impresora HP JetDirect desde un terminal

En ocasiones necesito imprimir desde un equipo al que estoy conectado remotamente vía ssh, pero éste no tiene impresora y sé que en la red tenemos una impresora HP JetDirect. ¿Cómo puedo hacerlo?

En la máquina desde la que quiero imprimir instalo las siguientes utilidades: netcat y enscript.

# aptitude install netcat enscript


  • enscript me servirá para convertir el archivo que quiero imprimir a formato ".ps".
  • netcat me servirá para enviar el trabajo a la impresora.
Veamos un ejemplo. Imaginemos que estoy conectado a un servidor squid y quiero imprimir el fichero /etc/squid/squid.conf:

Primero convierto el archivo de texto a formato postscript y lo guardo en el archivo squid.ps:

# enscript /etc/squid/squid.conf -o squid.ps


Después, mando el trabajo a la impresora (En el ejemplo, la impresora tiene la ip 192.168.0.100):

# netcat 192.168.0.100 9100 < squid.ps

Así de sencillo.