# Las opciones de &CUPS; presentes y no disponibles a través de &kcontrol;

Este capítulo le ofrece algunas sugerencias sobre posibilidades de configuración que puede que no estén disponibles en &kdeprint; desde el interfaz gráfico para &CUPS;.

## Resumen de la prestaciones ofrecidas

Casi todas las propiedades y funciones más usadas proporcionadas por &CUPS; están soportadas en &kdeprint;.

- La administración de impresión está soportada: añadir, eliminar, modificar, configurar, probar desactivar, activar ...

- La administración de trabajos está soportada: cancelar, mantener, soltar, mover a una impresora diferente

- Opciones de impresión: para control total como se proporciona en &CUPS;.

## Donde encontrar ayuda para utilizar &CUPS;

Mucha información sobre el funcionamiento interno de &CUPS; está disponible a través del interfaz web, que siempre soportará &CUPS;. Funciona con cualquier navegador (si, incluso con los de sólo texto). Simplemente vaya a http://localhost:631/ para iniciar. Allí encontrará un enlace a la documentación disponible de &CUPS; en formato HTML y PDF si usted es nuevo en &CUPS;.

&CUPS; es accesible a través de otros medios diferentes de &kdeprint;: la línea de comandos y el navegador son dos interfaces nativos de &CUPS;. Las muchas utilidades de la línea de comandos agrupadas conseguen el mayor control posible sobre &CUPS;. El interfaz web es sólo un subconjunto de todas las opciones de configuración o control disponibles.

Esto también es cierto para &kdeprint;. Generalmente. con el desarrollo de &CUPS; las nuevas propiedades se implementarán primero a través de la línea de comandos. Asegurese de comprobar las últimas versiones de las páginas de man para &CUPS; para mantenerse actualizado con las nuevas propiedades después de instalar una nueva versión.

Dependiendo de su método de actualización para &CUPS;, su archivo de configuración activo podría no ser reemplazado por uno nuevo; de modo que su nuevo y más potente demonio de &CUPS; podría no conocer las nuevas propiedades porque está leyendo el antiguo archivo de configuración.

Una A complete list of available files and man pages should always be in the En el manual del administrador de software de &CUPS; (http://localhost:631/sam.html#FILES) debe haber una lista completa de los archivos y páginas de man disponibles. En el campo de &URL;/dirección de &konqueror; introduzca `man:/lpadmin` y `man:/cupsd.conf` para encontrar información acerca de los comandos más improtantes y del archivo de configuracón. Ya conoce la capacidad de &konqueror; de mostrar páginas tradicionales de man de &UNIX; Si no la conoce lea. Desde allí podrá encontrar sugerencias más interesantes y enlaces a otra páginas de man y de documentación.

### Como encontrar páginas de man relacionadas con &CUPS;

Aquí hay un medio de encontrar que páginas de man relacionadas con &CUPS; existen en su sistema:

    kurt@transmeta:~
    > apropos cups

    cups-calibrate (8)- Herramienta de calibración de impresoras ESP
    lpstat (1)        - Información de el estado de impresión cups
    cups-lpd (8)      - recibir trabajos de impresión + informar del estado de la impresora a clientes  lpd
    classes.conf (5)  - archivo de configuración de clases para cups
    backend (1)       - interfaces de transmisión de terminales de cups
    filter (1)        - interfaces de filtros de conversión de archivos
    cups-polld (8)    - demonio de muestreo de impresora de cups
    mime.types (5)    - archivo de descripción de tipos mime para cups
    cupsd (8)         - demonio de sistema de impresión común de unix
    lpadmin (8)       - configurar impresoras cups y clases
    cupsd.conf (5)    - archivo de configuración de servidor para cups
    mime.convs (5)    - archivo de conversión de tipos mime para cups
    printers.conf (5) - archivo de configuración de impresora para cups
    mime.convs (5)    - archivo de conversión de tipos mime para cups
    cups-polld (8)    - demonio de monitorización de impresora de cups
    lpstat (1)        - información de estado de impresión cups
    backend (1)       - interfaces de transmisión de terminal de cups
    mime.types (5)    - archivo de descripción de tipos mime para cups
    cupsd (8)         - demonio de sistema de impresión común de unix
    lpadmin (8)       - configurar impresoras cups y clases
    printers.conf (5) - archivo de configuración de impresora para cups
    cupsd.conf (5)    - archivo de configuración de servidor para cups
    filter (1)        - interfaces de filtros de conversión de archivos

## Fuera de &kdeprint;: Sugerncias & consejos y trucos con &CUPS; en la línea de comandos

Aquí tiene una serie de ejemplos de opciones que sólo están disponibles si utiliza la línea de comandos.

### Permitiendo o denegando acceso a ciertos usuarios

Al instalar (o modificar) una impresora a través de la línea de comandos, usted puede denegar o permitir el uso de esa impresora para ciertos usuarios:

    lpadmin -pHeidelbergDigimaster9110 -v lpd:/10.160.16.99/mqueue -u allow:kurt,sylvi,hansjoerg -E -P /home/kurt/PPDs/DVHV.ppd

permitirá el uso de esta (creame: muy estético y muy profesional) impresora para sólo los tres usuarios mencionados y al mismo tiempo denegarselo al resto. Si otro usuario quiere imprimir en el DigiMaster a través del servidor &CUPS;, recibirá un mensaje de error junto con las líneas client-error-not-possible.

    lpadmin -p HeidelbergDigimaster9110 -v lpd:/10.160.16.99/mqueue -u deny:tackat,boss,waba -E -P /home/kurt/PPDs/DVHV.ppd

denegará el uso de esta misma impresora a los tres usuarios mencionados y al mismo tiempo permitirá el uso a los otros. Si el usuario denegado desea imprimir en el DigiMaster a través de este servidor &CUPS;, recibirá un mensaje de error junto con las líneas client-error-not-possible.

Sólo se puede utilizar una de las dos opciones, en este momento no hay soporte para disponer de una opción similar basada en grupos. Se implementará en el futuro.

### Poniendo cuotas para ciertas impresoras

Algunas veces desea poner cuotas a ciertas impresoras. Con cuotas puede establecer límites superiores para el número de páginas o la cantidad de datos a ser imprimidos durante un cierto periodo para una impresora.

Las cuotas se pueden establecer con la opción `-o`, al instalar una impresora con el comando `lpadmin`, o después para una impresora ya existente. A continuación hay varias guías (que faltan en el momento de escribir en la documentación oficial de &CUPS;):

- Con &CUPS; usted puede tener recuento de páginas- y cuotas de tamaño de archivos para impresoras individuales.

- Las cuotas se calculan para cada usuario individualmente (de modo que un conjunto de límites se aplica a todos los usuarios para la impresora en cuestión).

- Las cuotas incluyen páginas de anuncios (si se utilizaran).

- Esteo significa que usted puede limitar cada usuario a 20 páginas por día en una impresora cara, pero no puede limitar todos los usuarios excepto Pedro o root.

- Las opciones `job-k-limit`, `job-page-limit`, y `job-quota-period` se pueden introducir al configurar una impresora.

- `job-quota-period` establece un intervalo de tiempo para cáculo de cuotas (los intervalos se determinan en segundos; de modo que un día es 60x60x24=86.400, una semana 60x60x24x7=604,800, y un mes 60x60x24x30=2.592.000 segundos.)

- Para forzar cuotas, el periodo de tiempo más al menos un job-limit debe ser diferente de cero.

- El valor por omisión de 0 para `job-k-limit` especifica que no existe límite.

- El valor por omisión de 0 para `job-page-limit` especifica que no existe límite.

- El valor por omisión de 0 para `job-quota-period` especifica que el límite se aplica a todos los trabajos que se han imprimido por un usuario que es todavía conocido por el sistema.

#### Ejemplos de funcionamiento:

Se definen ejemplos que funcionan con límites de periodo de tiempo y uno o dos límites de trabajos de impresión.

    lpadmin -p danka_infotec_4850 -o job-quota-period=604800 -o job-k-limit=1024

Configura un límite de 1 MB (en total) para cada usuario de la impresora ya existente, danka_infotec_4850, durante una semana.

    lpadmin p danka_infotec_4105 -o job-quota-period=604800 -o job-page-limit=100

Configura un límite de 100 páginas (en total) para cada usuario de la impresora, ya existente, danka_infotec_4105 durante una semana.

    lpadmin -p danka_infotec_P450 -o job-quota-period=604800 -o job-k-limit=1024 -o job-page-limit=100

Configura un límite combinado de 1 MB (en total) y 100 páginas (en total) para cada usuario de la impresora, ya existente, danka_infotec_P450 durante una semana. El primer límite que se alcance será el que surta efecto.

#### Ejemplos que no funcionan.

NO funcionan, como sólo un, periodo de tiempo o límite de trabajo definido)

    lpadmin -p danka_infotec_P320 -o job-quota-period=604800

    lpadmin -p danka_infotec_FullColor -o job-page-limit=100

    lpadmin -p danka_infotec_HiSpeed -o job-k-limit=1024

#### Mensajes de error relacionados

Cuando un usuario alcanza su límite de cuota, recibirá un mensaje client-error-not-possible, si desea imprimir.

### Instalando una impresora en bruto

Hay varios modos diferentes de definir una impresora en bruto. Una cómoda es utilizar el comando `lpadmin`. Simplemente no defina un archivo &PPD; para usar con dicha impresora y será una impresora en bruto:

    lpadmin -p Raw_Danka_infotec -E -v lpd://10.160.16.137/PORT1

Las impresoras en bruto son aquellas que no modifican el archivo de impresión para transformalo en un formato diferente. Necesita esto por ejemplo al imprimir desde clientes &Windows; a través de Samba usando un servidor &CUPS; para una impresora PCL: en ese caso el controlador de impresora de &Windows; generaría el formato final de la impresora para la impresora de destino y filtrarlo utilizando los filtros de &CUPS; sólo estropearía el archivo. Bajo ciertas circunstancias (si desea asegurarse de que el archivo llega a la impresora sin ser filtrado por &CUPS;) `lpadmin` sin un &PPD; es práctico.

## Solucionando problemas de &CUPS; en &kdeprint;

Esta sección del manual de &kdeprint; depende de los comentarios de los lectores. Aquí se ofrece un pequeño comienzo.

### Mensajes de error

¿Qué significa el error client-error-bad-request?

El usuario envió un archivo a &CUPS; que el servidor no pudo procesar. Este mensaje también se obtiene enviando un archivo vacío.

¿Y client-error-not-possible?

No se permite al usuario imprimir sobre cierta impresora o alcanzado su límite de cuota (basada en e tamaño del archivo y/o número de páginas)

¿Y qué significa client-error-not-found?

El usuario intentó acceder a un recurso inexistente en el servidor &CUPS;, tal como intentar imprimir un archivo inexistente, o uno para el no tiene permiso de lectura.

### Preguntas y respuestas

¿Cómo puedo reiniciar mis trabajos?

Para poder reiniciar sus trabajos completados desde el interfaz de la web, necesita una opción en el archivo `/etc/cups/cupsd.conf`: configurelo como `PreserveJobFiles True`.

¿Cómo me deshago de la larga lista de trabajos completados en el interfaz web?

A completar

¿Cómo funciona la contabilidad de las páginas?

&CUPS; realiza la contabilidad de la impresión psanado casi todos los trabajos a través del filtro pstops. Este filtro, entre otros, contabiliza las páginas. La salida de este filtro se puede inyectar en otros filtros (como pstoraster --> rastertopcl) o enviarlo a la impresora directamente (si fuera una impresora &PostScript;).

En cualquier caso, este funciona igual para impresoras en red, en el puerto paralelo, serie o USB. Para que pstops funcione, necesita DSC, &PostScript; (o casi equivalente) conforme a Document Structuring Convention (Convención estructurada de documentos) como entrada. De modo que calcula las páginas durante el filtrado al servidor de impresión y escribe información acerca de cada página (hora, usuario, ID del trabajo y nobre, impresora, número de páginas del documento, tamaño en kB), en `/var/log/cups/page_log`.

Por cierto, en mi lista de deseos hay un arreglo para que webalizer lea y analice el registro de páginas y genere una salida similar. ¿alguien se anima?

Sin embargo, no da resultados correctos en los siguientes casos:

- La impresora se atasca y quiza expulsa el trabajo (experiencia real, o quizá expulsa el trabajo debido a problemas con el formato de los datos)

- Los trabajos imprimidos en bruto siempre se contabilizan como si su tamaño fuera de 1 página (y quizá múltiples copias).

Por tanto la contabilidad de &CUPS; sólo es aproximada (en muchos casos excelente, o buena y en otros pobre). La única contabilidad fiable es la que hace internamente la impresora (porque es la única por la que usted paga). Algunas, pero pocas, impresoras ofrecen dicha información utilizando SNMP (Simple Network Management Protocol). Esto significa, en una red mayor con muchas impresoras diferentes, que no hay una herramienta fiable y exacta de contabilizar páginas.

¿Por qué no funciona la contabilidad de páginas con clientes de &Windows;?

Desde los cliente de &Windows; los trabajos se deben enviar en la mayor parte de los casos en bruto. ¿Por qué? Si &CUPS; funciona como servidor de impresión para clientes de &Windows; utilizando el controlador nativo de &Windows; para el dispositivo de destino, se garantiza el formato correcto del trabajo en los clientes; por tanto el servidor no debe modificarlo e imprimir en bruto; y el filtrado no se inicia (esto no es posible ya que la entrada desde los clientes no es &PostScript; como espera pstops; y por ello sólo se contabiliza 1 página.

¿Cómo obtengo una lista de las opciones disponibles para una impresora o un archivo &PPD;?

Consulte la página de man del comando `lpoptions`. Puede investigar en una casilla de activación de &CUPS; acerca de cualquier opción de las impresoras disponibles. No es necesario que la impresora esté instalada localmente. Mientras la impresora está disponible localmente (a través de la propiedad de &CUPS; navegación de impresoras), también funcionará en remoto.

Para solicitar una opción de impresora introduzca ``lpoptions` `-p` `HitachiDDP70MicroPress` `-l`` le ofrecerá un largo listado de las opciones disponibles tal y como se obtienen de un archivo &PPD; para una impresora Hitachi-Printer (en mi caso instalado en el servidor remoto transmeta). El servidor remoto Transmeta y el demonio &CUPS; así como el demonio del servidor local de &CUPS; necesitan estar funcionando para que esto tenga éxito.

¿Cómo leo el listado recuperado por el comando `lpoptions`?

Usted sabe que para los fabricantes de impresoras &PostScript; es legal definir sus propios nombres y procedimientos internos incluso para opciones estándar de &PostScript;. Mientras el controlador sea capaz de recuperar la opción de &PPD; y mostrarla al usuario en un modo comprensible es aceptable. Pero ¿qué hacer si usted desea usar alguna opción oscura de impresora en la línea de comandos? ¿Cómo encontrar la sintáxis exacta?

Usemos un ejemplo. MIrando a la impresora Hitachi's DDP70 y como implementa la impresión duplex es revelador. ¿Cómo le puede indicar que imprima en doble cara? ¿duplex o Duplex? ¿U otro nombre quizá?.

    lpoptions -h transmeta -p Hitachi_DDP70_ClusterPrintingSystem -l | grep uplex

Esto genera la siguiente salida

    TR-Duplex/Duplex: False *True

Que se debe interpretar como sigue:

- El nombre de la opción investigada es `TR-Duplex`;

- Junto al guión usted puede ver la traducción de la opción, como debeia ser mostrada en un interfaz gráfico o web (Duplex);

- La opción puede tomar uno de dos valores `Falso` o `Verdadero`;

- La opción actual es `Verdadero` como se puede reconocer por la `*`.

Para obviar la opción actual predefinida (duplex) e imprimir el trabajo en una sóla cara necesita utilizar el siguiente comando:

    lpr -P Hitachi_DDP70_ClusterPrintingSystem -o TR-Duplex=False /path/to/your/printjob

Cómo obtengo una lista formateada de las opciones disponibles para una cierta impresora o &PPD;?

Utilice el comando `lphelp` que se puede instalar localmente en su sistema. Todavía no existe una página man para `lphelp`.

    lphelp infotecP450

Esto producirá una lista de las opciones disponibles para impresora en cuestión. La lista se muestra en un formato agradable de leer y explica todas las opciones disponibles. Puede solicitar las diferentes opciones de las impresoras de golpe:

    lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550

También funciona con archivos &PPD;. Simplemente especifique a ruta a &PPD;:

    lphelp /home/kurt/PPDs/HP-ColorLaserJet8550.ppd

### Solucionando problemas

Ningún sistema es perfecto. Aquí hay varios problemas en los que la gente cae frecuentemene.

Mi impresora, denominada 3-lp-duplex muestra un comportamiento errático. ¿Por qué?

Los nombres de impresora en &CUPS; deberían comenzar por una letra y pueden contener 128 caracteres, números o guiones bajos. El uso de guiones puede producir problemas. A proposito de los nombres: los nombres de las impresoras en &CUPS; no distinguen mayúsculas de minúsculas. De modo que una impresora llamada Lo_mejor_de_Danka será igual que lo_mejor_de_danka o LO_MEJOR_DE_DANKA. (Este es un requisito de &IPP;, que &CUPS; cumple totalmente).

¿Por qué obtengo Unable to connect to SAMBA host: Success con mi impresora compartida desde &Windows; a la que se accede a través de Samba?

¿Son correctos los privilegios en la máquina remota &Windows;? ¿Se le permite imprimir en la impresora compartida de &Windows;?

Los archivos que envio a la impresora lp algunas veces desaparecen misteriosamente y dos días después me dice que se imprimieron en una impresora tres pisos por encima de mi oficina. ¿Qué pasa?

Creame, es bastante improbable que su impresora sea la única con el nombre lp. Puede que &CUPS; le esté jugando una mala pasada. Como puede que usted tenga activada la opción ImplicitClasses On, &CUPS; intenta enviarlo a todas las impresoras de la red cuya Clase sea lp. Todos los trabajos destinados lp se envian a esta clase y el primer miebro disponible lo imprime. ¿Qué le parece si deja que ese agradable compañero (que escuchó con atención cuando usted despotricaba de &CUPS; y &kdeprint;) le instale &CUPS; y le deje configurar el sistema?

Siga mi consejo: elija un nombre único de impresora para cualquier impresora de red. (recuerde que incluso la impresora en su puerto paralelo puede ser una impresora de red accesible a todo el mundo si no es cuidadoso con sus opciones de configuración).