Configurar impresora en OpenBSD usando LPD
Escrito por Adrian Ali el 15 de octubre de 2019, usando OpenBSD Release 6.5
contacto: adrianali arroba fortix.com.ar
Crear impresora en OpenBSD usando LPD⌗
Nota: vamos a utilizar el demonio lpd para imprimir, no hace falta tener instalado CUPS a no ser que sea dependencia de otro paquete, habitualmente chrome, en mi OpenBSD por estas dependencias quedo instalado de CUPS los siguientes paquetes:
midesktop ~ # pkg_info -a | grep -i cups
cups-libs-2.2.8p0 CUPS libraries and headers
gtk+3-cups-3.22.30p0 gtk+3 CUPS print backend
midesktop ~ #
pagina de referencia de como configure lpd:
http://daemonforums.org/showthread.php?t=9226
1. Detectar impresora usb⌗
midesktop ~ # dmesg | grep ulpt
ulpt0 at uhub3 port 2 configuration 1 interface 0 "Brother HL-1210W series" rev 2.00/1.00 addr 3
ulpt0: using bi-directional mode
midesktop ~ #
midesktop ~ # usbdevs -d /dev/usb1
Controller /dev/usb1:
addr 01: 8086:0000 Intel, EHCI root hub
addr 02: 8087:0024 Intel, Rate Matching Hub
addr 03: 04f9:006a Brother, HL-1210W series
addr 04: 090c:37c0 vendor 0x090c, USB Video Device
midesktop ~ #
midesktop ~ # lsusb | grep -i brother
Bus 001 Device 003: ID 04f9:006a Brother Industries, Ltd
midesktop ~ #
Configuramos los permisos correctos en el dispositivo usb para impresion
midesktop ~ # chmod 666 /dev/ulpt0
midesktop ~ # l /dev/ulpt0
crw-rw-rw- 1 root wheel 64, 0 Mar 9 15:05 /dev/ulpt0
midesktop ~ #
2. Habilitar que lpd arranque en boot⌗
primero que nada generamos el archivo de log si es que no existe:
midesktop ~ # touch /var/log/lpd-errs
midesktop ~ # chown daemon:daemon /var/log/lpd-errs
midesktop ~ # l /var/log/lpd-errs
-rw-r--r-- 1 daemon daemon 0 Mar 9 16:49 /var/log/lpd-errs
midesktop ~ #
ahora habilitamos lpd en boot:
midesktop ~ # rcctl enable lpd
si no esta cargado:
midesktop ~ # ps xa | grep lpd
13105 p4 S+p 0:00.00 grep lpd
midesktop ~ #
lo cargamos:
midesktop ~ # rcctl start lpd
lpd(ok)
midesktop ~
ahora si esta cargado:
midesktop ~ # ps xau | grep lpd
daemon 20813 0.0 0.0 752 1376 ?? S 7:58AM 0:00.07 /usr/sbin/lpd
root 74336 0.0 0.0 192 728 p7 R+/1 9:49AM 0:00.00 grep lpd
midesktop ~ #
3. Instalacion de paquetes necesarios⌗
vamos a trabajar con los drivers provistos por:
http://gimp-print.sourceforge.net/ http://gimp-print.sourceforge.net/
Gimp-Print tambien llamado Gutenprint es una colección de controladores de impresora de software libre para usar con los sistemas de cola de impresión UNIX, como CUPS, lpr y LPRng
instalacion:
midesktop ~ #
midesktop ~ # pkg_add -mv gutenprint
quirks-3.16 signed on 2018-10-12T15:26:25Z
File /etc/cups/cups-browsed.conf could not be installed:
No such file or directory
gutenprint-5.2.14:cups-filters-1.21.3: ok
File /etc/cups/command.types could not be installed:
No such file or directory
gutenprint-5.2.14: ok
The following new rcscripts were installed: /etc/rc.d/cups_browsed
See rcctl(8) for details.
New and changed readme(s):
/usr/local/share/doc/pkg-readmes/cups-filters
midesktop ~ #
midesktop ~ # pkg_add -mv a2ps
quirks-3.16 signed on 2018-10-12T15:26:25Z
a2ps-4.14p14: ok
New and changed readme(s):
/usr/local/share/doc/pkg-readmes/a2ps
midesktop ~ #
4. Configurar filtro de impresion⌗
creamos directorio:
midesktop ~ # mkdir -p /etc/foomatic/direct/
midesktop ~ # cd /etc/foomatic/direct/
midesktop /etc/foomatic/direct #
buscamos drivers de impresion con el modelo justo o similar si no hay:
midesktop /etc/foomatic/direct # foomatic-ppdfile -P HL-1250
Brother HL-1250 Id='Brother-HL-1250' Driver='hl1250' CompatibleDrivers='gutenprint hpijs-pcl5e lj4dith lj5gray ljet4 omni hl1250 pxlmono '
midesktop /etc/foomatic/direct #
creamos el ppd:
midesktop /etc/foomatic/direct # foomatic-ppdfile -p Brother-HL-1250 -d hl1250 > Brother-HL-1250.ppd
midesktop /etc/foomatic/direct # l
total 36
drwxr-xr-x 2 root wheel 512 Mar 9 16:41 .
drwxr-xr-x 3 root wheel 512 Mar 9 16:38 ..
-rw-r--r-- 1 root wheel 13158 Mar 9 16:41 Brother-HL-1250.ppd
midesktop /etc/foomatic/direct #
5. Creamos el directorio de spool⌗
midesktop ~ # mkdir -p /var/spool/output/Brother-HL-1250
le seteamos los permisos:
midesktop ~ # cd /var/spool/
midesktop /var/spool # chmod -R 775 output
midesktop /var/spool #
6. Script de filtro⌗
Vamos a crear el script para filtrar el job de impresión que viene del demonio lpd con el filtro ppd, editamos el archivo:
midesktop ~ # vi /etc/foomatic/direct/printconv.sh
con el siguiente contenido
#!/bin/sh
/usr/local/bin/a2ps -BRq --columns=1 -o - | /usr/local/bin/foomatic-rip -P Brother-HL-1250 --ppd /etc/foomatic/direct/Brother-HL-1250.ppd
le damos los permisos:
midesktop ~ # chmod 755 /etc/foomatic/direct/printconv.sh
7. Creamos el archivo /etc/printcap⌗
editamos:
midesktop ~ # vi /etc/printcap
con el siguiente contenido:
lp|lp1|Brother-HL-1250:\
:lp=/dev/ulpt0:\
:if=/etc/foomatic/direct/printconv.sh:\
:sd=/var/spool/output/Brother-HL-1250:\
:lf=/var/log/lpd-errs:\
:sh:
nota: recordar dejar al final del archivo una linea en blanco.
8. Probar lpr con imagen de puffy⌗
midesktop ~ # lpr openbsd_puffy.jpg