LPRng
Sumario
Enlaces y referencias
Instalación
Para el proceso de instalación en una máquina funcionando con una distribución Linux muy antigua he tenido que descargar, configurar, compilar, instalar y poner en marcha los siguientes componentes software:
- El programa LPRng.
- El filtro de impresión especializado ifhp.
- El módulo Perl Net:SNMP.
- Las utilidades de conversión a PostScript Ghostscript.
Recetario
Borrado de trabajos de impresión
Para borrar los trabajos de impresión de una cola se emplea el siguiente comando:
$ lprm [-P impresora|-a] [NNN|all]
donde:
- -P impresora selecciona la cola de impresión de la cual queremos borrar trabajos.
- -a selecciona todas las colas de impresión del sistema.
- NNN número de trabajo de impresión a cancelar.
- all indica todos los trabajos de impresión.
Naturalmente sólo se cancelan aquellos trabajos a los que tiene acceso de borrado el usuario que ejecuta la orden. Emplear al superusuario con los parámetros lprm -a all es una buena forma de purgar todo el sistema de impresión.
Verificación de printcap
El archivo /etc/printcap es donde se definen las impresoras del sistema. Una vez actualizado su contenido conviene revisarlo y llevar a cabo los cambios en los archivos que emplea el servidor. Para ello se emplea el programa checkpc desde la cuenta del administrador con el parámetro -f aunque utilizar -V también ayuda a entender qué ve en las definiciones y qué cambios hace en el sistema de archivos:
# checkpc -f -V
LPRng-3.8.35, Copyright 1988-2003 Patrick Powell, <papowell@lprng.com>
Checking for configuration files '/etc/lpd/lpd.conf'
found '/etc/lpd/lpd.conf', mod 0100644
Checking for printcap files '/etc/printcap'
Checking for lpd only printcap files '/etc/lpd/lpd_printcap'
DaemonUID 2, DaemonGID 2
Using Config file '/etc/lpd/lpd.conf'
LPD lockfile '/var/run/lpd.515'
.names
:.common=.common
:canon=im0
:factura-pdf=factura-pdf
:im0=im0
...
Checking printcap info
Checking printer 'im0'
Checking directory: '/var/spool/lpd/im0'
directory '/'
directory '//var'
directory '//var/spool'
directory '//var/spool/lpd'
directory '//var/spool/lpd/im0'
checking 'control.pr' file
checking 'status.pr' file
checking 'status' file
checking 'log' file
checking 'acct' file
'filter' filter '/etc/magicfilter/adriano'
executable '/etc/magicfilter/adriano'
Checking printer 'im0-raw'
Checking directory: '/var/spool/lpd/im0-raw'
...
#
Opciones de impresión
Estas son algunas de las opciones de impresión de trabajos que me han resultado útiles:
| Paraḿetro/opción | Descripción |
|---|---|
-P printer
|
Cola de impresión a la que enviar el trabajo |
-J jobtitle
|
Título del trabajo muy útil para la impresora virtual PDF. |
-Kcopies|-#copies
|
Número de copias del trabajo. Esto no siempre funciona porque depende mucho de que el sistema de impresión remoto lo acepte. |
Filtros
Los filtros de impresión se encargan de:
- Convertir los trabajos de impresión a un formato compatible con la impresora
- Transferir el trabajo a la impresora
- Monitorizar el proceso en busca de problemas
En el archivo /etc/printcap el filtro se declara con la directiva filter o con las antiguas directivas de sistemas BSD asociadas al formato del trabajo de impresión. Este formato se asigna a cada trabajo nuevo y se representa con una letra minúscula que puede emplearse para seleccionar el filtro con más precisión.
Códigos de salida
Los filtros comunican su éxito o su fracaso al servidor de impresión a través del código de salida del proceso.
| Clave | Valor numérico de salida | Significado |
|---|---|---|
| JSUCC | 0 | Trabajo filtrado con éxito |
| JFAIL | 1, 32 | Fallo en el proceso - reintentar más tarde |
| JABORT | 2, 33 | Abortar proceso y terminar el proceso de la cola. |
| JREMOVE | 3, 34 | Trabajo fallido, eliminarlo |
| 4, 35 | (Sin uso) | |
| 5, 36 | (Sin uso) | |
| JHOLD | 6, 37 | Conservar el trabajo y reimprimir más tarde |
| JNOSPOOL | 7, 38 | No encolar este trabajo aquí |
| JNOPRINT | 8, 39 | No imprimir desde esta cola |
| JSIGNAL | 9, 40 | Filtro terminado por una señal del sistema no reconocida. |
| JFAILNORETRY | 10, 41 | Trabajo fallido: no reintentar |
Cualquier otro valor de salida debe ser tratado como JABORT.