Professional Documents
Culture Documents
1 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Introduccin.
Acerca de CUPS.
CUPS (Common UNIX Printing System) es un sistema de impresin para GNU/Linux y otros
sistemas operativos basados sobre el estndar POSIX, distribuido bajo los trminos de la
licencia GNU/GPLv2.
Fue originalmente desarrollado en 1997 por Michael Sweet, dueo de Easy Software Products,
utilizando en ese entonces el protocolo LPD (Line Printer Daemon protocol), el cual tena
muchas limitaciones tcnicas e incompatibilidades entre las diversas marcas de impresoras,
motivo por el cual se cambio por IPP (Internet Printing Protocol). En 2002 CUPS fue incluido
por primera vez en Mac OS X, convirtindose en el sistema de impresin de facto utilizado
hasta la fecha en ese sistema operativo. En febrero de 2007, Apple Inc. contrat como
empleado a Michael Sweet, comprando adems el cdigo fuente de CUPS.
CUPS se compone de una cola de impresin con un planificador, un sistema de filtros para
convertir los datos a formatos que puedan utilizar las impresoras y un sistema que permite
enviar estos datos hacia la impresora. Permite adems utilizar cualquier equipo como servidor
de impresin, a travs del protocolo IPP, utilizando el puerto 631/TCP.
Los controladores para CUPS utilizan el formato PPD (PostScript Printer Description),
desarrollado por Adobe Systems y que consisten en archivos con extensin *.ppd (o bien
*.ppd.gz cuando llevan compresin con el algoritmo GZIP), generalmente creados y
mantenidos por los fabricantes de impresoras, los cuales contienen el cdigo PostScript
necesario para utilizar las caractersticas particulares de un modelo de impresora en particular.
CUPS utiliza este formato para todas las impresoras, incluso las no-PostScript, utilizando filtros
que redirigen salidas cuando el caso lo requiere.
CUPS incluye adems un conjunto de herramientas para el intrprete de mandatos que
permiten la gestin de trabajos de impresin.
2 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Si se realiza una instalacin estndar de CentOS o Red Hat Enterprise Linux, CUPS viene
incluido de modo predeterminado. Si se realiza una instalacin mnima o bien si durante la
instalacin se excluy el soporte para impresin, ejecute lo siguiente:
yum -y install cups
Si se quiere que CUPS disponga de una coleccin completa de controladores para impresoras,
ejecute lo siguiente:
yum -y install foomatic-db-ppds gutenprint-cups printer-filters
Si instala el paquete cups-pdf, dispondr de una extensin que permitir crear archivos PDF
directamente desde CUPS.
yum -y install cups-pdf
Instale el paquete hpijs para aadir soporte para impresoras multi-funcionales HewlettPackard:
yum -y install hpijs
3 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
yast -i hplip-hpijs
Si utiliza openSUSE al igual que con las otras distribuciones GNU/Linux de vanguardia,
instale los paquetes system-config-printer y cups-pk-helper para poder utilizar una
herramienta de configuracin y administracin fcil de usar y que permita descargar
automticamente los controladores que sean necesarios a travs de PackageKit:
yast -i system-config-printer cups-pk-helper
4 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Habilite Cliente o Servidor de impresin en red (IPP) segn sea el caso y aplique los
cambios.
5 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Reinicie el servicio:
service iptables restart
Para los clientes del servidor de impresin slo es necesario abrir en el muro cortafuegos el
puerto 631 por UDP (IPP).
Ejecute lo siguiente:
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 631 -j ACCEPT
Reinicie el servicio:
service iptables restart
Shorewall.
Las reglas para el archivo /etc/shorewall/rules para un servidor de impresin corresponderan
a lo siguiente:
#ACTION SOURCE
#
ACCEPT all
ACCEPT all
DEST
PROTO
fw
fw
tcp
udp
DEST
PORT
631
631
SOURCE
PORT(S)1
DEST
PROTO
fw
udp
DEST
PORT
631
SOURCE
PORT(S)1
6 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
7 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Mdulo de cortafuegos de YaST, en modo grfico, habilitando el puerto 631 por TCP y UDP.
Mdulo de cortafuegos de YaST, en modo texto, habilitando el puerto 631 por TCP y UDP.
8 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Archivos de bitcoras.
/var/log/cups/access_log se utiliza para almacenar la bitcora de
actividad del servicio.
/var/log/cups/error_log se utiliza para almacenar la bitcora de errores del
servicio. Cuando hay problemas con la configuracin o el funcionamiento
del servicio, este es el archivo indicado para buscar la informacin
necesaria para hacer diagnsticos.
/var/log/cups/page_log se utiliza para almacenar la bitcora de trabajos
de impresin.
9 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
10 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
11 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Modo terminal.
Si utiliza CentOS o Red Hat Enterprise Linux detenga el servicio ejecutando lo siguiente:
service cups stop
12 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Localice lo siguiente:
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
Localice lo siguiente:
<Location />
Order allow,deny
</Location>
Guarde el archivo.
Si utiliza CentOS o Red Hat Enterprise Linux inicie de nuevo el servicio ejecutando lo
siguiente:
service cups start
13 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
rccups start
Siempre que ejecute lppasswd se almacenarn ste y otros usuarios virtuales en el archivo
/etc/cups/passwd.md5.
14 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
lpinfo -m
Ejecute lpadmin del siguiente modo para aadir o modificar una impresora desde el intrprete
de mandatos:
lpadmin -p Nombre -E -v URI://ruta/nombre -m ppd-impresora
Donde:
-p se utiliza para definir el nombre que utilizar CUPS para la impresora
que se est aadiendo o modificando.
-E define que la cola de impresin est habilitada y que estar compartida
con otros anfitriones de la red de rea local. Equivale a ejecutar
cupsaccept y cupsenable con el nombre de la cola de impresin como
argumento.
-v se utiliza para definir el URI (Uniform Resource Identifier o identificador
uniforme de recurso) que corresponda a la cola de impresin.
-m se utiliza para definir el archivo *.ppd a utilizar, de acuerdo a la
nomenclatura de la lista mostrada por lpinfo -m.
En lugar de la opcin -m, puede utilizarse la opcin -P (mayscula) para definir archivos *.ppd
especficos que hayan sido descargados desde OpenPrinting (antes LinuxPrinting.org).
lpadmin -p Nombre -E -v URI://ruta/nombre -P archivo.ppd
Los URI permitidos por CUPS para dispositivos locales son: hp, hpfax, scsi y usb.
Los URI permitidos por CUPS para impresoras en red son: beh, http, https, ipp, lpd, smb y
socket.
La configuracin de las impresoras se guardar en el archivo /etc/cups/printers.conf. Si se
requiere hacer modificaciones manuales, este archivo puede modificarse con editor de texto
slo cuando el servicio est detenido, pues de otro modo se perdern los cambios realizados
con editor de texto.
Los archivos *.ppd que se definan con la interfaz HTTP de CUPS, la herramienta systemconfig-printer o bien lpadmin se copiarn automticamente dentro del directorio
/etc/cups/ppd/.
En el siguiente ejemplo, se aade y/o modifica la configuracin para una impresora EPSON
EPL-5900, conectada al anfitrin local por USB, utilizando la nomenclatura del archivo *.ppd,
mostrada por lpinfo con la opcin -m y que corresponde al controlador recomendado para este
modelo especfico de impresora:
lpadmin -p EPL-5900 -E \
-v usb://EPSON/EPL-5900 \
-m foomatic:Epson-EPL-5900-eplaser.ppd
15 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
En el siguiente ejemplo, se aade y/o modifica la configuracin para la misma impresora, pero
conectada en el servidor IPP con direccin IP 192.168.70.2:
lpadmin -p EPL-5900 -E \
-v ipp://192.168.70.2/printers/EPL-5900 \
-m foomatic:Epson-EPL-5900-eplaser.ppd
En el siguiente ejemplo, se aade y/o modifica la configuracin para la misma impresora, pero
conectada en el servidor SMB (o bien compartida desde un anfitrin Windows) con direccin IP
192.168.70.2, accediendo como usuario invitado:
lpadmin -p EPL-5900 -E \
-v smb://servidor/printers/EPL-5900 \
-m foomatic:Epson-EPL-5900-eplaser.ppd
Para eliminar una impresora de CUPS, ejecute lpadmin con la opcin -x, usando como
argumento el nombre de la cola de impresin a eliminar.
lpadmin -x EPL-5900
16 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
utilizado.
Las opciones disponibles para cada modelo de impresora pueden consultarse y verificarse
ejecutando lpoptions con la opcin -l.
lpoptions -p EPL-5900 -l
El valor predeterminado para el tamao del papel, en la mayora de los controladores, es A4.
En el siguiente ejemplo se establecer que de modo predeterminado se utilic tamao carta
para el tamao del papel, en lugar del valor predeterminado del archivo *.ppd correspondiente,
ejecutando lpoptions del siguiente modo:
lpoptions -p EPL-5900 -o PageSize=Letter
17 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Para hacer la impresin de archivos locales en una impresora remota ejecutando lp, se ejecuta
lo anterior con la opcin -h y el nombre o direccin IP del servidor como argumento.
lp -d NombreCola -h 192.168.70.2 archivo.ps
El estilo Berkely, que es el mtodo antiguo, utiliza lpr con la opcin -P (mayscula) y el nombre
de la cola de impresin como argumento:
lpr -P NombreCola archivo.ps
Para hacer la impresin de archivos locales en una impresora remota ejecutando lpr, se
ejecuta lo anterior con la opcin -H (mayscula) y el nombre o direccin IP del servidor como
argumento:
lpr -P NombreCola -H 192.168.70.2 archivo.ps
18 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Para mostrar el estado de una impresora en particular, ejecute lpstat con la opcin -p con el
nombre de la cola de impresin como argumento:
lpstat -p NombreCola
Para mostrar el estado de una impresora en particular en un servidor remoto (por ejemplo
192.168.70.2), ejecute lpstat con la opcin -p con el nombre de la cola de impresin como
argumento y la opcin -h con el nombre del servidor o la direccin IP correspondiente como
argumento:
lpstat -p NombreCola -h 192.168.70.2
Para mostrar el estado de todos los trabajos de impresin pendientes en todas las colas de
impresin del sistema, ejecute lpstat con la opcin -o:
lpstat -o
Para mostrar el estado de todos los trabajos de impresin pendientes en una impresora en
particular, ejecute lpstat con la opcin -o con el nombre de la cola de impresin como
argumento:
lpstat -o NombreCola
Para mostrar el estado de una impresora en particular, as como tambin el estado de todos los
trabajos de impresin pendientes en sta, ejecute lpstat con la opcin -p con el nombre de la
cola de impresin como argumento y la opcin -o con el nombre de la cola de impresin como
argumento.
lpstat -p NombreCola -o NombreCola
Si se desea el mximo de informacin disponible, ejecute lpstat con la opcin -t y la opcin -l:
lpstat -t -l
Para mostrar el estado de todas las colas de impresin del sistema y los trabajos pendientes,
19 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
Para mostrar el estado de una impresora en particular, ejecute lpq con la opcin -P
(mayscula) con el nombre de la cola de impresin como argumento:
lpq -PNombreCola
Para mostrar el estado de todos los trabajos de impresin pendientes en todas las colas de
impresin del sistema, ejecute lpq con la opcin -a:
lpq -a
El estilo Berkeley utiliza lprm, la opcin -P (mayscula), seguida inmediatamente del nombre
de la cola de impresin como argumento y el nmero del trabajo de impresin que se quiere
cancelar:
lprm -PNombreCola Nmero
20 de 20
http://www.alcancelibre.org/staticpages/index.php/como-cups/print
lprm -PEPL-5900 5