Impresoras Paralelo en FreeBSD

Autor: GorristeR
Fecha: 27 de abril de 2002


Configurando el hardware

Hay que comprobar que nuestro kernel detecte el puerto paralelo en el arranque, hacer un dmesg | grep lpt, debería salirnos algo parecido a esto:

lpt0: Printer on ppbus0
lpt0: Interrupt-driven port

Si no te saliera nada, deberíamos crear el dispositivo:

# cd /dev
# ./MAKEDEV lpt0

Testeando el puerto de impresora

Antes de nada debemos asegurarnos que el puerto de impresora funciona correctamente, para ello, hay que imprimir directamente a través del dispositivo, sin usar ningún demonio ni nada. Hacemos un echo "hola mundo" > /dev/lpt0 y vemos el resultado.

Configurando "la cola" de impresión

Se definen los parámetros de la impresora en el fichero /etc/printcap. Hay que poner una serie de parámetros separados por dos puntos (:). A continuación veremos cómo quedan los diferentes campos

  • Primer campo: Nombre de la impresora, podéis poner los que queráis separados por el signo |. Si sólo tenéis una impresora, es mejor que pongais en el primer campo lp puesto que por defecto es el nombre que usa lpr. Otra opción es modificar la variable de entorno PRINTER o cada vez que uséis lpr especificar el parámetro -P con el nombre de la impresora.
  • sh: Las letras "sh", por defecto el demonio de impresión imprime una cabecera, al poner sh le indicamos que no lo haga.
  • Ruta del Spooling: Es decir, donde se tramitarán los trabajos a imprimir. Lo normal es ponerla en /var/spool/lpd/nombre-impresora. Es necesario que hagáis las siguientes operaciones con ese directorio:
  • # mkdir /var/spool/lpd/nombre-impresora
    # chown daemon:daemon /var/spool/lpd/nombre-impresora
    # chmod 770 /var/spool/lpd/nombre-impresora
      
    
  • Dispositivo usado: Generalmente será /dev/lpt0.
  • Fitro(s) a usar: El tema de los filtros es algo complejo, podéis usar el más sencillo que os funcionará con texto plano con tabulaciones y poco más. está en /usr/libexec/lpr/lpf. Leer el apartado "Fitros avanzados" para añadir más filtros.

Al final el contenido de /etc/printcap quedaría así. Pongo los datos de mi impresora, utilizo la barra inclinada "\" para hacer un retorno de linea y que sea más facil leer, aunque podéis ponerlo todo en la misma linea.

lp|hp510|HP DeskJet 510:\
sh:\
sd=/var/spool/lpd/hp510:\
lp=/dev/lpt0:\
if=/usr/libexec/lpr/lpf

Filtros avanzados

El filtro es el programa encargado de manejar los datos que imprimamos y "traducirlos" al lenguaje de la impresora. Si instaláis el port cups, tendréis varios en /usr/local/libexec/cups/filter, también el port magicfilter os pondrá una gran variedad en /usr/local/libexec/magicfilter.


Website templates are pre-designed websites all you need to do is add your own personal content and you're ready to jump start your own website. Website templates by Vooweb

Lamentablemente, aún no me queda claro cómo configurar estos filtros, se pueden añadir más aparte del "if=" (cf, df, gf, nf, rf, vf). Aún no tengo claro cómo funcionan realmente, en cuanto lo averigue lo incluyo aquí. Ni que decir tiene que se agradecería cualquier tipo de ayuda al respecto ;-).

Iniciando el demonio de impresión

Simplemente tecleando lpd, pero para tenerlo cada vez que inicies el ordenador, hay que poner en /etc/rc.conf lpd_enable="YES"

Probando la impresión a través del demonio

echo "hola mundo" | lpr. O si queréis una impresión más "pofesional" ptest 30 10 | lpr. Más información en las páginas man de lpr y lptest

Despedida

Una vez más me disculpo por no haber completado la sección de "Filtros avanzados". Y un saludo para toda la peña de la lista de correo de eldemonio.org y a esos peasos de fistros que están cada día en el canal #FreeBSD del irc-hispano.


eldemonio.org El site BSD en Castellano Articles catalogue

Website templates are pre-designed websites all you need to do is add your own personal content and you're ready to jump start your own website. Website templates by Vooweb

eldemonio.org v 4_2