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.