# Možnosti &CUPS;, ktoré momentálne nie sú dostupné pomocou &kcontrol;

Táto kapitola poskytuje pár rád o dalších možnostiach nastavenia, ktoré nie sú dostupné cez &GUI; &kdeprint; pre &CUPS;.

## Prehľad poskytovaných funkcií

Väčšina často používaných funkcií &CUPS; je podporovaná v &kdeprint;.

- Správa tlačiarní je podporovaná: pridanie, odstránenie, zmena, nastavenie, test, povolenie, zakázanie, ...

- Správa úloh je podporovaná: zrušenie, pozdržanie, uvolnenie, presun na inú tlačiareň

- Tlačové možnosti: plná kontrola poskytovaná &CUPS;.

## Kde hľadať pomoc pri použití &CUPS;

Veľa infomácií o vnútornom fungovaní &CUPS; je dostupná pomocou webového rozhrania, ktoré &CUPS; vždy podporuje. Funguje s každým prehliadačom (aj textovým). Jednoducho prejdite na http://localhost:631. Nájdete tak odkaz na lokálne dostupnú dokumentáciu &CUPS; v HTML a PDF, ak ste nový používateľ &CUPS;.

&CUPS; je dostupný aj iným spôsobom než &kdeprint;: príkazový riadok a prehliadač sú dve základné rozhrania &CUPS;. Veľa nástrojov pre príkazový riadok umožňuje úplné ovládanie &CUPS;. Webové rozhranie je iba podmnožina dostupných možností nastavenia a ovládania.

To platí aj pre &kdeprint;. Všeobecne platí, že ako sa &CUPS; vyvíja, väčšina nových funkcií je naprv dostupná pomocou príkazového riadku. Určite si hned po inštalácii prečítajte manuálové stránky pre &CUPS;, aby ste mali najnovšie informácie.

V závislosti na metóde aktualizácie pre &CUPS; možno nie je váš aktívny konfigračný súbor nahradený novým a preto váš nový démon nevie, že má používať nové funkcie.

Úplný zoznam dostupných súborov a manuálových straánok je vždy v &CUPS; Software Administrator Manual (http://localhost:631/sam.html#FILES. V okne &konqueror; zadajte &URL; `man:/lpadmin` a `man:/cupsd.conf` aby ste spoznali najdôležitejší príkaz a konfiguračný súbor. Prečítajte si tieto manuálové stránky. Nájdete v nich zaujímavé rady a odkazy na iné manuálové stránky a dokumentáciu.

### Ako nájsť manuálové stránky súvisiace s &CUPS;

Toto je spôsob, ako zistiť, ktoré manuálové stránky o &CUPS; máte nainštalované:

    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

## Mimo &kdeprint;: Rady & triky s &CUPS; na príkazovom riadku

Tu je pár príkladov možností, ktoré sú momentálne podporované iba pri použití príkazového riadku.

### Povolenie a zakázanie prístupu k tlačiarni pre niektorých používaľov

Pri inštalácii (alebo zmene) tlačiarne pomocou príkazového riadku môžete povoliť alebo zakázať použitie tlačiarne pre niektorých používateľov:

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

umožní použitie tejto tlačiarne (verte mi: veľmi šikovnej a veľmi profesionálnej) tlačiarne iba trom uvedeným používateľom a zároveň zakázať jej použitie všetkým ostatným. Ak iný používateľ chce tlačiť pomocou serveru &CUPS;, dostane chybovú správu v zmysle 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

zakáže použitie tejto tlačiarne (verte mi: veľmi šikovnej a veľmi profesionálnej) tlačiarne iba trom uvedeným používateľom a zároveň povolí jej použitie všetkým ostatným. Ak chce zakázaný používateľ tlačiť pomocou serveru &CUPS;, dostane chybovú správu v zmysle client-error-not-possible.

Momentálne je povolené použiť iba jednu z týchto možností a neexistuje podobná podpora založená na skupinách. Jej implementácia sa plánuje.

### Zapnutie kvót pre niektoré tlačiarne

Niekedy chcete pre niektoré tlačiarne zaviesť kvóty. S nimi môžete určiť hodnú hranicu stránok alebo dát, ktoré je možné počas danej doby vytlačiť na danej tlačiarni.

Kvóty je možné nastaviť pomocou možnosti `-o` pri inštalácii tlačiarne príkazom `lpadmin` alebo potom už pre existujúcu tlačiareň. Toto je čiastočný návod (ktorý momentálne chýba v oficiálnej dokumentácii &CUPS;):

- S &CUPS; môžete mať kvóty pre jednotlivé tlačiarne založené na počte stránok alebo na veľkosti súborov.

- Kvóty sa počítajú pre každého používateľa (takže jedna skupina obmedzení sa používa pre všetkých používateľov danej tlačiarne).

- Kvóty zahŕňajú aj oddeľovacie stránky (ak sa používajú).

- To znamená: môžete obmedziť každého používateľa na 20 strán za deň pre drahú tlačiareň, ale nemôžete obmedziť každého používateľa okrem Kurta alebo root.

- Pri nastavení tlačiarne je možné zadať možnosti `job-k-limit`, `job-page-limit` a `job-quota-period`.

- `job-quota-period` nastavuje časový interval pre počítanie kvóty (intervaly sú určené v sekundách, takže deň je 60x60x24=86 400, týždeň je 60x60x24x7=604 800 a mesiac je 60x60x24x30=2 592 000 sekúnd.)

- Aby bolo možné kvóty vynútiť, time-period plus aspoň jedno job-limit musia byť nenulové.

- Štandardná hodnota 0 pre `job-k-limit` nastavuje, že nie je žiadne obmedzenie.

- Štandardná hodnota 0 pre `job-page-limit` nastavuje, že nie je žiadne obmedzenie.

- Štandardná hodnota 0 pre `job-quota-period` nastavuje, že obmedzenia sa používajú na všetky úlohy, ktoré vytlačil používateľ ešte známy na tomto systéme.

#### Fungujúce príklady:

Funguje, pretože time-period plus jeden alebo obidva job-limits sú definované

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

Nastavuje obmedzenie veľkosti súboru na 1MB (celkom) pre každého používateľa existujúcej tlačiarne danka_infotec_4850 počas jedného týždňa.

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

Toto nastavuje limit 100 strán (celkom) pre každého používateľa existujúcej tlačiarne danka_infotec_4105 počas jedného týždňa.

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

Toto nastavuje kombinovaný limit 1MB (celkom) a 100 strán (celkom) pre každého používateľa existujúcej tlačiarnedanka_infotec_P450 počas jedného týždňa. Prvý dosiahnutý limit bude použitý.

#### Nefungujúce príklady

Nefunguje, pretože je definovaná iba jedna time-period alebo job-limit.

    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

#### Súvisiace chybové správy

V momente, ked používateľ dosiahne limit, dostane pri pokuse o tlač správu client-error-not-possible.

### Inštalácia tlačiarne raw

Existujú rôzne spôsoby ako definovať tlačiareň raw. Jeden elegantný je použiť príkaz `lpadmin`. Jednoducho nedefinujte súbor &PPD; použitý pre tlačiareň a stane sa typom raw:

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

Tlačiarne raw sú tie, ktoré nemenia tlačený súbor do iného formátu súborov. To budete potrebovať napríklad pri tlači z klientov &Windows; pomocou Samba a server &CUPS; na tlačiareň PCL: v tom prípade už tlačový ovládač &Windows; vygeneruje výsledný tlačový súbor pre cieľovú tlačiareň a filtrovanie cez filtre &CUPS; by mohlo spôsobiť iba problémy. V niektorých prípadoch (ak chcete zaistiť, že súbor bude poslaný na tlačiareň nezmenený systémom &CUPS;) sa príkaz `lpadmin` bez &PPD; hodí.

## Riešenie problémov &CUPS; v &kdeprint;

Táto kapitola bude plnená reakciami používateľov. Toto je iba malý začiatok.

### Chybové hlásenia

Čo znamená chyba client-error-bad-request?

Používateľ poslal súbor do &CUPS;, ktorý server nedokázal spravovať. Túto chybu dostanete aj v prípade prázdneho súboru.

A client-error-not-possible?

Používateľ bud nesmie tlačiť na niektorej tlačiarni alebo dosiahol kvótu (založenú na veľkosti súboru alebo počte stránok)

Čo znamená client-error-not-found?

Používateľ sa pokúsil o prístup k neexistujúcemu zdroju na serveri &CUPS;, napríklad o tlač neexistujúceho súboru alebo ku ktorému nemá práva pre čítanie.

### Otázky a odpovede

Prečo nemôžem reštartovať moje úlohy?

Aby ste mohli reštartovať vaše dokončené úlohy pomocou webového rozhrania, potrebujete nastavenie v súbore `/etc/cups/cupsd.conf`: set `PreserveJobFiles True`.

Ako sa zbavím dlhého zoznamu dokončených úloh pomocou webového rozhrania?

TODO

Ako funguje účtovanie?

&CUPS; podporuje účtovanie tlače predávaním skoro každej úlohy do filtra pstops. Ten okrem iných vecí počíta stránky. Výstup tohto filtra je možné predať do iných filtrov (napríklad pstoraster --> rastertopcl) alebo poslať priamo na tlačiareň (ak je to tlačiareň &PostScript;).

V každom prípade toto funguje pre sieťové, paralelné, sériové alebo USB tlačiarne rovnako. Aby pstops fungoval, potrebuje DSC, Document Structuring Convention kompatibilnú s &PostScript; (alebo skoro rovnakú) ako vstup. Takže počíta stránky počas filtrovania na tlačovom serveri a zapisuje informácie o každej stránke (kedy, kto, ID úlohy, jej meno, tlačiareň, počet kópií jednotlivých strán, veľkosť) do `/var/log/cups/page_log`.

Mimochodom: na mojom osobnom zozname prianí je úprava webalizeru, aby dokázal čítať a analyzovať page_log a poskytoval podobný výstup. Má niekto záujem?

Ale v týchto prípadoch nedáva správne výsledky:

- Tlačiareň zasekla papier a preto zahodila úlohu (reálna skúsenost alebo možno zahodenie úlohy kvôli chybe formátu dát)

- Úlohy vytlačené raw sú vždy počítané ako 1 stránka (a možno aj vo viacerých kópiách).

Preto je účtovanie v &CUPS; iba približné (často presné alebo skoro presné, inokedy nepoužiteľné). Jediný spoľahlivý spôsob účtovania je interné počítadlo v tlačiarni. (Pretože podľa neho budete platiť). Niektoré tlačiarne, ale nie väčšina, dokáže túto informáciu dodať vzdialene pomocou SNMP (Simple Network Management Protocol). To znamená, že vo veľkej sieti nie je možné úplne spoľahlivo a presne počítať stránky!

Prečo účtovanie stránok nefunguje s klientami &Windows;?

Z klientov &Windows; sa skoro vždy úlohy posielajú ako raw. Prečo? Ak &CUPS; funguje ako tlačový server pre klientov &Windows; pomocou pôvodných ovládačov &Windows; pre cieľovú tlačiareň, určite to zaručí správne formátovanie úloh na klientovi a preto by server nemal nič nemiť a tlačiť raw. Preto sa nespustí žiadne filtrovanie (a to nie je možné ak vstup od klientov nie je &PostScript;, ako pstops očakáva). Preto sa vždy spočíta štandardný počet strán: 1.

Ako získam zoznam dostupných možností pre danú tlačiareň alebo súbor &PPD;?

Prečítajte si manuálové stránky pre `lpoptions`. Môžete sa snažiť získať informácie z počítača podporujúceho &CUPS; o dostupných tlačiarňach. Nemusia byť nainštalované lokálne. Ak je tlačiareň dostupná lokálne (pomocou funkcie &CUPS; prehliadanie tlačiarne), bude fungovať aj vzdialene.

Získanie možní tlačiarní príkazom ping ``lpoptions` `-p` `HitachiDDP70MicroPress` `-l`` zobrazí dlhý zoznam dostupných možností, ktoré sú prečítané zo súboru &PPD; the pre danú tlačiareň Hitachi-Printer (v mojom prípade nainštalovaná na vzialenom serveri transmeta). Vzdialený server Transmeta a jeho démon &CUPS; spolu s lokálnym démonom &CUPS; musí bežať, aby to fungovalo.

Ako mám čítať zoznam získaný príkazom `lpoptions`?

Výrobci tlačiarní &PostScript; môžu legálne definovať svoje vlastné interné mená a procedúry aj pre štandardné možnosti &PostScript;. Kým je ovládač schopný získať možnosť z &PPD; a zobraziť ju používateľovi tak, aby ju pochopil, je všetko v poriadku. Ale čo budete robiť, ak chcete použiť nejakú divnú možnosť tlačiarne z príkazového riadku? Ako nájdete jeho presnú syntax?

Uvedme si príklad: Pozrime sa na tlačiareň Hitachi DDP70 a ako implementuje obojstrannú tlač. Ako sa má povedať, že sa má tlačiť obojstranne? duplex alebo Duplex? Alebo úplne iné meno?

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

To vygeneruje ako výstup

    TR-Duplex/Duplex: False *True

To je interpretované ako:

- Meno skúmanej možnosti je `TR-Duplex`.

- Za lomítkom je preklad možnosti ako by bola zobrazená v &GUI; alebo vo webovom rozhraní (Duplex).

- Možnosť môže mať jednu alebo dve hodnoty `False` alebo `True`.

- Aktuálne nastavenie je `True`, pretože je označená hviezdičkou `*`.

Pre predefinovanie štandardného nastavenia (duplex) a tlač iba jednostrannú musíte použiť tento príkaz:

    lpr -P Hitachi_DDP70_ClusterPrintingSystem -o TR-Duplex=False /cesta/k/ulohe

Ako získam sformátovaný zoznam dostupných možností pre danú tlačiareň alebo &PPD;?

Použite príkaz `lphelp`, ktorý by mal byť lokálne nainštalovaný na vašom systéme. Zatiaľ pre tento príkaz neexistuje manuálová stránka.

    lphelp infotecP450

Toto vypíše dostupné možnosti pre danú tlačiareň. Sú pekne sformátované a vysvetľujú každú dostupnú voľbu a ako ju použiť. Môžete sa pýtať naraz na rôzne tlačiarne:

    lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550

Funguje to aj pre súbory &PPD;. Jednoducho zadajte cestu k &PPD;:

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

### Riešenie problémov

Žiadny systém nie je perfektný. Tu sú niektoré často zisťované obmedzenia, na ktoré narážajú používatelia.

Moja tlačiareň 3-lp-duplex sa chová divne. V čom je chyba?

Mená tlačiarní v &CUPS; by mali začínať písmenom a môžu obsahovať až 128 písmen, číslic alebo podtržítiek. Použitie - môže spôsobiť problémy. Ešte k menám: mená tlačiarní &CUPS; nerozlišujú veľkosť písmen. Takže tlačiareň Best_of_Danka je rovnaká ako best_of_danka alebo BEST_OF_DANKA. (To je požiadavka &IPP;, ktorý &CUPS; úplne podporuje).

Prečo vždy dostanem chybu Unable to connect to SAMBA host: Success s mojou tlačiarňou z &Windows; s prístupom pomocou Samba?

Máte všetky práva na vzdialenom počítači &Windows; nastavené správne? Máte právo tlačiť na zdieľanej &Windows; tlačiarni?

Moje súbory pre tlačiareň lp niekedy divne zmizne a o dva dni mi povedali, že sa na cudzej tlačiarni objavili moje úlohy. Čo sa deje?

Verte mi, je veľmi nepravdepodobné, že sa vaša tlačiareň volá iba lp. Možno s vami &CUPS; hrá nečistú hru. Možno ste zapli nastavenie ImplicitClasses On a &CUPS; sa snaží natlačiť všetky tlačiarne, ktoré nájde v sieti do triedy nazvanej lp. Všetky úlohy pre lp sa pošlú na túto triedu a prvá dostupná tlačiareň ich vytlačí. Takže ak máte známeho (ktorý pozorne počúval ked ste hovorili o &CUPS; a &kdeprint;) a hrabal sa v systéme...je to jasné?

Rada: vyberte unikátne meno pre sieťovú tlačiareň. (Uvedomte si, že jeden z vašich paralelných portov sa pre svet môže stať tlačiarňou, ak si nedáte pozor).