Na prvním obrázku je obecná konfigurace pro tisk. Client pošle požadavek na tisk serveru, ten požadavek přijme a vytiskne poslaná data na tiskárně.
![]() |
Obecná konfigurace |
Na druhém obrázku je server implementován v tiskárně.
![]() |
Síťová tiskárna |
Na posledním obrázku je znázorněna situace, kterou budete pravděpodobně používat. Client i server běží na stejném počítači. V tomto případě nemusí být počítač zapojen do sítě.
![]() |
Typický desktop |
Pro přenos dat mezi klientem a serverem se používá jednotný formát dat. V UNIXovém světě se nejvíce využívá jazyku tiskáren - Postscriptu. (Ale kdo chce, může data posílat v libovolném formátu.) Klient tak nemusí znát parametry tiskárny, stačí, když umí převádět svá data do Postscriptu. Podobně server zase nemusí znát všechny možné uživatelské formáty dat, stačí, když umí vytisknout Postscript.
Dalšími výhodami Postscriptu je otevřená specifikace a nezávislost na
výstupním zařízení. A v neposlední řadě i existence open source
interpretu, který se nazývá Ghostscript
http://www.ghostscript.com/.
Tiskárny můžeme z hlediska použitelnosti dělit na:
Ghostscript
umí vygenerovat
výstup pro tyto tiskárny, někdy má omezené možnostihpijs
do Ghostscriptu, využívá všech možností HP tiskárenPokud si nejste jisti, tak nejlepší informace naleznete na http://www.linuxprinting.org
V Linuxu lze na tiskárnu přistupovat přes tyto zařízení:
/dev/lp0
/dev/usb/lp0
/dev/ttyS0
Stručný popis, jak server pracuje.
/var/spool/lpd/jmeno_tiskarny
Nejstarší a dosud požívanou implementací pro tisk je lpr
. Lze
o něm říci:
Základním souborem popisujícím konfiguraci tiskových programů je
/etc/printcap
. Je v něm obsažena definice front. K jedné
tiskárně může být více front (např. s různými filtry); ke každé tiskárně
musí být aspoň jedna fronta. Tento soubor server (lpd
) a dále
ho používá i program lpc
(správa front za běhu serveru).
Lze definovat i fronty pro tiskárny síťové, nebo virtuální (např. poslat soubor pryč přes Sambu nebo třeba e-mailem.
Základní informace lze nalézt v man 5 printcap
.
printcap
- ukázkaKaždá fronta má definici na jedné řádce. Z estetických důvodů lze definici rozdělit na více řádků. Znak '\' na konci řádku znamená, že definice pokračuje na dalším řádku. V definici jednotlivé položku oddělují znaky ':'. První položka se skládá z jednoho nebo více jmen (oddělených '|') fronty. Ostatní položky mají tvar promenna=hodnota, nebo pouze promenna pro nastavení příznaku či promenna@ pro vynulování příznaku. Dafaultní tiskárna je tiskárna, která je první definovaná.
#Lokalni tiskarna lp|ps|laserps|default :lp=/dev/lp0:mx=0:sh #Lokalni tiskarna s filtrem pcl|laserpcl :lp=/dev/lp0:mx=0:sh \ :if=/usr/local/bin/ljet6mp #Vzdalena tiskarna na IP 147.32.135.218 minolta:\ lp=:rm=147.32.135.218:rp=lp:\ mx=0:sh@
Druhá definice obsahuje i filtr /usr/local/bin/ljet6mp
. Je to
normální spustitelný soubor (i script).
Ke snadnější konfiguraci (vytváření /etc/printcap
) lze použít řadu programů. Např.:
Klient posílá na server soubory pomocí programu lpr
. Základní
syntaxe příkazu vypadá lpr [-Pfronta] soubor
...
. Např. poslání jednoho souboru se provede lpr
soubor.ps
, dva soubory na tiskárnu laserpcl
se pošlou
lpr -Plaserpcl soubor1.ps soubor2.ps
.
Stav úloh ve frontě lze zjistit příkazem lpq [-Pfronta]
.
Úlohy se z fronty smažou pomocí lprm [-Pfronta] cislo_ulohy|-
,
kde cislo_ulohy
je číslo úlohy ve frontě. Lze ho zjistit
pomocí příkazu lpq
. Použije-li se místo čísla úlohy pomlčka,
tak se smažou všechnu úlohy patřící uživateli, např. lprm -Plaserpcl
-
.
LPRNG je rozšířený LPR, především s důrazem na bezpečnost. Konfigurace obsahuje velmi (opravdu velmi) mnoho voleb, což může být matoucí. Ovšem stačí i syntaxe jako v LPR. Roste na http://lprng.org/