CUPS y arquitectura de impresión en Linux

Introducción

CUPS (Common Unix Printing System) es el sistema de impresión estándar en Linux y macOS. Actúa como servidor local de impresión, gestiona colas y traduce los documentos al formato que entiende cada impresora. El objetivo LPIC-1 108.1 exige conocer su arquitectura, instalación y comandos básicos.

Arquitectura de CUPS

  • Scheduler — demonio principal (cupsd); acepta trabajos y los encola.
  • Filtros — convierten el documento al formato nativo de la impresora (PostScript, PCL, raster…).
  • Backends — envían el trabajo a la impresora (USB, red IPP, LPD, socket).
  • PPD (PostScript Printer Description) — fichero que describe las capacidades de la impresora.
  • Cola de impresión — directorio /var/spool/cups/ donde se almacenan los trabajos pendientes.

Instalación


# Debian/Ubuntu
apt install cups

# RHEL/Rocky/Fedora
dnf install cups
          

Habilitar e iniciar el servicio:


systemctl enable --now cups
systemctl status cups
          

Ficheros y directorios clave

  • /etc/cups/cupsd.conf — configuración principal del demonio.
  • /etc/cups/printers.conf — lista de impresoras definidas.
  • /etc/cups/ppd/ — ficheros PPD de cada impresora.
  • /var/spool/cups/ — trabajos en cola.
  • /var/log/cups/access_log — registro de acceso.
  • /var/log/cups/error_log — registro de errores.

Interfaz web

CUPS incluye una interfaz web accesible en http://localhost:631. Desde ella se pueden añadir impresoras, gestionar colas y revisar logs sin tocar ficheros de configuración.


# Verificar que el puerto 631 está escuchando
ss -tlnp | grep 631
          

CUPS es transparente para el usuario final: cualquier aplicación que imprima usa la API estándar de impresión y CUPS se encarga de gestionar colas, reintentos y conversión de formatos.

Comandos: lp, lpq, lprm, lpstat, cancel

Índice de la sección

Índice del curso