0% found this document useful (0 votes)
43 views

Common Unix

d

Uploaded by

Yenny rueda
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Common Unix

d

Uploaded by

Yenny rueda
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

Common Unix Printing System

Ir a la navegaciónIr a la búsqueda
Common Unix Printing System
CUPS.svg
CUPS 1.4.6 admin rus.png
Información general
Tipo de programa Servidor de impresión
Autor Michael Sweet (Easy Software Products)
Desarrollador Apple Inc.
Lanzamiento inicial 9 de junio de 1999
Licencia GNU GPL
GNU LGPL
Información técnica
Interfaz gráfica predeterminada Web user interface
Versiones
Última versión estable 2.3.3 (info) ( 24 de abril de 2020 (1 año, 11 meses y 4
días))
Última versión en pruebas 2.3b8
2 de mayo de 2019
Historial de versiones
Estables[mostrar]
Pruebas[mostrar]
Enlaces
Sitio web oficial
Repositorio de código
[editar datos en Wikidata]
Common Unix Printing System (Sistema de impresión común de Unix, abreviado CUPS) es
un sistema de impresión modular para sistemas operativos de tipo Unix que permite
que un computador actúe como servidor de impresión. Un 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 a la impresora apropiada.

CUPS está compuesto por una cola de impresión con su planificador, un sistema de
filtros que convierte datos para imprimir hacia formatos que la impresora conozca,
y un sistema de soporte que envía los datos al dispositivo de impresión. CUPS
utiliza el protocolo IPP (Internet Printing Protocol) como base para el manejo de
tareas de impresión y de colas de impresión. También provee los comandos
tradicionales de línea de comandos de impresión de los sistemas Unix, junto a un
soporte limitado de operaciones bajo el protocolo server message block (SMB). Los
controladores de dispositivos de impresión que CUPS provee pueden ser configurados
utilizando archivos de texto con formato PostScript Printer Description (PPD) de
Adobe Systems. Existen varias interfaces de usuario para diferentes plataformas
para configurar CUPS; cuenta también con una interfaz como aplicación Web. CUPS es
software libre y se distribuye bajo licencia GNU General Public License y GNU
Lesser General Public License, versión 2.

Índice
1 Historia
2 Visión general
2.1 Planificador
2.2 Sistema de filtrado
2.2.1 Base de datos MIME
2.2.2 Procesos de filtrados
2.3 Backends
3 Compatibilidad
4 Herramientas de Interfaz de Usuario
4.1 Interfaz web para administrar CUPS
4.2 GNOME
4.3 KDE
5 Véase también
6 Referencias
7 Enlaces externos
Historia
Michael Sweet, dueño de Easy Software Products, comenzó a desarrollar CUPS en 1997.
Las primeras versiones públicas beta aparecieron en 1999.1 El diseño original de
CUPS usaba el protocolo Line Printer Daemon protocol (LPD), pero debido a
limitaciones en el protocolo e incompatibilidades entre marcas, se optó cambiar por
el protocolo Internet Printing Protocol (IPP). Cups fue rápidamente adoptado como
el sistema de impresión por defecto en varias distribuciones Linux. En marzo de
2002, la empresa Apple Inc. adoptó CUPS como el sistema de impresión en el sistema
operativo Mac OS X 10.2.2 En febrero de 2007, Apple Inc. empleó al desarrollador
Michael Sweet y compró el código fuente de CUPS.3

Visión general
Cups simple es.jpg
CUPS provee un mecanismo que permite que los trabajos de impresión sean enviados a
impresoras de manera estandarizada. La información es enviada planificador4 quien
envía el trabajo a un sistema de filtros que convierte el trabajo a un formato que
la impresora comprende.5 El sistema de filtros luego envía los datos a un backend —
un filtro especial que envía datos de impresora a un periférico o una conexión de
red.6 El sistema hace un uso extensivo del lenguaje PostScript y de rasterización
de los datos, para convertir los datos recibidos a un formato aceptado por la
impresora.

CUPS tiene como ventaja principal ser un sistema de impresión estandarizado y


modularizado, capaz de procesar diferentes formatos de datos en el servidor de
impresión. Antes de CUPS, era difícil encontrar un sistema de impresión
estandarizado capaz de adaptarse a la gran gama de variedades de impresoras
existentes en el mercado, utilizando cada una su propio lenguaje de impresión y
formatos. Como ejemplo: los sistemas de impresión de System V y de Berkeley fueron
durante mucho tiempo incompatibles uno con el otro, requiriendo scripts complicados
y arreglos varios para lograr convertir el formato de datos desde el programa a un
formato imprimible. Normalmente no se lograba detectar el formato de archivo que
estaba siendo enviado a la impresora, con lo que no se podía corregir y convertir
automáticamente el flujo de datos. Además se ejecutaba la conversión de datos en
cada estación de trabajo y no en un servidor central.

CUPS permite más fácilmente, a los fabricantes de impresoras y a los


desarrolladores de controladores, crear controladores que funcionen nativamente en
el servidor de impresión. El procesamiento ocurre en el servidor, permitiendo
sistemas de impresión basadas en red mucho más sencillas que con otros sistemas de
impresión Unix. Cuando es utilizado con Samba, pueden ser utilizados las impresoras
en computadoras Windows remotas y controladores genéricos PostScript pueden ser
utilizados para imprimir a través de la red.

Planificador
EL planificador de CUPS implementa Internet Printing Protocol (IPP) sobre HTTP/1.1.
Una aplicación de ayuda (cups-lpd) convierte peticiones de LPD a IPP. El
planificador también provee una interfaz web para administrar los trabajos de
impresión, la configuración del servidor y para brindar documentación de CUPS
mismo.4

Un módulo de autorización controla cuáles mensajes de IPP y HTTP pueden pasar a


través del sistema.7
Una vez que los paquetes IPP/HTTP han sido autorizados son enviados al módulo
cliente, quién escucha y atiende conexiones entrantes. El módulo cliente es también
responsable de ejecutar programas CGI externos, según sea necesario para soportar
impresoras web, clases y el monitoreo y administración de estado de los trabajos de
impresión.8
Una vez que este módulo ha procesado sus solicitudes, las envía al módulo IPP quién
ejecuta una validación de Uniform Resource Identifier (URI) previniendo que un
cliente esquivar algún control de acceso o de autenticación en el servidor HTTP.9
El URI es una cadena de caracteres que indica un nombre o dirección que puede ser
utilizada para referir un recurso -abstracto o físico- en una red.
El planificador permite la utilización de clases de impresoras. Las aplicaciones
pueden enviar peticiones a grupos de impresoras en una clase, permitiendo al
planificador redirigir el trabajo a la primera impresora libre de esa clase.10

Un módulo de trabajos (jobs en inglés) gestiona los trabajos de impresión,


enviándolos al filtro y proceso backend para conversión final e impresión,
monitoreando además los mensajes de estado provenientes de éstos procesos.11
El planificador de CUPS utiliza un módulo configuración, quien analiza archivos de
configuración, inicializa las estructuras de datos de CUPS, y es quien inicia y
detiene el programa CUPS. Este módulo de configuración detendrá el servicio de CUPS
durante el procesamiento del archivo de configuración para luego reiniciar el
servicio al finalizar el procesamiento.12
Un módulo de bitácora (logging module en inglés) se encarga de registrar los
eventos de acceso, error y registros de páginas.
El módulo principal (main en inglés) se encarga de servir las peticiones de
entrada/salida a tiempo por parte de las conexiones clientes, vigilar si hay
señales, manejar errores y finalizaciones de procesos hijos, y de recargar los
archivos de configuración del servidor según sea necesario.13
Otros módulos utilizados por el planificador son:

el módulo Mime, encargado de una base de datos de tipos y de conversión


Multipurpose Internet Mail Extensions (MIME), utilizado en el proceso de filtrado
que convierte los datos recibidos a un formato adecuado para la impresora14
el módulo PPD encargado de manejar una lista de archivos PPD PostScript Printer
Description15
el módulo periféricos quien administra una lista de periféricos disponibles en el
sistema16
y un módulo impresoras encargado de las impresoras y PPDs dentro de CUPS.17
Sistema de filtrado

CUPS permite que diferentes datos sean enviados al servidor CUPS y ser convertidos
a un formato que la impresora entienda y sea capaz de imprimir.
Una de las principales ventajas de CUPS es que puede procesar una variedad de
formatos de datos en el servidor de impresiones. Convierte la información del
trabajo de impresión al lenguaje/formato destino de la impresora a través de una
serie de filtros.1819 Lo hace utilizando tipos de MIME, siendo éste un estándar web
para el formato de correo electrónico, pero muy útil para permitir que CUPS
determine el tipo del archivo que está siendo procesado.

Base de datos MIME


Luego de que un trabajo de impresión ha sido asignado al planificador, es reenviado
al sistema de filtrados de CUPS. Éste convierte los datos a un formato adecuado
para la impresora. El demonio CUPS carga durante el inicio dos Bases de datos MIME:

mime.types define los tipos de archivos conocidos, de los cuales CUPS acepta datos
mime.convs define las aplicaciones que deben procesar cada tipo MIME en particular.
20

El archivo mime.types utiliza la siguiente sintaxis:

mimetype { [file-extensions] | [pattern-match] }


Por ejemplo, para detectar un archivo HTML se utilizaría la siguiente entrada:

text/html html htm \


printable(0,1024) + (string(0,"<HTML>") string(0,"<!DOCTYPE"))
La segunda línea une el contenido del archivo al tipo MIME especificado,
determinando que el primero kilobyte de texto en el archivo contiene caracteres
imprimibles y que éstos incluyen html. Si el pattern de arriba es coincidente, será
tildado el archivo como de tipo MIME text/html.21

El archivo mime.convs utiliza la siguiente sintaxis:

source destination cost program

El campo source es el tipo MIME determinado al revisar el archivo mime.types,


mientras que el campo destination lista el tipo de salida solicitada y determina
qué aplicación debe ser utilizada. Esto también es obtenido desde mime.types. El
campo cost asiste en la selección del conjunto de filtros al convertir el archivo.
El último campo, program, determina los programas de filtros a ser utilizados para
ejecutar la conversión de datos.22

Algunos ejemplos:

text/plain application/postscript 50 texttops


application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster
image/* application/vnd.cups-postscript 50 imagetops
image/* application/vnd.cups-raster 50 imagetoraster
Procesos de filtrados
El proceso de filtrado se ejecuta tomando como entrada datos preformateados con
seis argumentos: nombre de la cola de impresión, job ID del trabajo de impresión,
nombre de usuario, nombre del trabajo, número de copias, opciones de impresión, y
nombre de archivo (aunque éste no es necesario si ha sido redireccionado desde
entrada estándar.19 Luego determina el tipo de dato de la entrada y el filtro a ser
usado a través del uso de la base de datos MIME. Por ejemplo datos de imagen que
será detectada y procesada a través de un filtro particular y datos HTML detectados
y procesados a través de otro filtro.

Esta información puede ser o bien convertido en datos PostScript o directamente en


datos rasterizados. Si es convertido a PostScript, entonces es aplicado un filtro
adicional llamado prefiltro, quien corre los datos PostScript a través de otro
conversor PostScript para poder incluir opciones específicas de la impresora - por
ejemplo rango de páginas a imprimirse, modo n-up y otras opciones específicas del
periférico.23 Luego del pre-filtrado pueden ser enviados los datos directamente al
backend de CUPS si es utilizada una impresora PostScript, o puede ser desviado a
algún otro filtro como Foomatic de linuxprinting.org. Alternativamente puede ser
pasado a Ghostscript, quien convierte el PostScript en un formato intermedio CUPS-
raster24 Este formato rasterizado intermedio es luego pasado a un filtro final
quien convierte los datos rasterizados en un formato específico de la impresora.
Los filtro por defecto incluidos en CUPS son:

rasterizado a PCL
rasterizado a ESC/P o ESC/P2 (un lenguaje de impresoras Epson, ahora ampliamente
superado por su nuevo formato ESC/P-Raster)
rasterizado a Dymo (otro fabricante de impresoras)
otros lenguajes propietarios como GDI o SPL (Samsung Printer Language) tienen
soporte bajo Splix, un traductor de rasterizado a SPL.25
Igualmente, hay varias otras alternativas que pueden ser utilizadas junto con CUPS.
Easy Software Products (ESP), creadores de CUPS, han publicado sus propios filtros
CUPS; Gutenprint (anteriormente conocido como Gimp-Print) es un una gama de
controladores de impresoras de alta calidad para una gran mayoría de las impresoras
de chorro de tinta (inkjet), y Turbo-Print para Linux tiene otra gama de
controladores de alta calidad.

Backends
Los "backends" son las maneras en que la información es enviada a la impresora. Hay
varios backends disponibles para CUPS: Puertos paralelo, serial y USB, como también
a través de la red mediante los protocolos IPP, JetDirect (AppSocket), Line Printer
Daemon (LPD) y SMB.

Compatibilidad
CUPS provee comandos de impresión de System V y de Berkley, para poder utilizar los
comandos tradicionales con CUPS. Escucha en el puerto 515, puerto tradicional de
LPD (lo trata como un 'backend'). Cuando CUPS está instalado, se instalan los
comandos lp del sistema de impresión de System V y lpr de Berkeley printing system
como aplicaciones compatibles. Esto permite tener una interfaz estándar con CUPS
mientras se permite máxima compatibilidad con las aplicaciones existentes que se
basan en éstos sistemas de impresión.

Apple Computer está utilizando CUPS como sistema de impresión en su sistema


operativo Mac OS X a partir de la versión:10.2 (Jaguar)

Herramientas de Interfaz de Usuario


Hay varias herramientas para ayudar en la configuración de CUPS.

Interfaz web para administrar CUPS

Interfaz web de CUPS 1.4 b2.


Para administrar CUPS se cuenta con una interfaz web que se ejecuta en el puerto
631.26 Extremadamente útil en organizaciones que deben monitorear trabajos de
impresión y crear colas de impresión e impresoras remotamente.

CUPS 1.0 proveía una interfaz web sencilla para monitorear clases, trabajos e
impresoras. CUPS 1.1 sustituyó esta interfaz con una interfaz de administración que
permite agregar, modificar, eliminar, configurar y controlar clases, trabajos e
impresoras.

CUPS 1.2 tiene una interfaz web modernizada, caracterizada por mejorada legibilidad
y diseño, soporte a descubrimiento automático de impresoras y un mejor acceso a las
bitácoras del sistema y a seteos avanzados.

CUPS 1.4 actualiza la interfaz web con un diseño más atractivo e intuitivo,
agregando nuevas funciones como la capacidad de limpiar cabezales.

GNOME

GNOME CUPS Manager.

CUPS Manager de GNOME


El GNOME CUPS Manager puede ser utilizado para agregar nuevas impresoras, y para
administrar las impresoras CUPS con sus colas. Existen además otras aplicaciones
(de terceras partes) para administrar las impresiones, por ejemplo GtkLP y su
herramineta asociada GtkLPQ, o GtkPSproc.

EL grupo de bibliotecas para desarrollar interfaces gráficas de usuario (widget


toolkit) llamado GTK+, sobre los cuales GNOME está basado, incluye soporte
integrado de impresiones basadas en CUPS a partir de su versión 2.10, introducida
en 2006.
En Ubuntu se puede acceder en Sistema / Administración / Impresoras.

KDE
KDEPrint, para KDE, es un marco que contiene varias herramientas de interfaces
gráficas de usuarios que actúa como un front-end de CUPS y permite la
administración de clases, colas de impresión y trabajos. Incluye un asistente para
agregar nuevas impresoras, entre otras características. Fue agregado en KDE 2.2.

KDEPrint soporta varias plataformas diferentes, entre las cuales CUPS es una de las
mejores soportada. Reemplazó una versión previa de soporte de impresión en KDE,
qtcups y es compatible con éste módulo de KDE. kprinter, una aplicación de cuadro
de diálogo, es ahora la herramienta principal para enviar trabajos a la impresora;
también puede ser arrancado desde la línea de comandos. KDEPrint incluye un sistema
de prefiltrado de cualquier trabajo antes de enviarlo a CUPS; o de manejar los
trabajos completamente solor (por ejemplo convertir archivos en PDF); estos filtros
son descritos por una pareja de Escritorio / Archivos XML.

La primera versión es de 1999, la más reciente es la 1.2.8 de 14 de febrero de 2007

El 12 de julio de 2007, Apple Computer anunció que compró en febrero de ese año
CUPS "Common Unix Printing System".

Desde Linux al propio OSX dependen de la biblioteca para imprimir. Apple ha


contratado a Michael Rose para que continúe con el desarrollo y ha dicho que
mantendrá la actual licencia GPL v2.

Véase también
Spooling
System V printing system
Berkeley printing system
impresora
localhost
OpenPrinting
PostScript
PostScript Printer Description (PPD)
Internet Printing Protocol
Xprint
Referencias
Michael Sweet (June 9, 1999), "A Bright New Future for Printing on Linux", Linux
Today & followup from Michael Sweet (June 11, 1999), "The Future Brightens for
Linux Printing", Linux Today.
Easy Software Products, CUPS Licensed for Use in Apple Operating Systems!, March
1, 2002.
"CUPS",CUPS Purchased by Apple Inc., July 11,2007.
Easy Software Products, CUPS Design Description Archivado el 2 de febrero de 2007
en Wayback Machine., sección "Scheduler". Último acceso enero de 2007
Easy Software Products, CUPS Design Description Archivado el 2 de febrero de 2007
en Wayback Machine., sección "Filters". Último acceso enero de 2007
Easy Software Products, CUPS Design Description Archivado el 2 de febrero de 2007
en Wayback Machine., ver sección "Backend". Último acceso enero de 2007
Easy Software Products. CUPS Software Design, Authorization Archivado el 10 de
enero de 2007 en Wayback Machine.. último acceso enero de 2007.
Easy Software Products. CUPS Software Administrators Manual, Authorisation
Archivado el 10 de enero de 2007 en Wayback Machine.. Last accessed January 9th,
2007.
Easy Software Products. CUPS Software Design, IPP Archivado el 10 de enero de 2007
en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Administrators Manual, Classes Archivado el
6 de enero de 2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Administrators Manual, Jobs Archivado el 6
de enero de 2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Design, Configuration Archivado el 10 de
enero de 2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Design, Logging Archivado el 10 de enero de
2007 en Wayback Machine.. último acceso enero de 2007.
Easy Software Products. CUPS Software Design, MIME Archivado el 10 de enero de
2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Design, PPD Archivado el 10 de enero de 2007
en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Design, Devices Archivado el 10 de enero de
2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Design, Printers Archivado el 10 de enero de
2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Administrators Manual, Filters Archivado el
6 de enero de 2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Design, Filters Archivado el 10 de enero de
2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Administrators Manual, File Typing and
Filtering Archivado el 6 de enero de 2007 en Wayback Machine.. Último acceso enero
de 2007.
Easy Software Products. CUPS Software Administrators Manual, mime.types Archivado
el 6 de enero de 2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Administrators Manual, mime.convs Archivado
el 6 de enero de 2007 en Wayback Machine.. Último acceso enero de 2007.
Easy Software Products. CUPS Software Administrators Manual, pstops Archivado el
10 de enero de 2007 en Wayback Machine.. Último acceso enero de 2007.
El tipo MIME del formato rasterizado de CUPS es application/vnd.cups-raster.
Splix home page [1]
CUPS Software Administrators Manual Archivado el 25 de diciembre de 2004 en
Wayback Machine., "Managing Printers from the Web"
Easy Software Products CUPS HTTP GET Denial Of Service Vulnerability (January 13,
2005). SecurityFocus.
Mandriva Linux. Mandrivalinux general features — printing. Company webpage
detailing Mandriva Linux features. Retrieved January 14, 2005.
Multiple security vulnerabilities in Common UNIX Printing System (CUPS) (December
19, 2002). SecuriTeam.
ThreatAlert > CUPS HTTP GET Denial Of Service Vulnerability (January 8, 2005).
PacketAlarm.
Sweet, Michael (July 10, 2000). CUPS overview. Easy Software Products.
CUPS software administration manual: Managing printers from the web (versión
1.1.21, 2004). Easy Software Products. Retrieved January 5, 2005.
https://web.archive.org/web/20060613001400/http://www.cups.org/articles.php How-to
articles and FAQs about using CUPS
Design of CUPS Filtering System — including the context for Mac OS X ("Jaguar").
LinuxPrinting.org. Retrieved January 5, 2005.
KDE. KDEPrint information. KDE-printing website. Retrieved January 14, 2005.
Pfeifle, Kurt; Vizitiu, Ciprian; Vernooij, Jelmer R. (June 3, 2003) CUPS Printing
Support: The CUPS Filtering Architecture from SAMBA Project Documentation.
Raymond, Eric (July 3, 2004). The luxury of ignorance: an Open-Source horror story.
Eric S. Raymond's Home Page. Essay.
"zen-parse" (December 23, 2002). iDEFENSE Security Advisory 12.23.02: Integer
Overflow in pdftops. iDefense.
"Planeta mac" (12 de julio de 2007). Apple compra CUPS. Planeta Mac.
Enlaces externos
Página oficial
localhost:631 Página de configuración web (local) de CUPS.
Productos de Easy Software (creadores de CUPS)
Página de CUPS en Freshmeat.net
LinuxPrinting.org
Universal Plug and Play - Printer Device V 1.0 and Printer Basic Service V 1.0
Configuración de CUPS bajo Debian GNU/Linux
pequeño Manual de Configuración de Impresoras en Linux y otros UNIX
Control de autoridades
Proyectos WikimediaWd Datos: Q868171Commonscat Multimedia: Common Unix Printing
System
InformáticaArch Linux: cupsAUR: cups-gitDebian: cupsFree Software Directory:
CUPSGentoo: net-print/cupsOpen Hub: cupsUbuntu: cups
Categoría: Software libre
Menú de navegación
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
ArtículoDiscusión
LeerEditarVer historial
Buscar
Buscar en Wikipedia
Portada
Portal de la comunidad
Actualidad
Cambios recientes
Páginas nuevas
Página aleatoria
Ayuda
Donaciones
Notificar un error
Herramientas
Lo que enlaza aquí
Cambios en enlazadas
Subir archivo
Páginas especiales
Enlace permanente
Información de la página
Citar esta página
Elemento de Wikidata
Imprimir/exportar
Crear un libro
Descargar como PDF
Versión para imprimir
En otros proyectos
Wikimedia Commons

En otros idiomas
‫العربية‬
Deutsch
English
Français
日本語
한국어
Português
Русский
中文
12 más
Editar enlaces
Esta página se editó por última vez el 9 may 2021 a las 18:14.
El texto está disponible bajo la Licencia Creative Commons Atribución Compartir
Igual 3.0; pueden aplicarse cláusulas adicionales. Al usar este sitio, usted acepta
nuestros términos de uso y nuestra política de privacidad.
Wikipedia® es una marca registrada de la Fundación Wikimedia, Inc., una
organización sin ánimo de lucro.
Política de privacidadAcerca de WikipediaLimitación de responsabilidadVersión para
móvilesDesarrolladoresEstadísticasDeclaración de cookiesWikimedia FoundationPowered
by MediaWiki

You might also like