PDF de programación - Curso avanzado de Linux Impresoras. Sistema CUPS

<<>>
Imágen de pdf Curso avanzado de Linux Impresoras. Sistema CUPS

Curso avanzado de Linux Impresoras. Sistema CUPSgráfica de visualizaciones

Actualizado el 12 de Marzo del 2019 (Publicado el 28 de Enero del 2018)
767 visualizaciones desde el 28 de Enero del 2018
150,4 KB
23 paginas
Curso avanzado de Linux

Impresoras. Sistema CUPS

Rafael Varela Pet

Unidad de Sistemas

Área de Tecnologías de la Información y Comunicaciones

Universidad de Santiago de Compostela

Curso avanzado de GNU/Linux

CUPS

● CUPS: Common UNIX Printing System
● Usa protocolo IPP (Internet Printing Protocol) -

Funciona sobre HTTP

● Desde Febrero de 2007 el código es propiedad de
Apple, aunque parece que seguirá siendo liberado
bajo licencia GPL2/LGPL2

● Versión 1.2.7 en Debian Etch

Curso avanzado de GNU/Linux

CUPS

● Terminología:

– Jobs: un trabajo enviado a la impresora
– Classes: agrupaciones de impresoras
– Filters: procesan los trabajos antes de enviar a la impresora
– Backends: envían el trabajo a la impresora empleando en
sistema de comunicación apropiado (IPP, USB, SMB, ...)

– Drivers: filtros específicos para una determinada impresora

Curso avanzado de GNU/Linux

CUPS

● CUPS puede actuar como

– cliente: lanza peticiones a otros servidores de

impresión

– servidor: acepta peticiones de programas de usuario y

de otros CUPS

● Instalación: paquete cupsys
● Configuración en /etc/cups/

– cupsd.conf: configuración del servidor
– printers.conf: definición de impresoras

Curso avanzado de GNU/Linux

Drivers. Foomatic

● Integra controladores de impresoras con los

“spoolers” habituales en UNIX: CUPS, LPRng,
LPD, etc.

● Base de datos en

– www.linuxprinting.org
– http://www.linux-foundation.org/en/OpenPrinting/Database/Foomatic

● Listado de compatibilidad de impresoras
– http://www.openprinting.org/printer_list.cgi

Curso avanzado de GNU/Linux

Drivers. Foomatic

● Se basa en un script (foomatic-rip) que convierte
Postscript (y otros lenguajes) al lenguaje nativo
de la impresora

● El fichero .PPD (Postscript Printer Definition)

describe como debe hacerse la conversión

● Paquetes:

– foomatic-db: base de datos de drivers de impresora

distribuidos por linuxprinting.org

– foomatic-db-gutenprint: drivers soportados por el

backend Gutenprint

Curso avanzado de GNU/Linux

Administración

● Administración en línea de comandos y vía web
● Vía web:

http://localhost:631

● Habilitar SSL:

– Los certificados de servidor se generan la primera vez

que nos conectamos

– Ver bugs #370407 y #370450 en caso de problemas

Curso avanzado de GNU/Linux

Administración

● Administración en línea de comandos

(paquete cupsys-client)
– lpstat
– lpadmin, lpoptions
– lpinfo
– accept, reject
– cupsenable, cupsdisable

Curso avanzado de GNU/Linux

Administración

● Ver dispositivos disponibles y drivers:

lpinfo ­v
network socket
direct  usb://hp/photosmart%207150?serial=...
network http
network ipp
network lpd
direct parallel:/dev/lp0
file cups­pdf:/

● Ver estado del sistema CUPS

lpstat ­a

PhotoSmart­7150 aceptando peticiones desde lun 
14 ene 2008 20:19:46 CET

Curso avanzado de GNU/Linux

Administración. lpadmin

● Añadir una impresora:

lpadmin ­p DeskJet ­E \

­v parallel:/dev/lp1 \
­P deskjet.ppd
● -E: activa impresora
● -v: URI del dispositivo
● -P: establece el PPD a emplear (ver /usr/share/ppd)

● Añadir una impresora a una clase

lpadmin ­p DeskJet ­c impresoras_color
cupsenable impresoras_color

● Eliminar impresora o clase:

/usr/sbin/lpadmin ­x DeskJet

Curso avanzado de GNU/Linux

Administración. lpoptions

● Establecer impresora predeterminada:

lpoptions ­d PhotoSmart­7150

● Imprime opciones de la impresora

lpoptions ­p PhotoSmart­7150 ­l

● Establece opciones de la impresora

lpoptions ­o PrintoutMode=Draft \

­p PhotoSmart­7150

Curso avanzado de GNU/Linux

Administración

● Habilitar/deshabilitar impresora:

/usr/bin/cupsenable nombre_impresora
/usr/bin/cupsdisable nombre_impresora 

(acepta trabajos pero no imprime)

● Rechazar trabajos:

/usr/sbin/accept nombre_impresora
/usr/sbin/reject nombre_impresora

● Permitir solo a ciertos usuarios:

/usr/sbin/lpadmin ­p nombre_impresora \

­u allow:alumno

Curso avanzado de GNU/Linux

Compatibilidad BSD

● CUPS dispone de comandos compatibles BSD

(lpr, lpq, lprm)

● Instalar paquete cupsys-bsd
● Ejemplos:

– Ver cola de una impresora:

● lpq -P PhotoSmart-7150
– Borrar trabajo número 1

● lprm 1

– Imprimir fichero:

● lpr -P PhotoSmart-7150 /etc/motd
Curso avanzado de GNU/Linux

CUPS como cliente

● Lanza trabajos a otros servidores (ipp, lpd, etc.)
● Ejemplo de impresora remota:

lpadmin ­p impresora ­E \
­v ipp://server/printers/epson24

● Detecta automáticamente las impresoras que se
encuentren en la misma subred. Ver directivas:
– Browsing
– BrowseAddress, BrowsePoll
– BrowseAllow, BrowseDeny

Curso avanzado de GNU/Linux

Detección de impresoras en red

● Browsing: activa o desactiva la función de

detección de impresoras

● BrowseAddress: especifica a dónde se envía

información sobre nuestras impresoras

● BrowseAllow, BrowseDeny: permiten o deniegan

los paquetes procedentes de un determinado
origen

● Para detectar impresoras en un destino específico:

BrowsePoll 192.0.2.2:631

Curso avanzado de GNU/Linux

Imprimir en servidores
Windows

● 2 alternativas:

– Protocolos “clásicos” de Microsoft. Usamos el paquete

samba-client

– IPP

● SAMBA: Empleamos URIs de este tipo:

– smb://workgroup/server/sharename
– smb://server/sharename
– smb://user:pass@workgroup/server/sharename
– smb://user:pass@server/sharename

Curso avanzado de GNU/Linux

Imprimir en servidores
Windows

● Windows 2000 y 2003 Server pueden actuar

como servidores IPP

● Es necesario instalar IIS y configurarlo

adecuadamente

● Se accede usando URIs de este tipo:

http://windowsserver:80/printers/printersharename/.printer
(“printersharename” es el nombre con el que se ha
compartido la impresora)

Curso avanzado de GNU/Linux

Clientes Windows

● Windows 2000 soporta IPP como cliente
● Añadimos la impresora con esta URI

http://servidorCUPS:631/printer/impresora
● Los clientes pueden descargar automáticamente

los drivers desde un recurso compartido, vía
SAMBA

● Dos métodos para instalar drivers

– Emplear un cliente Windows
– Usar la api RPC de Samba

Curso avanzado de GNU/Linux

Clientes Windows

● Instalación desde un cliente Windows

– En smb.conf

● Revisar en [print$]

write list = root, @administradores
read only = no

● Dar permisos en /var/lib/samba/printers

– Desde el cliente Windows, entrar en “impresoras y

faxes” en el servidor Debian y abrir las propiedades de
la impresora a instalar

● Instalación mediante RPC: Ver página del

manual de cupsaddsmb

Curso avanzado de GNU/Linux

GNOME

● Utilidades de administración:

– gnome-cups-manager (menú del sistema ->Escritorio

-> Administración->Printing)

– foomatic-gui (menú del sistema -> Aplicaciones ->

Herramientas del sistema ->Printers)

Curso avanzado de GNU/Linux

CUPS como generador PDF

● Instalar paquete cups-pdf

– Configuración en /etc/cups-pdf/cups-pdf.conf
– Podemos postprocesar los PDFs ajustando el valor

PostProcessing

● Salida de los trabajos por defecto:

– Anónimos en /var/spool/cups-pdf/ANONYMOUS/
– Usuarios identificados en ~/PDF/
– Emplear PPD:

/usr/share/ppd/cups-pdf/PostscriptColor.ppd

Curso avanzado de GNU/Linux

CUPS como generador PDF

● Añadir impresora virtual

lpadmin ­p imprimePDF ­E \
­v cups­pdf: \
­P /usr/share/ppd/cups­pdf/PostscriptColor.ppd

● Imprimir un fichero:

lpr ­P imprimePDF /etc/motd

● Visualizarlo

evince ~/PDF/_motd_.pdf

Curso avanzado de GNU/Linux

Referencias

● http://www.cups.org/
● http://www.linux-foundation.org/en/OpenPrinting
● http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO
● http://en.wikipedia.org/wiki/Common_Unix_Printing_Syste

m

Curso avanzado de GNU/Linux
  • Links de descarga
http://lwp-l.com/pdf8514

Comentarios de: Curso avanzado de Linux Impresoras. Sistema CUPS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad