Do nedavna so imeli uporabniki Linuxa preprosto izbiro -- vsi so
uporabljali stari lpd
, prepisan skoraj dobesedno iz kode
Net-2 za sisteme BSD. Tudi dandanes večina prodajalcev prilaga to
programje. A to se začenja spreminjati. Sistemi, podobni SVR4,
skupaj s Sunovim Solarisom, prihajajo s povsem drugačnim tiskalniško
čakalnim (spooling) paketom, osredotočenim na
lpsched
.
Danes so na voljo številni dobri sistemi, med katerimi lahko izbirate.
Opisujem jih spodaj; preberite opise in se odločite. PDQ je
najpreprostejši sodobni sistem z grafičnim vmesnikom; primeren je tako
za osnovno domačo rabo kakor (v hibridni sestavi
pdq
/lprng
) v številnih velikih okoljih. Za poslovno
rabo s pretežno omrežnimi tiskalniki postscript je dobra alternativa
vmesniški program kot GPR z LPRng; izbire PPD obdeluje neposredno in
ima rahlo prijaznejši vmesnik. V drugih primerih je dobra izbira
CUPS; tudi ta ima izvrstno podporo postscriptnim tiskalnikom, IPP,
Ima spletni vmesnik in številne druge odlike.
LPD (angl. Line Printer Daemon), prvotni tiskalniški strežnik iz sistemov BSD Unix, je bil leta in leta standard v Unixu. Na voljo je v vsaki vrsti Unixa in ponuja bolj minimalen nabor lastnosti, izpeljanih iz potreb računalništva deljenih časov (angl. timesharing-era computing). Kljub tej nekam čudni zgodovini je danes še vedno uporaben kot osnovno tiskalniški čakalniški strežnik. Da bi bil zares uporaben s sodobnim tiskalnikom, je treba precej dodatnega dela v obliki spremljajočih filtrirnih skriptov in vmesniških programov. A ti so na voljo in LPD deluje.
LDP je tudi ime omrežnega tiskalniškega protokola, ki ga določa RFC 1179. Ta omrežni protokol govori ne le sam strežnik LPD, temveč pravzaprav katerikoli omrežni tiskalniški strežnik, omrežni tiskalnik in katerikoli program za čakalno tiskanje (angl. print spooler), ki je na voljo; LPD je najmanjši skupni imenovalec omrežnega tiskanja, ki temelji na standardih.
LPRng (glej razdelek LPRng) je dosti boljša izvedba osnovne zasnove LPD od navadne; če morate uporabljati LPD, premislite, ali bi raje uporabljali LPRng. Precej manj vuduja bo treba, da ga prepričate v to, kar bi radi, in kar že je vuduja, je dobro dokumentiran.
Po svetu kroži veliko izvirnih kod LPD. Neka vrsta BSD Unixa je
verjetno uradni lastnik, a vsakdo izvaja spremembe, kakor mu je drago,
in vse te se križajo na neznane načine, tako da je težko natanko reči,
kateri LPD imate. Od že pripravljenih LPD VA Linux ponuja enega z
nekaj drobnimi spremembami, ki naredijo uporabniški vmesnik bolj
fleksibilen. Paket
SourceForge LPD podpira zastavico
-o
v ukazni vrstici; izbire se potem prenesejo filtrom. To
je podobno lastnostim, ki jih ponuja precej tradicionalnih
izdelovalcev Unixa, in podobno (čeprav nezdružljivo) kot makor mehanizem z
izbiro -z
v LPRng.
Če se odločite za LPD, je najbolje, da ga uporabljate prek uporabniškega vmesnika. Kar nekaj jih je, med katerimi lahko izbirate; GPR (glej Tiskalniška orodja z grafičnim uporabniškim vmesnikom) in XPDQ (glej razdelek PDQ) sta morda najboljša. So pa tudi drugi; povejte mi zanje.
PDQ je nedemonski tiskalniški sistem, ki ima vgrajeno in razumno skladnjo za nastavitev gonilnika. To vključuje možnost deklaracij tiskalniških izbir in orodje z grafičnim vmesnikom ali ukazno vrstico, ki mu je moč podati te izbire; uporabniki dobijo prijetno pogovorno okno, v katerem podajo ločljivost, dupleksiranje, vrsto papirja itd. (glej sliko 7).
Slika 6. Glavno okno XPDQ. snapshot-xpdq-main.gif
Poganjanje vseh filtrov kot uporabnik ima številne prednosti: možni varnostni problemi v postscriptu večinoma izginejo, večdatotečna opravila v LaTeXu se lahko učinkovito natisnejo kot datoteke DVI in tako naprej.
To je to, kar zdaj uporabljam; napisal sem datoteke s specifikacijami za svoje tiskalnike in precej jih je vključenih v distribucijo, zato je mnogo primerov, na katerih lahko gradite svoje. Napisal sem tudi nekaj orodij, ki avtomatizirajo izdelavo specifikacij gonilnika, da bi pomagal preostanku med vami.
PDQ ni brez napak: najopazneje je, da obdela celotna opravila, preden jih pošlje tiskalniku. To pomeni, da za velika opravila PDQ preprosto ni praktičen -- lahko se vam stotine megabajtov prepisuje sem ter tja po disku. Še slabše, za počasnejše gonilnike, kot so tisti za boljše brizgalnike, se opravilo ne bo začelo tiskati, dokler ghostscript in gonilnik ne končata obdelovanja. To je lahko še precej minut po oddaji.
Če imate mnogo uporabnikov, mnogo tiskalnikov ali kaj drugega
kompleksnejšega, priporočam, da uporabljate PDQ kot uporabniški
vmesnik za omrežno tiskanje po protokolu LPD (na lokalnem stroju lahko
tiskate prek protokola LPD). V večini teh primerov pa namesto
uporabe tradicionalnega lpd
iz BSD v ozadju priporočam
LPRng.
Slika 7. Okno z izbirami gonilnika v XPDQ: SNAPSHOT-XPDQ-OPTIONS
Nekateri distributerji Linuxa (skupaj s podjetjem Caldera) ponujajo
LPRng, dosti manj zastarelo izvedbo tiskalniškega čakanja. LPRng je
precej lažje upravljati na velikih namestitvah (beri: več kot en
tiskalnik, katerikoli zaporedni tiskalniki ali katerikoli čudni
omrežni tiskalniki ne-lpd) in ima manj strašljivo naključno programsko
osnovo kakor običajni lpd
. Paket LPRng se lahko tudi povsem
upravičeno pohvali, da je varno zasnovan -- ni nobenih binarnih
datotek SUID in podpira avtentifikacijo s PGP ali Kerberos.
LPRng tudi vključuje nekaj primerov nastavitev za pogoste omrežne
tiskalnike, večinoma vrste HP LaserJet, ki vključujejo nekaj možnosti
zaračunavanja. Če želite več podatkov o LPRng, preverite spletno
stran
LPRng Web Page. LPRng uporablja bolj
ali manj enak osnovni filtrirni model kakor lpd
v BSD, zato se
podpora LPD, ki jo ponujam na
svojem spletnem mestu, nanaša tudi na LPRng. To vam lahko pomaga
učinkovito uporabljati proste programske gonilnike za veliko
tiskalnikov.
LPRng se razširja bodisi pod licenco GPL ali pa pod umetniško licenco (angl. Artistic license).
PPR je postscriptno
usmerjen tiskalniški čakalni program, ki vključuje osnovno zmožnost
razčlenjevanja postscripta, iz česar izpelje precej prijetnih
lastnosti. Vključuje dobre zmožnosti obračunavanja opravil, dobro
podporo odjemnikom Appletalk, SMB in LPD ter mnogo boljše upravljanje
napak kakor lpd
. PPR lahko, kot vsak tu omenjeni čakalni
program, kliče ghostscript, da dela tudi z nepostscriptnimi
tiskalniki.
Za PPR sem izvedel šele pred nedavnim; ne poznam nikogar, ki bi ga preskusil. Napisan je bil na Trinity College, kjer ga tudi uporabljajo. Licenca je v slogu BSD; prost za uporabo, a z omembo avtorstva.
Glede na dokumentacijo je nekam eksperimentalen. Zmaličena postscriptna opravila se nočejo tiskati; namesto tega se bodo odbila in uporabnik mora popraviti postscript. To je lahko za nekatera okolja neprimerno, čeprav večina uporabnikov generira postscript z malim številom generatorjev dobro definiranega postscripta, zato verjetno to ne bo prevelik problem.
Zanimiv novinec je CUPS, izvedba internetnega protokola za tiskanje (angl. Internet Printing Protocol, IPP), standard RFC za nadomestilo starega (in pomanjkljivega) protokola LPD, podoben HTTP. Izvedbo sistema CUPS je vodil Michael Sweet iz podjetja Easy Software Products; CUPS se razširja pod GPL.
Končno sem opravil nekaj dela s CUPS in res deluje tako, kot ga oglašujejo. Vključuje vrsto zelo dobrih lastnosti, tudi razumno delo z izbirami spletnega vmesnika in vmesnikov v ukazni vrstici ter filtrirnega sistema, temelječega na MIME, z močno podporo postscriptu. Ker je tako nov, ima še nekaj hroščev in v tem trenutku (različica 1.1) ga je težko priporočati za velike ali varne namestitve. Je pa dobra rešitev za manjše namestitve ali posebej velike namestitve z uporabniki, ki jim zaupamo.
Podobno kakor druge sisteme lahko tudi CUPS uporabljate z večino gonilnikov. Žal je nekam težko prikrojiti poljuben gonilnik za uporabo s CUPS -- vsaj, če želite, da delujejo vse izbire -- zato je najbolje poiskati datoteko PPD in filtrirni skript, da usposobite svoj gonilnik. S sistemom CUPS lahko uporabljate vsaj štiri nabore gonilnikov:
Moj spletno zasnovani sistem CUPS-O-Matic lahko izdeluje primerne
datoteke PPD za rabo s katerimkoli tiskalniškim gonilnikom, katerega
vse podrobnosti so vnesene v zbirko podatkov o tiskanju v Linuxu
(angl. Linux Printing Database). PPD se uporablja skupaj s skriptom
v ozadju, imenovanim cupsomatic
. CUPS-O-Matic uporablja
gonilnike, ki so prosto programje. Trenutno se osredotočam bolj na
pravilnost kot na popolnost, zato je v resnici podprtih le nekaj
gonilnikov. To se bo sčasoma spremenilo.
Projekt za izdelavo gonilnikov za CUPS zbira datoteke PPD, uporabne
bodisi s tiskalniki postscripta ali filtrom v ozadju, imenovanim
ps2gs2raw
. Te datoteke PPD uporabljajo gonilnike, ki so
prosto programje. KUPS je spremljajoči program za prikrojitev.
CUPS lahko neposredno uporablja datoteke PPD za postscriptne tiskalnike, ki jih prilaga izdelovalec. Pogosto so na voljo kot gonilniki za tiskalnik v Windows ali pa jih najdemo na spletni strani izdelovalca. Adobe prav tako razširja datoteke PPD za številne postscriptne tiskalnike.
Podjetje Easy Software Products, Inc. prodaja CUPS v paketu z zbirko lastniških gonilnikov. Čeprav ti niso prosto programje, poganjajo številne pogoste tiskalnike. Paket je nekam drag, če ga merimo po ceni enega podprtega tiskalnika, a vsekakor ima svoje mesto. Ti gonilniki sicer ne slovijo kot zelo dobri, so pa nekako vseobsegajoči in tudi povprečna kakovost tiskanja je boljša kakor obtežilnik za papir.
Program neodvisnega izdelovalca, XPP (glej sliko 4), ponuja zelo prijeten grafični uporabniški vmesnik funkcionalnosti CUPS, skupaj s čudovitim vmesnikom za izbire tiskanja (prikazane na sliki sliki 5). Za podatke o uporabi XPP glej razdelek XPP.
--------------