Está en la página 1de 23

INTRODUCCION CUPS, de sus siglas Common Unix Printing System, que es un sistema sofisticado, en red y muy seguro, provee

tanto una interfaz grafica que puede ser revisada mediante un explorador, como una interfaz a nivel de shell que permite imprimir y controlar los sistemas de impresoras meidante algunos scripts. Este sistema comenzo a desarrollarse en 1997, por Michael Sweet. La primera version aparecio en 1999, la cual era una version beta (no desarrollada completamente y sin errores). Al comienzo se utilizaba el protocolo LPD, pero este constaba por ciertas limitaciones, asi que se opta por cambiar el protocolo a usar. En 2007 Apple Inc. compro el codigo fuente. CUPS surge como una solucion a un problema muy importante, como es el de la estandarizacion de una interfaz para soportar impresoras. Este problema surgio debido a que cada sistema UNIX venia con diferentes sistemas de impresion que las versiones anteriores del mismo, y a demas venia con drivers diferentes. CUPS esta basado en un protocolo llamado IPP (Internet Printer Protocol) utilizado tanto para manejar los trabajos como las impresoras, asi como tambien el peso, la calidad de unt rabajo, control de acceso, encriptacion, autenticacion, etc. IPP puede ser usado tanto localmente como sobre internet para ocmunicarse con impresoras que sean locales o remotas. Este fue el protocolo al cual se decide cambiar de LPD.

CONCEPTOS BASICOS EN UN SISTEMA CUPS Jobs (trabajos): es un archivo o conjunto de archivos que son enviados a una impresora. Estos son identificados un un numero unico empezando en 1 y estan destinados a una impresora especifica. Estos pueden tener asociados un conjunto de opciones, como el numero de copias, peso, prioridad, etc. Clases: es un conjunto de impresoras. Los trabajos que son enviados a una clase, son reenviados a la primera impresora disponible. Filtros: permiten a un usuario o a una aplicacion imprimir diversos tipos de archivos. Se encarga de traducir (convertir) la informacion de un trabajo de impresion al lenguaje o formato destino de la impresora a traves de una serie de filtros. Backends: estos son los encargados de enviar un trabajo a una impresora. Estos son: puertos parelelos, seriales, USB, y mediante la red gracias a IPP. Drivers de impresion: consisten de uno o mas filtros para una impresora especifica. MIME: (Multipurpose Internet Mail Extensions) son una serie de especificaciones dirigidas al intercambio transparentes de archivo mediante internet. Tambien sirve para el envio de archivos a traves del protocolo HTTP. Con mime se pueden especificar no solo caracteres ascii sino tambien permite enviar otro tipo de contenidos como imagenes, sonidos, videos y programas. URI: Tambien conocido como Uniform Resource Identifier, es una cadena de caracteres cuya funcion es la de identificar a un recurso, o equipo de manera unica. De esta forma somos capaces de comunicarnos con algun recurso o dispositivo sin posibilidad a equivocarnos, cuando mandamos paquetes por ejemplo a traves de la red. PostScript: es un lenguaje de descripcion de paginas PPD: es un archivo que es creado por el fabricante de una impresora para describir las caracteristicas disponibles para sus impresoras PostScript. Los drivers para impresoras utilizan este archivo para entender las capacidades de una impresora especifica. Un driver para impresora de Postscript para CUPS esta compuesto por un archivo PPD, ninguno o algunos programas filtros para preparar los datos que pasan a la impresora, y por ninguno o algunos archivos para soporte o manejo de color a la hora de imprimir, tambien por una ayuda online.

ARQUITECTURA DE UN SISTEMA DE IMPRESION 1)Un spooler: Es el encargado de coleccionar y programar los trabajos, digamos que es el encargado de coordinar la cola de impresion. Es decir, este se encarga de recibir trabajos, guardarlos, ordenarlos por prioridad, y enviarlos secuencialmente a una o mas impresoras. A este tambien se le puede hacer referencia como el demonio de impresion, o el servidor de impresion. Entre los spoolers tenemos CUPS, lpd(para BSD), y lpsched(Para SystemV). 2)Sistema de filtrado: este es una de las principales ventajas de CUPS, permite procesar una grna cantidad de formatos de datos en el servidor de impresiones. Convierte la informacion del trabajo en el lenguaje o el formato destino de la impresora a traves de una serie de filtros. El proceso de filtrado se ejecuta, y toma como entrada seis argumenos que son: nombre de la cola de impresion, el ID del trabajo, nombre de usuario, el nombre del trabajo, numero de copias, opciones de impresion y el nombre del archivo. Luego de esto determina el tipo de dato de la entrada yel filtro a ser usado a traves del uso de la base de datos MIME (vease base de datos MIME mas alante). La informacion puede ser tanto convertida en datos PostScript como en datos rasterizados. Si es convertido a PostScript, entonces es aplicado un filtro adicional llamadoprefiltro, quien corre los datos PostScript a travs de otro conversor PostScript para poder incluir opciones especficas de la impresora - por ejemplo rango de pginas a imprimirse, modon-up y otras opciones especficas del perifrico. Luego del prefiltrado se puede mandar los datos al backend. 3)Base de datos MIME: luego de que un trabajo ha sido asignado al spooler, este es reenviado al sistema de filtrados de CUPS. Cuando CUPS carga durante el inicio carga dos Bases de datos MIME que son: 3.1)mime.types que define los tipos de archivos conocidos, de los cuales CUPS acepta datos. 3.2)mime.convs que define las aplicaciones que deben procesar cada tipo MIME en particular. El objetivo de las bases de datos MIME es tranformar aquellos archivos que el servidor recibe en un formato que la impresora entienda. 4)Backends: es la manera en que la informacion es enviada a la impresora. Existen varios backends disponibles: puerto paralelo, serial, y USB, y mediante la red gracias a IPP.

SERVIDOR (Archivos de Configuracion): CUPSD.CONF Su archivo de configuracion principal es cupsd.conf que normalmente se encuentra bajo /etc/cups/, aqui se especificaran las directivas que se pueden colocar en este archivo: 1)AccesLog: Esta directiva establece el nombre del archivo de log. En este archivo la informacion se guardara el el formato comun de logs, que es de la siguiente manera: host identidad _del_cliente Usuario Fecha Solicitud Estado Bytes El archivo por defecto que se encarga de los logs es /var/log/cups/access_log 2)AcessLogLevel: Es una directiva que controla cuales solicitudes, deben ser colocadas en el archivo de logs. Entre ellas tenemos: 2.a)AccessLogLevel config esta opcion hace que todas aquellas acciones que tengan que ver con agregar, borrar o modificar clases o impresora sean registradas. 2.b)AccessLogLevel actions esta registra cuando se envian, o cancelan trabajos. 2.c)AccessLogLevel all hace que se registre todo.

3)Allow: Esta directiva especifica cuanles hostnames, o ips o redes, se les esta permitido acceder al servidor. Ejemplo: Allow from localhost Nota: esta directiva tiene que aparecer dentro de las secciones Location o tambien podria ser en la seccion Limit

4)AuthClass: Esta directiva define que nivel de autenticacion es requerido. Se pueden definir cuatro tipos de authclass que son AuthClass Anonymous : Dice que no se necesita autenticacion (viene por defecto). AuthClass User : Se necesita de un usuario y un password. AuthClass System : Se requiere lo mismo que en el anterior pero en este caso el usuario debe pertenecer al grupo del sistema. AuthGroup: lo mismo que User, pero aca el usuario debe pertenecer al grupo declarado por la directiva AuthGroupName. Nota: esta directiva debe estar dentro de una seccion de Location o de Limit. 5)AuthGroupName: Debe estar especificada tambien bajo la seccion Location o Limit, y se utiliza para denotar cual sera el grupo de autenticacion, como se dijo en la directiva anterior. Ejemplo:
<Location /path> ... AuthGroupName mygroup AuthGroupName lp </Location>

6)AuthType: Directiva que tambien tiene que estar bajo a seccion Location o Limit. Es utilizada para definir el tipo de autenticacion a realizar: Podemos especificarla con: 6.a)AuthType None : indica que ninguna autenticacion sera realizada. 6.b) AuthType Basic: indica que la autenticacion se realizara basandose en los archivos de UNIX, tanto de grupos como de password. 6.c)AuthType Digest : indica que la autenticacion sera realizada usando el archivo /etc/cups/passwd.md5. 6.d)AuthType Negotiate : Indica que la autenticacion debera ser ralizada mediante kerberos. 7)BrowseAdress:

Es una directiva que especifica un hostname, o redes de donde aceptar paquetes. Por defecto se aceptan los paquetes de todos los hosts. Aqui solo se pueden especificar direcciones ip, a menos que se espeicifique la directiva HostNameLookups, que permite usar dominios. Otras opciones de esta misma son: BrowseAllow from all : recibe paquetes de todos. BrowseAllow from none : no permite recibir paquetes. BrowseAllow from @IF(interfaz): permite recibir paquetes de esa interfaz. Nota: los paquetes que se hablan en esta directiva, son paquetes de exploracion. 8)BrowseDeny: Es exactamente igual a la directiva mencionada anteriormente, solo que esta actua de forma contraria. 9)BrowseLDAPBindDN: Directiva que especifica el dominio del servidor ldap a usar cuando se esta escuchando para autentificar con el servidor. 10)BrowseLDAPDN: Especifica el nombre de dominio del servidor ldap para registrar las impresoras locales. 11)BrowseLDAPPassword: Especifica el password para acceder al servidor LDAP. 12)BrowseOrder: Especifica el orden de procesamiento de permitir o negar paquetes. BrowseOrder Allow,deny :especifica que se deben negar los paquetes por defecto, luego se chequea las lines de BrowseAllow seguida por las de BrowseDeny. BrowseOrder deny,allow : lo contrario a la anterior. 13)BrowseInterval: Especifica la cantidad maxima de tiempo entre las actualizaciones del servidor. 14)BrowsePoll: Indica los servidores a los cuales se debe preguntar por las impresoras disponibles. 15)BrowsePort (solo para la version 1.1.10 de cups): Especifica el puerto UDP usado para los paquetes. Por defecto es 631. 16)BrowseProtocols: Especifica los protocolos a usar cuando se muestran las impresoras en la red local. 17)BrowseRelay: Especifica la fuente y el destino a donde los paquetes seran enviados. Es decir, esta opcion

es para retransmicion de paquetes. 18)BrownseRemoteProtocols: Especifica los protocolos a usar cuando se encuentran impresoras remotas a la red local. 19)Browsing: Especifica si o no esta permitida la exploracion de impresoras en la red mediante ese servidor de cups. Ejemplo: Browsing On BrowsingOff 20)Deny: Especifica los hostname, o ips, o redes a las cuales se les niega el acceso al servidor. Para poder usar hostnames se debe habilitar la opcion con la directiva HostNameLookups. @IF(Interfaz) especifica la interfaz de donde negar cualquier intento de comunicacion. Esta directiva debe estar dentro de alguna seccion de Location o Limit. Ejemplo:
<Location /path> .. Deny from All Deny from None Deny from @IF(interfaz) </Location>

21)DocumentRoot: Indica la localidad de el contenido web para el servidor http en cups. 22)ErrorLog: Indica el hombre del archivo que sera el log de errores del servidor cups. 23)HostNameLookups Controla si Cups busca el hostname para conectar a los clientes. 24)JobRetryInterval Especifica la cantidad de tiempo en segundos para esperar antes de enviar un trabajo. 25)KeepAliveTimeout: Especifica la cantidad de tiempo que una conexion se mantendra abierta despues de la ultima solicitud del cliente. 26)LimitRequest Body: Indica el tamano maximo de archivos para imprimir. Si se indica 0 quiere decir que no tiene limite. 27)Listen:

Especifica la direccion y el puerto que se encarga de escuha conexiones. 28)ListenBackLog Especifica la cantidad maxima de conexiones pendientes que el programador permitira. 29)Location: Una de las partes importantes de este archivo se encuentra entre <Location> y </Location> Aqui colocaremos desde donde el servidor aceptara los trabajos, es decir quien se podra comunicar con el servidor para enviar trabajos. Por ejemplo si queremos permitir trabajos de 192.168.10.109 lo que tenemos que hacer es colocar una linea que diga: Allow From Direccion Esta directiva lo que hace es especificar controles de acceso, opciones de autenticacion para algun recurso http. Dentro de esta directiva pueden aparecer otras como: AuthType, Deny, Encryption, Limit, LimitExcept, Order, Require, Satisfy y Allow. Cada entrada de esta directiva vendra de la siguiente manera: <Location Algo> </Location> Donde Algo puede ser cualquiera de la siguientes opciones ( esto con la finalidad de poder administrar distintas partes del servidor por separado): 29.a)/ :La ruta para todas las operaciones tipo get. 29.b)/admin : La ruta para todas las operaciones de administracion. 29.c)/admin/conf : la ruta de acceso a los archivos de configuracion de cups. 29.d)/admin/log :Ruta de acceso a los archivos de logs. 29.e)/classes: La ruta a todas las clases. 29.f)/classes/name : Los recursos para el mombre de las clases. 29.g)/jobs : La ruta para todos los jobs. 29.h)/jobs/id : el recurso parael id del job. 29.i)/printers : la ruta de las impresoras. 29.j)/printers/name: La ruta para los nombres de las impresoras. 29.k)/printers/name.ppd : El archivo ppd para la ruta de las impresoras. 30)LogFilePerm: Es una directiva que especifica los permisos a usar cuando se escribe en los archivos de log. 31)LogLevel: Especifica el nivel de registro para el archivo ErrorLog. Entre las principales opciones tenemos: none No registra nada. alert Registra las alertas que deben ser manejadas inmediatamente. Error Registra los errores generales.

Info Registra todas las solicitudes y cambios de estados. 32)MaxClients: Especifica la maxima cantadad de clientes simultaneamente que esta permitido por el servidor. 33)MaxCopies: Indica la cantidad maxima de copias que un usuario puede mandar a hacer para un trabajo. 34)MaxJobs: Indica la cantidad maxima de trabajos que son mantenidas en memoria. 35)MaxLogSize: Indica el peso maximo de cada archivo de log. 36)Port: Especifica el puerto de donde el servidor escuchara. Se pueden especificar diversos puertos. Esta directiva es equivalente a: Listen :nn 37)Satisfy Especifica si todas las condiciones deben ser satisfechas para permitir el acceso a un recurso http. Por esto, esta directiva debe ser especificada bajo alguna seccion Location. 38)ServerAdmin: Identifica el usuario administrado, y el email para el administrador del sistema. 39)ServerAlias: Especifica otros nombres con los que el servidor es conocido. 40)ServerBin: Indica el conjunto de directorios para los ejecutables que el servidor va a correr. 41)ServerName: Indica el hostname que es reportado a los clientes. 42)ServerRoot: Indica la ruta absoluta de los archivos de configuracion y de estados del servidor. Tambien es usado para resolver rutas relativas del archivo cupsd.conf.

Por otro lado tambien se puede cambiar el cupsd.conf mediante el comando

cupsctl Con este comando se puede tanto cambiar el archivo como pedir informacion sobre las entradas del archivo. Cuando no es requeridad una modificacion, se muestran los datos que hay en el archivo. Este comando tiene flags interesantes tales como: --[no-]remote-admin que habilita o deshabilita la administracion remota del servidor. --[no-]remote-any que habilita o deshabilita la impresion desde cualquier direccion de internet. --[no-]user-cancel-any que permite o evita que un usuario pueda cancelar trabajos que pertenecen a otros usuarios. -h servidor especifica el servidor. NOTA: Todos estos flags, aquellas palabras entre corchetes son opcionales. CLASSES.CONF Aqui se guardan las clases disponibles definidas localmente. Asi como en cupsd.conf, exte archivo tiene un conjunto de directivas que podemos mencionar, entre ellas: 1)Accepting ; define el estado inicial del atributo que dice que la impresora esta aceptando jobs. Este estado puede ser establecido tambien mediante los comandos accept y reject. Es decir de la siguiente manera: accept nombreClase Si es en el archivo este tiene que ir dentro de una seccion llamada class de la sdiguiente manera: <Class nombreClase> Accepting yes </Class> 2)AllowUser: Esta directiva agrega un nombre, o un grupo de ellos al atributo de usuarios permitidos, que puede ser establecido mediante lpadmin. Debe ir dentro de una seccion de class. Ejemplo: <Class nombreClase> AllowUser Usuario AllowUser @grupo </Class>

3)Class: es una directiva que empieza la definicion de una clase. <Class nombreClase> ... </Class> 4)DenyUser: Es lo contrario a Allowuser. 5)Location Es una directiva que especifica la localizacion de una impresora. Debe ir dentro de una directiva de clases. 6)PageLimit: Especifica la cantidad maxima de paginas que puede ser impresa por un usuario. Este debe ir dentro de una seccion de class. 7)Printer: Especifica que la impresora dada como argumento sera agregada a la clase. Ejemplo: <Class nombreclase> printer hp printer epson </Class> Tambien puede agregarse una impresora mediante el comando lpadmin -p nombreImpresora -c nombreClase 8)State: Define el estado inicial de una impresora. Ejemplo: <Class nombreClase> State idle </Class> 9)StateMessage: Define una cadena asociada a cierto estado.

CLIENT.CONF Este archivo contiene 2 directivas para determinar el comportamiento de un cliente. Entre sus principales directivas: 1)Encryption: Especifica los ajustes por defectos para la encriptacion por parte del cliente. Con esta, pueden ser dadas las opciones: Never, IfRequested, Required, Always, por defecto se tiene IfRequested. 2)ServerName Especifica un conjunto de servidores usados para las operaciones por parte del cliente. La sintaxis es de la siguiente manera: ServerName servidor[:puerto] Si no se especifica el puerto, se toma el puerto por defecto de cups que es el 631. MAILTO.CONF Es un archivo que contiene ciertas directivas que definen el servidor de mail local, y las preferencias para las notificaciones por parte del servidor. Entre sus directivas: 1)Cc: Define un nuevo recipiente (o receptor) para las notificaciones por email. Por defecto no se le manda un mail aningun subscriptor. Ejemplo: Cc wilmer@ldc.usb.ve 2)From: Indica el emisor de notificaciones por mail. Por defecto es la direccion especificada en cupsd.conf mediante ServerAdmin. 3)Sendmail: Indica el comando a correr para entregar el comando localmente. Esta directiva no puede aparecer junto con la directiva SMTPServer. 4)SMTPServer: Indica un ip o un hostname de un servidor smtp. 5)Subject: Es una directiva que especifica una cadena que debe ser colocada como un prefijo antes de cada mail. Es decir el subject.

PRINTERS.CONF Almacena una lista de las impresoras disponibles. Solo contiene impresoras definidas localmente. Entre sus directivas: 1)Accepting: Define si el estado inicial de una impresora es aceptar jobs. Puede ser modificado mediante el comando cupsaccept NombreImpresora o mediante cupsreject nombreImpresora. Esta directiva debe ir en la seccion <Printer>, Ejemplo: <Printer nombreImpresora> Accepting yes </Printer> 2)AllowUser: Indica a que usuarios se les deja acceder a cierta impresora. Debe ir dentro de la seccion Printer. Ejemplo: <Printer NombreImpresora> AllowUser wilmer </Printer> 3)DefaultPrinter: Es una directiva que coloca a cierta impresora, como la impresora por defecto del servidor. Ejemplo: <DefaultPrinter NombreImpresora> </Printer> 4)DenyUser: Lo contrario a AllowUser. 5)DeviceURI: Define el valor del atributo denominado atributo-URI-de-dispositivo. Como nuestras impresoras estan en red, podemos referenciarlas mediante su direccion de la siguiente manera:

<Printer NombreImpresora> DeviceURI http://hostname </Printer> 6)ErrorPolicy: Define una politica que es usada cuando no se le puede enviar un trabajo a una impresora. Existen 4 tipos de politicas que son: 6.1)abort-job: aborta un trabajo y procede con el siguiente. 6.2)retry-current0job: envia nuevamente el trabajo actual. 6.3)retry-job reenvia el trabajo despues de N segundos. 6.4)stop-printer: Para la impresora y mantiene el trabajo para futura impresion. 7)JobSheets: Especifica las paginas a imprimir antes y despues de un trabajo. Se puede especificar: none, classified, confidential, secret, standar, topsecret, unclassified. Dependiendo de la especificacion escogida esta sera impresa en la parte de arriba y en la de abajo en esas paginas. Esta directiva debe ir bajo una seccion <Printer> Ejemplo: <Printer nombreImpresora> JobSheets none,standar </Printer> 8)KLimit: Especifica la cantidad maxima de kilobytes que pueden ser impresos por un usuario. 9)OpPolicy: Selecciona la politica de operacion usada por la impresora. La politica corresponde a la politica especificada en la seccion Policy de cupsd.conf. 10)PageLimit: Indica la cantidad maxima de hojas a imprimir. 11)Printer: Es una directiva utilizada para comenzar o terminar la definicion de una impresora. 12)State: Define el estado inicial de la impresora. Ejemplo: <Printer name>

State idle </Printer>

SMNP.CONF Es un archivo que contiene algunas directivas para determinar como el backend smnp de la impresora se comporta. Entre sus directivas: 1)Adress: Indica la direccion Broadcast a usar al descubrir alguna impresora. 2)Community: Especifica el nombre de una comunidad a u sar cuando descubre impresoras. Este puede ser public, easysw, o BigCrop. 3)DeviceURI: Especifica con una expresion regular (encerrado entre comillas) que hace match contra e l dispositivo snmp. 4)HostNameLookups: Indica si la las direcciones especificadas en las demas opciones, deben ser dejadas como ip o tambien pueden colocarse como hostnames. 5)MaxRunTime: Indica la cantidad maxima se segundos que un backend SMNP gastara buscando impresoras en la red. SUBSCRIPTIONS.CONF Es un archivo que define las subscripciones locales que estan activas. Directivas: 1)Subscriptions: Define una subscripcion Ejemplo <Subscription NNN> </Subscription> 2)ExpirationTime: Especifica el tiempo de expiracion de la subscripcion desde 1970.

3)JobsId: Especifica el job ID asociado con la subscripcion. 4)NextSubscriptionId Especifica el proximo numero para una subscripcion. 5)PrinterName Especifica una impresora o clase asociada a la subscripcion. 6)Owner: Especifica el usuario a quien pertenece la subscripcion. Tambien podemos encontrar herramientas de linea de comandos para poder administrar el servidor de cups, estos comandos son: 1)lpadmin

AGREGANDO UNA IMPRESORA Ya definido el printers.conf anteriormente, ahora podemos definir una impresora, y existen

muchas formas, con comandos o manualmente, o tambien mediante la web. Mediante un comando, para agregar una impresora se hace de manera sencilla mediante el siguiente comando: ldapmin -p nombreImpresora -v URIImpresora -P RutaADriveImpresora -L Lugar donde se encuentra la impresora -D Descripcion de la impresora si se quiere Por otro lado tenemos que saber que al especificar el uri este debe seguir el estandar del atributo device-uri, donde viene dado mediante esquema://DepdendeDeesquema. Existen distintos esquemas: a)file: el uri debe ser especificado como file:///path/alArchivo b)direct: debe estar de la forma esquema:/dev/archivo donde esquema puede ser parallel (si esta conectada mediante puerto paralelo), usb (si esta conectado por usb). c)serial: se debe especificar serial:/dev/archivo. d)network: debe estar de la forma schema://hostname, donde schema puede ser http, https, ipp, lpd, smb o socket. Como se dijo tambien se puede agregar una impresora manualmente, supongamos que tenemos el archivo printers.conf a nuestra disposicion y queremos agregar una impresora nueva llamada hpw, entonces tenemos que agregar las siguientes lineas para agregar la impresora:

CLIENTE CUPS provee tanto comandos de shell, como interfaces web, que permiten la administracion del

servidor. Pero tambien tiene un conjunto de comandos permiten el uso del servidor, Estos son los cleintes. Los comandos mas comunes a la hora de administrar un servidor CUPS son los siguientes: 1)cupsdoprint: es la herramienta usada en el entorno kde, que es una herramienta de linea de comandos, y es utilizada para imrpimir archivos. Flags de este comando: -H servidor:puerto Permite especificar el servidor de cups a usar. -o opcion=valor Indicia laopcion a usar. Esto sera especificado mejor posteriormente. -P impresora Indica la impresora a usar. -U usuario:password Indica el login, y el password a usar al enviar el trabajo. 2)lp: Envia un archivo a imprimir o altera un trabajo pendiente en una impresora. Si solo se especifica el flag - quiere decir que usted manda a imprimir lo que se introduce por STDIN. Entre sus flags: -E: Forza la encriptacion cuando se conecta con el servidor. -U usuario: Especifica el usuario cuando se conecta al servidor. -d destino imprime los trabajos en la impresora destino. -h servidor[:puerto] indica el servidor y el puerto a usar. El puerto es opcional como se ve en la especificacion dada. -i job-id Especifica el id de un trabajo a modificar. -m Envia un mail cuando el trabajo esta completado. -n numero Indica el numero de copias a imprimir.

-o opcion=valor Estable opciones para los trabajos enviados. Esto se explica mas adelante. -q prioridad Indica la prioridad del trabajo. Donde 1 es la prioridad mas baja y 100 la mas alta. Por defecto la prioridad es 50. -P lista-de-paginas Indica cuales paginas deben imprimirse de un documento. Esta lista puede contener rangos (inicio-fin) o paginas separadas por comas. Ejemplos lp -h cups.ldc.usb.ve -d hp -P 5-10 archivo 4)lpinfo Comando que muestra los dispositivos o drivers conocidos por el servidor cups. Con -m se muestra la lista de driver disponibles. Y con -v muestra una lista de los dispositivos disponibles. Flags: -E Forza la encriptacion al conectarse con el servidor. -h servidor[:puerto] Lo mismo que en los comandos anteriores. -l Muestra una lista larga de los dispositivos o de los drivers. 5)lpmove 6)lpstat Muestra la informacion acerca del estado de los trabajos, impresoras y clases. Cuando este comando se introduce sin argumentos este muestra los trabajos (jobs) del usuario actual. Flags: -E Forza el encriptamiento. -H Muestra el hostname del servidor. -U Indica otro usuario. -W trabajos Especifica cuales trabajos deben ser mostrados (completados o no completados). -d

Muestra el destino (impresora) actual por defecto. -h Especifica un servidor alterno. -o Muestra los jobs en la cola de cierto destino. -p impresora Muestra si la impresora esta habilitada para imprimir. -t Muestra toda la informacion posible. -v impresora. Muestra informacion de la impresora y a que dispositivo esta esta ligada. 7)lpoptions Muestra un conjunto de opciones de la impresora y las que esta tiene por defecto (cuando n o se le da ningun argumento). Flags: -E Igual que en los otros comandos. -U Igual que en los otros comandos. -d Indica cual sera la impresora por defecto. -h Igual que en los otros comandos. -p detino indica la impresora destino. -r opcion Quita una opcion especifica del destino -x destino quita todas las opciones del destino 8)lpasswd Es una comando para agregar, cambiar o borrar passwords en el archivo digest de passwords de

CUPS. Cuando un usuario normal es el que corre el comando este tiene que tipear el password viejo y luego se le preguntara por el nuevo. Cuando este comando es hecho por el root, puede agregar nuevas cuentas (-a usuario), cambiar las existentes (especificando solo el usuario) o borrar alguna cuenta (-x nombreusuario). 9)lpr Envia algun archivo a imprimir. Si no se especifica la impresora destino, es tomado como destino la impresora por defecto. Flags: -E Lo mismo que en los comandos anteriores. -H servidor[:puerto] Especifica un servidor alternativo. -P indica la impresora destino -U especifica un usuario alternativo. -# numero Indica el numero de copias a imprimir. -h Equivalente a -o job-sheets=none (se hablara de esto mas adelante). -m Envia un mail cuando se completa el trabajo. -o opcion[=valor] Especifica una opcion. -r Indica que el archivo debe ser borrado luego de ser impreso. 10)lpq Muestra el estado actual de la cola de impresion de cierta impresora. Si no es especificado ningun parametro, se toma la impresora por defecto a la cual se le preguntara por su cola de impresion. Flags: -E

Forza la encriptacion al contectar con el servidor. -P Especifica la impresora destino. -a Muestra los trabajos de todas las impresoras. -h Especifica un servidor alternativo. -l Indica que el resultado salga en un formato mas explicativo. 11)lprm Comando para cancelar los trabajos de colas a imprimir. Para cancelar todos los trabajos se pasa la opcion -, sino se debe especificar el ID del trabajo a cancelar. Flags: -E Forza la encriptacion al conectar con el servidor. -P Especifica la impresora destino. -U Especifica un usuario alternativo. -h Especifica el servidor. 12)lpc Provee un control limitado sobre alguna cola de impresion, y tambien puede ser utilizado para preguntar el estado de una cola. Este comando provee en realidad un prompt en donde podemos colocar los siguientes comandos: exit Se sale del prompt help [comando] Muestra un mensaje para ayuda, sobre cierto comando. ? Hace lo mismo que help. quit Se sale del prompt. Status [cola] Muestra el estado de cola de una o mas impresoras.

kprinter: que es una herramienta que es usada en kde como un remplazo a lpr, la cual consta de una interfaz grafica aunque tambien puede ser utilizadadesde consola.

También podría gustarte