# Les opcions de &CUPS; presents i no disponibles a través de &kcontrol;

Aquest capítol us ofereix algunes consells sobre opcions de configuració que poden no estar disponibles en &kdeprint; des de la interfície gràfica per a &CUPS;.

## Resum de les característiques proveïdes

Gairebé totes les característiques i funcions més usades proveïdes per &CUPS; estan suportades en &kdeprint;.

- La gestió de la impressió està suportada: afegir, eliminar, modificar, configurar, provar, deshabilitar, habilitar...

- La gestió de treballs està suportada: cancel·lar, mantenir, deixar, moure a una impressora diferent.

- Opcions de la impressió: per a un control total tal i com el proveeix &CUPS;.

## A on trobar ajuda per a usar &CUPS;

Molta informació sobre el funcionament intern de &CUPS; està disponible a través de la interfície web, la qual sempre suportarà &CUPS;. Funciona amb qualsevol navegador (sí, fins i tot amb els de tan sols text). Per a començar simplement aneu a http://localhost:631/. On si sou nou en &CUPS; trobareu un enllaç per a la documentació disponible en format HTML i PDF.

&CUPS; és accessible a través de d'altres medis diferents que &kdeprint;: la línia de comandaments i el navegador són dues interfícies natives de &CUPS;. Les moltes utilitats de la línia de comandaments agrupades aconsegueixen el major control possible sobre &CUPS;. La interfície web tan sols és un subconjunt de totes les opcions de configuració o control disponibles.

Això també és cert per a &kdeprint;. Generalment, amb el desenvolupament de &CUPS; les noves característiques s'implementen primer a través de la línia de comandaments. Assegureu-vos de comprovar les últimes versions de les pàgines man per a &CUPS; per a mantenir-vos actualitzat amb les noves característiques després d'instal·lar una nova versió.

Depenent del vostre mètode d'actualització per a &CUPS;, el vostre fitxer de configuració actiu podria no ser substituït per un de nou, de manera que el nou i més potent dimoni de &CUPS; podria no conèixer les noves característiques per que està llegint el fitxer de configuració antic.

Una llista completa dels fitxers i pàgines man disponibles hauria de venir junt amb el &CUPS; Software Administrator Manual (http://localhost:631/sam.html#FILES). En el camp &URL;/localització de &konqueror; introduïu `man:/lpadmin` i `man:/cupsd.conf` per a trobar informació quant als comandaments més importants i el fitxer de configuració. Com segurament ja sabeu, &konqueror; pot mostrar pàgines man de &UNIX;. Des d'on podeu trobar consells més interessants i enllaços a altres pàgines man i de documentació.

### Com trobar pàgines man relacionades amb &CUPS;

Aquí hi ha una manera de trobar quines pàgines man relacionades amb &CUPS; hi ha en el vostre sistema:

    kurt@transmeta:~
    > apropos cups

    cups-calibrate (8)- ESP Printer Calibration Tool
    lpstat (1)        - print cups status information
    cups-lpd (8)      - receive print jobs + report printer status to lpd clients
    classes.conf (5)  - class configuration file for cups
    backend (1)       - cups backend transmission interfaces
    filter (1)        - cups file conversion filter interfaces
    cups-polld (8)    - cups printer polling daemon
    mime.types (5)    - mime type description file for cups
    cupsd (8)         - common unix printing system daemon
    lpadmin (8)       - configure cups printers and classes
    cupsd.conf (5)    - server configuration file for cups
    mime.convs (5)    - mime type conversion file for cups
    printers.conf (5) - printer configuration file for cups
    mime.convs (5)    - mime type conversion file for cups
    cups-polld (8)    - cups printer polling daemon
    lpstat (1)        - print cups status information
    backend (1)       - cups backend transmission interfaces
    mime.types (5)    - mime type description file for cups
    cupsd (8)         - common unix printing system daemon
    lpadmin (8)       - configure cups printers and classes
    printers.conf (5) - printer configuration file for cups
    cupsd.conf (5)    - server configuration file for cups
    filter (1)        - cups file conversion filter interfaces

## Fora de &kdeprint;: Consells i trucs amb &CUPS; en la línia de comandaments

Aquí hi ha una sèrie d'exemples d'opcions que tan sols estan disponibles si useu la línia de comandaments.

### Permetre o denegar l'accés per a certs usuaris

En instal·lar (o modificar) una impressora a través de la línia de comandaments, podeu denegar o permetre l'ús d'aquesta per a certs usuaris:

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

Permetrà l'ús d'aquesta impressora (creieu-me: molt estètic i molt professional) tan sols per als tres usuaris mencionats i al mateix temps denegar-li a la resta. Si una altra usuari vol imprimir sobre el DigiMaster a través del servidor &CUPS;, rebrà un missatge d'error junt amb les línies 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à l'ús d'aquesta impressora als tres usuaris mencionats i al mateix temps li ho permetrà a la resta. Si l'usuari denegat vol imprimir sobre el DigiMaster a través del servidor &CUPS;, rebrà un missatge d'error junt amb les línies client-error-not-possible.

Tan sols es pot usar una de les dues opcions, en aquest moment no hi ha suport per a disposar d'una opció similar basada en grups. S'implementarà en el futur.

### Imposar quotes per a certes impressores

Algunes vegades desitgeu imposar quotes per a certes impressores. Amb quotes podeu establir límits superiors per al nombre de pàgines o la quantitat de dades a ser impreses durant un cert període per a una certa impressora.

Les quotes es poden establir amb l'opció `-o` en instal·lar una impressora amb el comandament `lpadmin`, o després per a una impressora ja existent. A continuació hi ha una petita guia (la qual falta en el moment d'escriure en la documentació oficial de &CUPS;):

- Amb &CUPS; podeu tenir quotes basades en el nombre de pàgines -i en la mida dels fitxers- per a cada impressora de forma individual.

- Les quotes es calculen per a cada usuari individualment (de manera que un conjunt de límits s'aplicarà a tots els usuaris per a la impressora en qüestió).

- Les quotes inclouen pàgines d'anunci (si s'usen).

- Això vol dir: Que podeu limitar cada usuari a 20 pàgines per dia en una impressora cara, però no podeu limitar tots els usuaris excepte `Kurt` o `root`.

- Les opcions `job-k-limit`, `job-page-limit` i `job-quota-period` es poden indicar quan es configura una impressora.

- `job-quota-period` estableix un interval de temps per al càlcul de quotes (els intervals es determinen en segons, de manera que un dia és 60x60x24=86.400, una setmana 60x60x24x7=604.800 i un mes 60x60x24x30=2.592.000 segons).

- Per a forçar quotes, el període de temps i al menys un límit de treball hauran d'estar establerts a diferent de cero.

- El valor per omissió de 0 per a `job-k-limit` especifica que no hi ha límit.

- El valor per omissió de 0 per a `job-page-limit` especifica que no hi ha límit.

- El valor per omissió de 0 per a `job-quota-period` especifica que el límit s'aplica a tots els treballs que ha imprès un usuari que encara és conegut al sistema.

#### Exemples que funcionen:

Es defineixen exemples que funcionen amb límits de període de temps i un o dos límits de treballs de la impressió.

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

Això estableix un límit de 1 MB (en total) per a cada usuari de la impressora existent, `danka_infotec_4850`, durant una setmana.

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

Això estableix un límit de 100 pàgines (en total) per a cada usuari de la impressora existent, `danka_infotec_4105` durant una setmana.

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

Això estableix un límit combinat de 1 MB (en total) i 100 pàgines (en total) per a cada usuari de la impressora existent, `danka_infotec_P450` durant una setmana. El primer límit en abastar serà el que tingui efecte.

#### Exemples que no funcionen

NO funcionen, com a només un, si està definit el període de temps o el límit de treball.

    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

#### Missatges d'error relacionats

Una vegada un usuari abasta el seu límit de quota, rebrà un missatge client-error-not-possible, si el voleu imprimir.

### Instal·lar una impressora en brut

Hi ha diferents maneres de definir una impressora en brut. Una còmoda és usar el comandament `lpadmin`. Simplement no definiu un fitxer &PPD; a usar amb dita impressora i serà una impressora en brut:

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

Les impressores en brut són aquelles que no modifiquen el fitxer de la impressió per a transformar-lo en un format de fitxer diferent. Ho necessitareu per exemple en imprimir des de clients &Windows; a través de Samba usant un servidor &CUPS; per a una impressora PCL: En aquest cas el controlador de la impressora de &Windows; generaria el format final de la impressora per a la impressora de destí i filtrar-lo usant els filtres de &CUPS; tan sols faria malbé el fitxer. Sota certes circumstancies (si us voleu assegurar de que el fitxer arriba a la impressora sense ser filtrat per &CUPS;) el comandament `lpadmin` sense un &PPD; és pràctic.

## Solucionar problemes de &CUPS; en &kdeprint;

Aquesta secció del manual de &kdeprint; dependrà dels comentaris dels lectors. Aquí s'ofereix un petit començament.

### Missatges d'error

Què vol dir l'error client-error-bad-request?

L'usuari a enviat un fitxer a &CUPS; que el servidor no ha pogut processar. Aquest missatge també s'obté enviant un fitxer buit.

I client-error-not-possible?

No es permet a l'usuari imprimir sobre certa impressora o aquest ha abastat el seu límit de quota (basada en la mida del fitxer i/o número de pàgines).

I client-error-not-found?

L'usuari està intentant accedir a un recurs inexistent en el servidor &CUPS;, com intentar imprimir un fitxer inexistent, o per al no disposa de permès de lectura.

### Preguntes i respostes

Com puc reiniciar els meus treballs?

Per a poder reiniciar els vostres treballs completats des de la interfície web, necessiteu una opció en el fitxer `/etc/cups/cupsd.conf`: establiu-hi `PreserveJobFiles True`.

Com em desfaig de la llarga llista de treballs completats en la interfície web?

TODO

Com funciona el recompte de les pàgines?

&CUPS; realitza la comptabilització de la impressió passant gairebé tots els treballs a través del filtre pstops. Aquest filtre, entre d'altres coses, compta les pàgines. La sortida d'aquest filtre es pot dirigir mitjançant canonada cap a d'altres filtres (com pstoraster --> rastertopcl) o enviar-lo directament cap a la impressora (si aquesta és una impressora &PostScript;).

En qualsevol cas, aquest funciona igual per a impressores en xarxa, en els ports; paral·lel, sèrie o USB. Per a que pstops funcioni, necessita DSC, &PostScript; (o gairebé equivalent) conforme al Document Structuring Convention (Convenció estructurada de documents) com a entrada. De manera que calcula les pàgines durant el filtratge al servidor de la impressió i escriu informació quant a cada pàgina (hora, usuari, ID i nom del treball, impressora, nombre de pàgines del document, mida en kB), en `/var/log/cups/page_log`.

Per cert: Tinc una petició en la meva llista de desitjos per a que webalizer llegeixi i analitzi el registre de pàgines i generi una sortida similar. Algú s'anima?

De tota manera, no dona resultats correctes en els següents casos:

- La impressora s'embussa i potser expulsa el treball (experiència real, o potser expulsa el treball degut a problemes amb el format de les dades).

- Els treballs imprimits en brut sempre es compten com a si la seva mida fora d'1 pàgina (i potser múltiples còpies).

De manera que el recompte en &CUPS; tan sols és aproximat (en molts casos excel·lent o almenys bo, en d'altres una mica pobre). L'únic recompte fiable és el que fa internament la impressora (perquè és l'únic pel que pagueu). Algunes impressores, però poques, ofereixen dita informació usant SNMP (Simple Network Management Protocol). El qual vol dir, en una gran xarxa amb moltes impressores diferents és just que una eina de comptar pàgines no sigui fiable ni exacta!

Perquè no funciona el recompte de pàgines amb clients &Windows;?

Des dels client &Windows; els treballs s'han d'enviar en la majoria de els casos en brut. Perquè? Si &CUPS; funciona com a servidor de la impressió per a clientes &Windows; usant el controlador natiu de &Windows; per al dispositiu de destí, això garanteix el format correcte del treball en els clients, per tant, el servidor no ha de modificar-lo i imprimir en brut i el filtratge no s'inicia (i això no és possible ja que l'entrada des dels clients no és &PostScript; tal i com espera pstops, de manera que tan sols compta 1 pàgina.

Com obtinc una llista de les opcions disponibles per a una impressora o un fitxer &PPD;?

Consulteu la pàgina man del comandament `lpoptions`. Podeu investigar en una caixa d'habilitació de &CUPS; quant a qualsevol opció de les impressores disponibles. No és necessari que la impressora estigui instal·lada localment. Mentre la impressora està disponible localment (a través de la característica de &CUPS; navegació d'impressores), també funcionarà en remot.

Per a demanar una opció de la impressora entreu ``lpoptions` `-p` `HitachiDDP70MicroPress` `-l`` us oferirà un llarg llistat de les opcions disponibles tal i com s'obtenen des d'un fitxer &PPD; per a una impressora Hitachi-Printer (en el meu cas instal·lada en el servidor remot transmeta). El servidor remot `Transmeta` i el dimoni &CUPS; així com el dimoni del servidor local de &CUPS; necessiten estar funcionant per a que això tingui èxit.

Com llegeixo el llistat recuperat pel comandament `lpoptions`?

Coneixeu que per als fabricants d'impressores &PostScript; és legal definir els seus propis noms i procediments interns fins i tot per a opcions estàndard de &PostScript;. Està bé mentre el controlador sigui capaç de recuperar l'opció de &PPD; i mostrar-la a l'usuari en un mode comprensible. Però, què fer si voleu usar algunes opcions obscures de la impressora en la línia de comandaments? Com trobar la sintaxis exacta?

Usem un exemple. Done'm una ullada a la impressora Hitachi DDP70 i veurem com implementa la impressió dúplex, és revelador. Com li podeu indicar que imprimeixi en doble cara? dúplex o Dúplex? O potser un altra nom?

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

Això genera la següent sortida:

    TR-Duplex/Dúplex: False *True

Que s'ha d'interpretar de la següent manera:

- El nom de l'opció investigada és `TR-Duplex`;

- Conjuntament a l'script podeu veure la traducció de l'opció, tal i com hauria de ser mostrada en una &GUI; o web (Dúplex).

- L'opció pot prendre un dels dos valors `False` (fals) o `True` (verdader).

- L'opció actual es `True` tal i com es pot reconèixer per la marca amb un asterisc `*`.

Per a solapar l'opció actual per omissió (dúplex) i imprimir el treball en una única cara, necessitareu usar el següent comandament:

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

Com obtinc una llista formatada de les opcions disponibles per a una certa impressora o &PPD;?

Useu el comandament `lphelp` el qual es pot instal·lar localment en el vostre sistema. Encara no hi ha una pàgina man per a `lphelp`.

    lphelp infotecP450

Aquest llistarà les opcions disponibles per a la impressora en qüestió. La llista es mostra en un format agradable de llegir i explica totes les opcions disponibles. Podeu demanar les diferents opcions de les impressores d'una sola vegada:

    lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550

També funciona amb fitxers &PPD;. Simplement especifiqueu la ruta cap al &PPD;:

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

### Solucionar problemes

Cap sistema és perfecte. Aquí hi ha alguns problemes en els que la gent cau tot sovint.

La meva impressora anomenada 3-lp-duplex mostra un comportament erràtic. Perquè?

Els noms d'impressora en &CUPS; han de començar per una lletra i poden contenir 128 caràcters, números o guionet baix. L'ús d'scripts pot produir problemes. A propòsit dels noms: Els noms de les impressores en &CUPS; no distingeixen majúscules de minúscules. De manera que una impressora anomenada `El_millor_de_Danka` serà el mateix que `el_millor_de_danka` o `EL_MILLOR_DE_DANKA` (aquest és un requisit de &IPP;, amb el qual &CUPS; compleix totalment).

Perquè obtinc Unable to connect to SAMBA host: Success amb la meva impressora compartida des de &Windows; a la que s'accedeix a través de Samba?

Són correctes els privilegis en la màquina remota &Windows;? Se us permet imprimir en la impressora compartida de &Windows;?

Els fitxers que envio a la impressora `lp` algunes vegades desapareixen misteriosament i dos dies després em diu que s'han imprès en una impressora tres pisos per sobre de la meva oficina. Què està succeint?

Creieu-me, és força improbable que la vostra impressora sigui l'única amb el nom `lp`. Potser &CUPS; us estigui jugant una mala passada. Així com que potser teniu activada l'opció ImplicitClasses On, &CUPS; intenta enviar-lo a totes les impressores de la xarxa en que la Classe sigui lp. Tots els treballs destinats a lp s'envien a aquesta classe i el primer membre disponible l'imprimeix. Què us sembla si deixeu que aquest agradable company (que ha escoltat amb atenció mentre criticàveu &CUPS; i &kdeprint;) us instal·li &CUPS; i us deixeu configurar el sistema?

Seguiu el meu consell: Escolliu un nom únic d'impressora per a qualsevol impressora de xarxa! (Recordeu que fins i tot la impressora en el vostre port paral·lel pot ser una impressora de xarxa accessible a tothom si no teniu cura amb les vostres opcions de configuració).