<para>Este capítulo le ofrece algunas sugerencias sobre opciones de configuración que pueden no estar disponibles en &tdeprint; desde el interfaz gráfico para &CUPS;.</para>
<para>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 (sí, incluso con los de sólo texto). Simplemente vaya a <ulink url="http://localhost:631/">http://localhost:631/</ulink> para iniciar. Allí encontrará un enlace a la documentación disponible de &CUPS; en formato <acronym>HTML</acronym> y <acronym>PDF</acronym> si usted es nuevo en &CUPS;.</para>
<para>&CUPS; es accesible a través de otros medios diferentes de &tdeprint;: la línea de órdenes y el navegador son dos interfaces nativos de &CUPS;. Las muchas utilidades de la línea de órdenes agrupadas consiguen el mayor control posible sobre &CUPS;. El interfaz web es sólo un subconjunto de todas las opciones de configuración o control disponibles. </para>
<para>Esto también es cierto para &tdeprint;. Generalmente, con el desarrollo de &CUPS; las nuevas propiedades se implementarán primero a través de la línea de órdenes. Asegúrese 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.</para>
<para>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.</para>
<para>Una lista completa de los archivos y páginas de manual disponibles debería venir con el manual del administrador de software de &CUPS; (<ulink url="http://localhost:631/sam.html#FILES">http://localhost:631/sam.html#FILES</ulink>). En el campo de &URL;/dirección de &konqueror; introduzca <userinput>man:/lpadmin</userinput> y <userinput>man:/cupsd.conf</userinput> para encontrar información acerca de las órdenes más importantes y del archivo de configuracón. Como seguramente sepa, &konqueror; puede mostrar páginas de manual de &UNIX;. Desde allí podrá encontrar sugerencias más interesantes y enlaces a otra páginas de manual y de documentación.</para>
<title>Permitiendo o denegando acceso a ciertos usuarios</title>
<para>Al instalar (o modificar) una impresora a través de la línea de órdenes, puede denegar o permitir el uso de esa impresora para ciertos usuarios:</para>
<para>Permitirá el uso de esta impresora (créame: muy estético y muy profesional) sólo para los tres usuarios mencionados y al mismo tiempo denegárselo 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 <errortype>client-error-not-possible</errortype>.</para>
<para>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 <errortype>client-error-not-possible</errortype>.</para>
<para>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.</para>
<para>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 impresos durante un cierto periodo para una impresora.</para>
<para>Las cuotas se pueden establecer con la opción <option>-o</option>, al instalar una impresora con la orden <command>lpadmin</command>, 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;):</para>
<para>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).</para>
<para>Ésto 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 <systemitem class="username">Pedro</systemitem> o <systemitem class="username">root</systemitem>.</para>
<para>Las opciones <option>job-k-limit</option>, <option>job-page-limit</option> y <option>job-quota-period</option> se pueden introducir al configurar una impresora.</para>
<para><option>job-quota-period</option> 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>
<para>El valor predeterminado de 0 para <option>job-quota-period</option> especifica que el límite se aplica a todos los trabajos que se han impreso por un usuario que es todavía conocido por el sistema.</para>
<para>Configura un límite de 1 MB (en total) para cada usuario de la impresora ya existente, <systemitem class="resource">danka_infotec_4850</systemitem>, durante una semana.</para>
<para>Configura un límite de 100 páginas (en total) para cada usuario de la impresora, ya existente, <systemitem class="resource">danka_infotec_4105</systemitem> durante una semana.</para>
<para>Configura un límite combinado de 1 MB (en total) y 100 páginas (en total) para cada usuario de la impresora, ya existente, <systemitem class="resource">danka_infotec_P450</systemitem> durante una semana. El primer límite que se alcance será el que surta efecto.</para>
<title>Instalando una impresora en «bruto»</title>
<para>Hay varios modos diferentes de definir una impresora «en bruto». Una cómoda es utilizar la orden <command>lpadmin</command>. Simplemente no defina un archivo &PPD; para usar con dicha impresora y será una impresora en bruto:</para>
<para>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 <acronym>PCL</acronym>: 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;) «<command>lpadmin</command> sin un &PPD;» es práctico.</para>
<para>No se permite al usuario imprimir sobre cierta impresora o alcanzado su límite de cuota (basada en el tamaño del archivo y/o número de páginas).</para>
<para>El usuario está intentando acceder a un recurso inexistente en el servidor &CUPS;, tal como intentar imprimir un archivo inexistente, o para el no tiene permiso de lectura.</para>
<para>Para poder reiniciar sus trabajos «completados» desde el interfaz de la web, necesita una opción en el archivo <filename>/etc/cups/cupsd.conf</filename>: configúrelo como <userinput>PreserveJobFiles True</userinput>.</para>
<para>&CUPS; realiza la «contabilización de la impresión» pasando casi todos los trabajos a través del filtro «pstops». Este filtro, entre otros, cuenta 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;).</para>
<para>En cualquier caso, este funciona igual para impresoras en red, en el puerto paralelo, serie o <acronym>USB</acronym>. Para que pstops funcione, necesita <acronym>DSC</acronym>, &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 nombre, impresora, número de páginas del documento, tamaño en kB), en <filename>/var/log/cups/page_log</filename>.</para>
<para>Por cierto, en mi «lista de deseos» personal hay un arreglo para que «webalizer» lea y analice el registro de páginas y genere una salida similar. ¿alguien se anima?</para>
<para>Sin embargo, <emphasis>no</emphasis> da resultados correctos en los siguientes casos:</para>
<para>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).</para>
<para>Por tanto el recuento en &CUPS; «sólo» es aproximada (en muchos casos excelente, o buena y en otros pobre). El única recuento 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 <acronym>SNMP</acronym> (Simple Network Management Protocol). Esto significa, en una red mayor con muchas impresoras diferentes, que no <emphasis>hay</emphasis> una herramienta fiable y exacta de contar páginas.</para>
<para>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 cuenta «1» página.</para>
<para>Consulte la página de man de la orden <command>lpoptions</command>. 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>
<para>Para solicitar una opción de impresora introduzca <userinput><command>lpoptions</command> <option>-p</option> <parameter>HitachiDDP70MicroPress</parameter> <option>-l</option></userinput> 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 <systemitem class="systemname">Transmeta</systemitem> y el demonio &CUPS; así como el demonio del servidor local de &CUPS; necesitan estar funcionando para que esto tenga éxito.</para>
<para>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 <emphasis>usted</emphasis> desea usar alguna opción oscura de impresora en la línea de órdenes? ¿Cómo encontrar la sintáxis exacta?</para>
<para>Usemos un ejemplo. Echemos un vistazo a la impresora Hitachi's DDP70 y veámos cómo implementa la impresión duplex, es revelador. ¿Cómo le puede indicar que imprima en doble cara? ¿duplex o Duplex? ¿O quizá otro nombre?</para>
<para>Utilice la orden <command>lphelp</command> que se puede instalar localmente en su sistema. Todavía no existe una página man para <command>lphelp</command>.</para>
<para>Ésto producirá una lista de las opciones disponibles para la 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 una sola vez:</para>
<para>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 propósito de los nombres: los nombres de las impresoras en &CUPS; no distinguen mayúsculas de minúsculas. De modo que una impresora llamada <systemitem class="resource">Lo_mejor_de_Danka</systemitem> será igual que <systemitem class="resource">lo_mejor_de_danka</systemitem> o <systemitem class="resource">LO_MEJOR_DE_DANKA</systemitem> (este es un requisito de &IPP; que &CUPS; cumple totalmente).</para>
<para>¿Por qué obtengo <errortype>Unable to connect to SAMBA host: Success</errortype> con mi impresora compartida desde &Windows; a la que se accede a través de Samba?</para>
<para>Los archivos que envio a la impresora <systemitem class="resource">lp</systemitem> 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é ocurrió?</para>
<para>Créame, es bastante improbable que su impresora sea la única con el nombre <systemitem class="resource">lp</systemitem>. 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 miembro disponible lo imprime. ¿Qué le parece si deja que ese agradable compañero (que escuchó con atención cuando usted despotricaba de &CUPS; y &tdeprint;) le instale &CUPS; y le deje configurar el sistema?</para>
<para>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).</para>