next previous contents next previous contents kako nastaviti zadeve osnova tradicionalna nastavitev lpd najmanjsa sestava lpd ja naredi sistem ki sprejema datoteke v cakalno vrsto in jih natisne ne ozira se na to ali jih vas tiskalnik sploh razume in vam verjetno ne bo dovoljeval izdelavo privlacnega izhoda vseeno je to prvi korak k razumevanju zato berite naprej ce zelite dodati tiskalnisko cakalno vrsto v lpd morate dodati vnos v datoteko etc printcap in narediti nov cakalni imenik pod var spool lpd vnos v etc printcap izgleda podobno lokalni djet lp dj deskjet \ sd var spool lpd dj \ mx \ lp dev lp \ sh to definira cakalno vrsto imenovano lp dj ali deskjet ki caka v imeniku var spool lpd dj z nobenih omejitev velikosti za posamezno opravilo ki tiska na napravo dev lp in ki nima naslovne strani z imenom osebe ki tiska ipd dodane v ospredje tiskalniskega opravila zdaj preberite stran v referencnem prirocniku za printcap man printcap vse zgornje izgleda zelo preprosto a tukaj je skrit kavelj ce ne posiljate datotek ki jih deskjet lahko razume bo ta deskjet tiskal cudne stvari na primer ce posljete povsem obicajno tekstovno datoteko unixa na tiskalnik deskjet bo ta dobesedno razumel znake za novo vrstico in dobili bomo to je prva vrstica to je druga vrstica to je tretja vrstica in tako naprej tiskanje postscriptne datoteke v to cakalno vrsto nam bo dalo cudovit izpis ukazov postscripta izpisanih s tem stopnicastim efektom`` a nobenega uporabnega izhoda gotovo je potrebno vec dela in to je namen filtriranja tisti med vami ki dobro opazate in ste prebrali referencno stran o printcap ste morda opazili atribute cakalne vrste angl spool attributes if in of no if ali vhodni filter je natanko to kar tukaj potrebujemo ce napisemo majhno ukazno skripto imenovano filter ki doda znake za povratek v vrstici pred znake za konec vrstice bomo s tem odpravilo stopnicavost besedila torej moramo v nas vnos v printcap dodati vrstico z if lp dj deskjet \ sd var spool lpd dj \ mx \ lp dev lp \ if var spool lpd dj filter \ sh preprosta filtrirna skripta filter bi lahko bila perl zgornja vrstica mora v resnici vsebovati polno pot do tolmaca perl ta skripta mora biti izvrsilna chmod filter while stdin chop print \r\n morda boste zeleli koncati z znakom za izmet strani print \f ce naredimo zgornje smo dobili cakalno vrsto ki zna tiskati datoteke z obicajnimi besedili v unixu in dobi smiselne rezultate da obstaja stiri milijone boljsih nacinov da napisemo ta filter a le malo jih je nazornejsih naredite to bolj ucinkovito edina preostala tezava je da tiskanje navadnega teksta pravzaprav ni prevec moderno gotovo bi bilo bolje ce bi lahko tiskali postscript in druge urejene ali graficne tipe izhodov no da bilo bi in to je preprosto storiti metoda je preprosta razsiritev zgornjega filtra za popravo vrstic ce napisete filter ki lahko sprejme poljuben tip datoteke kot vhod in v vsakem primeru naredi izhod cistokrvnega deskjeta potem imate zares bister tiskalniski streznik tak filter se imenuje filter magic ne utrujajte se s pisanjem tega razen ce morate tiskati res cudne zadeve na mrezi obstaja veliko ze napisanih aps filter je med najboljsimi morda pa ima ze vasa distribucija linuxa orodje za nastavitev tiskalniskih reci ki vam vse to olajsa dovoljenja datotek zaradi ljudske zahteve vkljucujem spodaj izpis dovoljenj zanimivih datotek mojega sistema obstaja veliko boljsih nacinov da to storite idealno z uporabo binarnih datotek sgid in ne tako da vse napravite suid root a taksen sistem sem dobil ob nakupu in zame deluje povsem odkrito ce vam vas prodajalec ne more prodati niti delujocega streznika lpd ste v godlji r sr sr x root lp usr bin lpr r sr sr x root lp usr bin lprm rwxr r root root usr sbin lpd r xr sr x root lp usr sbin lpc drwxrwxr x root lp var spool lpd drwxr xr x root lp var spool lpd lp lpd se mora trenutno poganjati kot root da se lahko povezuje z nizko ostevilcenimi vrati opravila lp verjetno mora po povezovanju postati uid lp lp ali nekaj takega a mislim da lenuh ne postane next previous contents