Operaciones básicas en el servidor de impresión CUPS

En el artículo vamos a ver las operaciones básicas con al servidor de impresión CUPS, típico de sistemas UNIX y GNU/Linux Serán sobre todo las operaciones más habituales, esto es, listar impresoras, trabajos, parar y encender dispositivos, etcétera. Pero antes de nada aclaremos conceptos.

¿Qué es CUPS?

Para los más neófitos en la materia podemos decir que CUPS es un sistema de impresión modular, para sistemas operativos tipo UNIX, que permite que una computadora o servidor funcione como servidor de impresión.

Dicho computador que ejecuta CUPS actúa como un servidor que puede aceptar tareas de impresión, desde otros computadores clientes. Los procesa y los envía al servidor de impresión apropiado.

Operaciones básicas con CUPS

CUPS entiende diferentes tipos de ficheros, incluidos de texto, PostScript, PDF y archivos de imagen. Esto le permite imprimir desde el interior de sus aplicaciones o desde la línea de comandos.

Imprimir

Para imprimir desde la línea de comandos por la impresora predeterminada, podemos utilizar estos dos comandos:

  1. lp # Imprime ficheros
  2. lpr # Imprime ficheros

Escoger una impresora

Muchos sistemas, sobre todo en empresas, tendrán más de una impresora disponible para los usuarios. Estas impresoras se pueden conectar al sistema local a través de un puerto paralelo, serie o USB, o están disponibles a través de la red.

Podemos utilizar el comando lpstat, para ver una lista de las impresoras disponibles:

  1. lpstat -p -d

Un ejemplo de la salida:

  1. printer TEST1 is idle.  enabled since Jan 01 00:00
  2. printer CANON_PRINTER is idle.  enabled since Jan 01 00:00
  3. printer HP_PRINTER is idle.  enabled since Jan 01 00:00
  4. printer CANON2_PRINTER is idle.  enabled since Jan 01 00:00

La opción -p especifica que deseamos ver una lista de las impresoras, y la opción -d informa sobre la impresora o clase predeterminada actual.

Para imprimir desde una impresora especifica utilizando el comando ‘lp’, sería como sigue:

  1. ld -d nombre-de-impresora

O bien utilizando el parámetro -P con el comando “lpr”

  1. lpr -P nombre-de-impresora

Definir la impresora predeterminada

Si normalmente utilizamos una impresora en particular, podemos decirle a CUPS que la use de manera predeterminada, utilizando la herramienta “ldoptions

  1. lpoptions -d nombre-de-impresora

Salida estándar de un programa vía CUPS

Si queremos que la salida estándar de un programa dado se imprima por una de las impresoras, vía CUPS, utilizando una tubería, sería así:

  1. programa | lp 
  2. programa | lp -d nombre-de-impresora
  3. programa | lpr
  4. programa | lpr -P nombre-de-impresora

Especificar opciones de impresión

Para muchos tipos de ficheros, las opciones de impresora predeterminadas pueden ser suficientes para sus necesidades. Sin embargo, puede haber ocasiones en las que necesitemos cambiar las opciones para un fichero en particular que está imprimiendo.

Los comandos “lp” y “lpr”, nos permiten pasar opciones de impresora utilizando la opción “-o”, como sigue:

  1. lp -o landscape -o ajutes-de-página -o media=A4 imagen.jpg

Podemos consultar la mayoría de estas opciones consultando la siguiente página (en inglés) “Standard Printing Options”

Imprimir múltiples copias

Los comandos «lp» y «lpr» tienen opciones para imprimir más de una copia de un fichero:

  1. lp -n número-de-copias 
  2. lpr -#número-de-copias

Cancelar un trabajo

Para cancelar uno o varios trabajos enviados, lo podemos hacer de dos maneras, una es utilizando el comando “cancel” y la otra es utilizar el comando “lprm”, como sigue:

  1. cancel ID-del-trabajo
  2. lprm ID-del-trabajo

El ID del trabajo es el número que nos indicó el comando lp. Otras maneras de obtener dicho ID es utilizar comandos como “lpq” o “lpstat”

Mover un trabajo

También podemos mover un trabajo a otra impresora, de la siguiente manera:

  1. lpmove ID-del-trabajo impresora-destino

Habilitar o deshabilitar una impresora

Para realizar esta acción debemos utilizar las herramientas cupsenable o cupsdisable, para habilitar o deshabilitar una impresora, respectivamente:

  1. cupsenable nombre-impresora
  2. cupsdisable nombre-impresora

Y esto es todo por hoy. La idea es que este sea un documento vivo, así que puede que más adelante añada alguna cosilla más. Ya sé que eso no es bueno para el SEO, pero tampoco vivo de esto 🙂

Para elaborar el artículo me he servido de estas fuentes, que también os pueden servir para ampliar información:

Wikipedia – CUPS
CUPS – Options
Superuser – How to resume cups printer from command line