Popíšu, jak jsem si nakonfiguroval tiskový subsystém.

Volba tiskového subsystému

Zvolil jsem rozšírenou verzi Berkeley LPR software (the standards UNIX printer spooler) lprng. Vycházím z distribuce Debian Sarge.

Lokální konfigurace

Po instalaci tiskového subsystému jsem nakonfiguroval a vyzkoušel tisk lokálně. Je dobré ověřit, že tiskárna je připojená k počítači, zapojená do zapnuté zásuvky a že funguje komunikační rozhraní (paralelní port, USB).

Konfigurace je uložena v souboru /etc/lprng/printcap. Soubor má svou manuálovou stránku.

Všem tiskárnám je třeba nastavit umístění adresářové struktury fronty. Lze to řešit šablonou:

.common:
  :sd=/var/spool/lpd/%P
  :force_localhost

Volba :sd nastavuje šablonu pro umístění adresářové struktury fronty. Významu volby :force_localhost nerozumím. Manuál říká:

Budu moc rád, pokud zde někdo uvede vysvětlení. Já tomu rozumím tak, že mé lokální programy (lpr, lpc, ...) se budou spojovat pouze na lokální tiskový server. Smysl mi uniká.

Tiskárnu LaserJet 6L jsem zadal takto:

LaserJet:
  :tc=.common
  :lp=/dev/lp0
  :filter=/usr/bin/gs -dSAFER -dBATCH -dQUIET -dNOPAUSE -q -sDEVICE=ljet4 -sOutputFile=- -sPAPERSIZE=a4 - 2> /tmp/gs.log

Podobně lze nastavit ostatní tiskárny. Tiskárnu HP 690C jsem provozoval s filtrem:

:filter=/usr/bin/gs -dSAFER -dBATCH -dQUIET -dNOPAUSE -q -sDEVICE=cdj550 -sOutputFile=- -sPAPERSIZE=a4 - 2> /dev/null

Příkaz checkpc -f kontroluje konfiguraci a chystá adresář fronty.

Teď doporučuji vše odladit lokálně.

Sdílení

Nastavení přístupových práv

Přístupová práva k tisku se řídí souborem /etc/lprng/lpd.perms. Soubor má svou manuálovou stránku.

Práva jsem nastavil takto:

DEFAULT REJECT

ACCEPT SERVICE=X REMOTEHOST=feanorr.kolej.mff.cuni.cz
ACCEPT SERVICE=X REMOTEHOST=gabriela.husovka.chrudimsko.czf
ACCEPT SERVICE=X REMOTEHOST=feanor.newtown.chrudimsko.czf
ACCEPT SERVICE=X REMOTEHOST=eowin.husovka.chrudimsko.czf
ACCEPT SERVICE=X REMOTEHOST=vk.husovka.chrudimsko.czf

#P - print
#R - spooling
ACCEPT SERVICE=P,R REMOTEHOST=vk.husovka.chrudimsko.czf PRINTER=LaserJetRAW
ACCEPT SERVICE=P,R NOT REMOTEHOST=vk.husovka.chrudimsko.czf NOT PRINTER=LaserJetRAW
# Allow only the user on the same host who spooled job to remove it
ACCEPT SERVICE=M SAMEUSER SAMEHOST
# Allow users to check status
ACCEPT SERVICE=C LPC=status
#Q - queue information
ACCEPT SERVICE=Q

ACCEPT UNIXSOCKET

Vyjmenovaným počítačům umožňuji vzdálený tisk. Počítač vk smí tisknout pouze na tiskárně LaserJetRAW, ostatní na všech, jen ne na LaserJetRAW.

Zadání tisku

Nastavení tiskárny LaserJet očekává UNIXové zadání úlohy (nevím přesně, jaké to je, PS, snad PDF, možná další, ale ne přímo data pro tiskárnu; kdo ví, nechť laskavě upřesní). Pro tisk z Linuxu je to zcela vyhovující. Tisk na tiskárnu LaserJet na počítači eowin.husovka.chrudimsko.czf lze zadat například programem rlpr z balíčku rlpr:

rlpr --printer=LaserJet@eowin.husovka.chrudimsko.czf f.ps

Tisk z Windows

Překvapivě jsem se setkal s potřebou zajistit tisk z Windows. Dosavadní příprava je výborná výchozí pozice.

Formát tiskové úlohy od Windows

Windows nejsou UNIX a tak není jasné, jak mají komunikovat s tiskovým subsystémem.

LaserJetRAW:
  :sd=/var/spool/lpd/LaserJet
  :tc=.common
  :lp=/dev/lp0

LaserJetRAW sdílí s tiskárnou LaserJet frontu. Tiskne také na totéž zařízení. Vynechal jsem však filtr - tisková úloha byla filtrována ovladačem Windows. Ve Windows bude síťová tiskárna nakonfigurována pro tisk na LaserJetRAW.

Nyní mohu vysvětlit podivné nastavení práv uvedené výše. Práva jsem takto nastavil proto, aby UNIXáři nepřeskakovali ovladač a Windowsáři ovladač nekrmili již filtrovanou úlohou.

Konfigurace Windows

Jelikož se ve Windows moc nevyznám, dávám pouze odkaz na diskuzi. Z diskuze cituji:

V linuxu si přidáte novou LPR tiskárnu, kde zadáte IP adresu serveru a název fronty.
Ve Windows musíte doinstalovat podporu pro UNIX tisk (Přidat součást systému) a při vytváření tiskárny si vytvoříte nový LPR port, kde pak zadáte tytéž údaje.

Podrobnosti k nastavení Windows jsem vyhledal v jejich nápovědě a na Internetu.

crfreenet: SdileniTiskarny (last edited 2009-05-24 18:21:47 by localhost)

[CRFreeNet] [Galerie] [CZFree.Net] [zen#blog]