CUPS logo Common Unix
Printing System
InstallFest 2003 Petr Koloros
 
Wau, co to je?
CUPS je tiskový systém pro UNIX určený jako alternativa k standardnímu lpd. Vzhledem ke svým vlastnostem bývá často volen do distribucí jako Mandrake. Charakterizují ho především široké možnosti při maximálně jednoduchém ovládání. Mezi jeho hlavní charakteristiky patří:
Mezi další výhody patří zejména:
 
.. no a jak to nainstaluju?
Velmi užitečnou stránkou, která popisuje nejen instalaci CUPSu je tato: http://www.linuxprinting.org

Instalaci lze provádět buďto instalováním z balíků:
  1. gs verzi 6.51 či vyšší
  2. cupsys a případně i další cupsys-*
  3. cupsomatic-ppd (popisy ovladačů)
  4. pokud již cups běží, tak ho restartovat
  5. nakonfigurovat CUPS (http://localhost:631)
  6. zkontrolujte, zda není třeba provést bod 7. z následujícího seznamu

Nebo ze zdrojových kódů:
  1. přečtěte si vše potřebné na http://www.linuxprinting.org
  2. nainstalujte si gs s podporou pro váš ovladač (lze použít i plugin do gs, například hpijs)
  3. nainstalujte si CUPS
  4. vygenerujte/stáhněte si příslušný ppd soubor (popisuje konfigurační možnosti ovladače)
  5. stáhněte si foomatic skripty a nainstalujte je
  6. nastavte si CUPS ( http://localhost:631)
  7. pokud jste nezadali instalovat CUPS do /usr/bin, udělejte si symbolické linky do tohoto adresáře pro CUPS varianty lp, lpr, lpstat, ...
 
.. hmm, nějak to nefunguje!
Netiská? No možná je problém v tom, že váš ghostscript (gs) nepodporuje vámi zvolený ovladač. V takovém případě to nejlépe zjistíte takto:

gs -h

Mělo by vám to vypsat seznam podobný tomuto:

Available devices:

x11 x11alpha x11cmyk x11gray2 x11gray4 x11mono bmpmono bmpgray bmpsep1 bmpsep8 bmp16 bmp256 bmp16m bmp32b deskjet djet500 laserjet ljetplus ljet2p ljet3 ljet3d ljet4 ljet4d lj5mono lj5gray cdeskjet cdjcolor cdjmono cdj550 pj pjxl pjxl300 uniprint ijs bj10e bj200 bjc600 bjc800 faxg3 faxg32d faxg4 pcxmono pcxgray pcx16 pcx256 pcx24b pcxcmyk pbm pbmraw pgm pgmraw pgnm pgnmraw pnm pnmraw ppm ppmraw pkm pkmraw pksm pksmraw tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack tiff12nc tiff24nc psmono psgray psrgb bit bitrgb bitcmyk png16m pnggray pngmono png256 png16 jpeg jpeggray pdfwrite pswrite epswrite pxlmono pxlcolor cljet5 cljet5c nullpage

V tomto seznamu byste měli najít svůj ovladač. Pokud tam není, tak zkompilovat znovu gs s touto podporou (pouze experti) či vyzkoušet jiný ovladač.

Zajímavé řešení je použít možnost zásuvných ovladačů do gs, například hpijs, pokud máte tiskárnu od firmy HP. Zde není třeba kompilovat gs, ale pouze nainstalovat příslušný ijs ovladač a gs s ním pak bude umět pracovat.
Další možností je podívat se, co říká sám CUPS. Stačí pozměnit údaj v souboru /etc/cups/cupsd.conf a to konkrétně nastavit parametr:

LogLevel debug

.. a pak se podívat do logu (souboru se záznamy o běhu CUPSu), který bývá často umístěn v adresáři /var/log/cups.
 
.. a co síť?
Stačí provést následující body:
  1. Přidat tiskárnu typu raw (když je to z Windows)
  2. Odkomentovat řádky týkající se raw typu v souborech mime.types a mime.convs (nacházející se v /etc/cups)
  3. Případně nastavit práva pro tiskárnu vložením tohoto bloku na patřičné místo v souboru cupsd.conf (většinou uložen v /etc/cups).

    <Location /printers/raw>
    AuthType None
    Order Deny,Allow
    Deny From All
    Allow From IP stroje, kterému chcete tiskárnu nasdílet
    Allow From 127.0.0.1
    </Location>

Dále je zde možnost omezit tisk uživatelů na tiskárně pomocí příkazu lpadmin. Například:

lpadmin -p tlacka -u allow:pepa,franta

povolí tisk uživatelům pepa a franta na lokální tiskárně tlacka. Pokud chcete povolit tiskárnu vzdáleně tímto způsobem, budete ji muset přidefinovat autentizaci uživatele (čili místo AuthType None tam budete mít například AuthType Basic nebo AuthType Digest a pak ještě třídu pomocí AuthClass. Více v dokumentaci CUPSu nebo souboru cupsd.conf).
 
Chci víc! Řekni mi víc!
Můžeš se podívat na moji installfestovou prezentaci a o zbytku se dozvíš na stránkách:

http://www.cups.org
http://linuxprinting.org

.. a to je vše. Pokud mne chceš kontaktovat, najdeš informace na stránkách installfestu, nebo piš na adresu p.koloros@sh.cvut.cz