prinyat' i tipom vyhoda, kotoryj on mozhet proizvesti. Teper' obsluzhivanie printera mozhet byt' bolee slozhnym v popytke ustanovit' sootvetstvie fajla pol'zova- telya i printera. Esli pryamoe sootvetstvie ne obnaruzhivaetsya, to obrashchayutsya k tablice fil'trov dlya nahozhdeniya fil'tra, preobra- zuyushchego tip fil'tra v tip printera. Imeetsya neskol'ko primerov. Primer 1 Pol'zovatel' Kris vypolnil programmu raboty s krupnofor- matnymi tablicami i sgeneriroval kopiyu fajla tablicy. Teper' Kris hochet pechatat' etot fajl, ispol'zuya obsluzhivanie pechati. Vy raspolagaete v sisteme tol'ko printerom modeli 455 AT&T. K schast'yu prilozhenie, rabotayushchee s tablicami, ponimaet, kak gene- rirovat' vyhod dlya neskol'kih printerov, i Kris znaet, kak zap- rosit' u nee generaciyu fajla dlya AT&T455. Kogda Kris posylaet fajl na pechat', obsluzhivanie pechati stavit ego v ochered' k od- nomu iz printerov; fil'tr ne nuzhen. Primer 2 Pol'zovatel' Marti vypolnil programmu obrabotki slov nroff dlya polucheniya kopii bol'shogo dokumenta. Programma nroff takzhe ponimaet, kak generirovat' vyhod dlya neskol'kih printe- rov, no Marti zabyl i sgeneriroval vyhodnoj tip po umolchaniyu (nazovem -15-51a- etot tip nroff35), kotoryj ne vosproizvoditsya korrektno na AT&T455. Odnako vy predvideli etu situaciyu i dobavili fil'tr 450 v tablicu fil'trov, otmetiv ee, kak prinimayushchuyu standartnyj vyhod nroff (to est' nroff35) i otmetiv ee, kak proizvodyashchuyu vyhod dlya AT&T455 (nazovem ee tip 455). Tak kak vy dobavili printer, kak tip 455, obsluzhivanie pechati raspoznaet, chto on mozhet ispol'zovat' fil'tr 450 dlya preobrazovaniya vyhoda Marti pered pechat'yu. -15-52- Obrabotka special'nyh rezhimov Drugoj vazhnoj funkciej, kotoruyu mogut obespechit' fil'try, yavlyaetsya obrabotka razlichnyh rezhimov pechati, kotorye mogut vstretit'sya. Kazhdyj fil'tr, kotoryj vy dobavlyaete v tablicu fil'trov, mozhet byt' zaregistrirovan, kak obrabatyvayushchij nes- kol'ko aspektov pechati. Oni perechisleny nizhe: Vhodnoj tip Vyhodnoj tip Tip pechati SHag simvola SHag stroki Dlina stranicy SHirina stranicy Stranicy dlya pechati Nabor simvolov Imya formy CHislo kopij Rezhimy Fil'tr ne trebuetsya dlya obrabotki bol'shej chasti etih as- pektov, tol'ko rezhimov. Obsluzhivanie pechati predostavlyaet dlya ostal'nyh obrabotku po umolchaniyu. Odnako mozhet okazat'sya bolee effektivnym obrabatyvat' eti situacii fil'trom, ili zhe fil'tr dolzhen znat' neskol'ko iz etih aspektov, esli on pravil'no vy- polnyaet drugie roli. Fil'tru mozhet ponadobit'sya znat', napri- mer, razmer stranicy i intervaly pechati, esli on sobiraetsya razbivat' stranicy v fajle dlya sootvetstviya pechatnym stranicam. Drugoj primer, nekotorye printery mogut obrabatyvat' neskol'ko kopij bolee effektivno, chem obsluzhivanie pechati, poetomu fil'tr, kontroliruyushchij printer, mozhet ispol'zovat' neskol'ko kopij informacii dlya propuska obrabotki po umolchaniyu obsluzhiva- niem pechati dlya etoj situacii. Pozdnee my uvidim, kak vy mozhete registrirovat' rezhimy pe- chati i drugie aspekty pechati s kazhdym fil'trom. Registraciya sboya printera Takzhe kak preobrazovanie fajla i obrabotka special'nyh re- zhimov pechati - eto specifichnaya dlya printera funkciya, takoj funkciej yavlyaetsya i registraciya sboev printera. Obsluzhivanie printera pytaetsya vypolnit' etu funkciyu i dlya bol'shinstva -15-52a- printerov korrektno registriruet sboj. Odnako ono ogranichivaet- sya proverkoj zavisanij (poterya nositelya ili signala o gotovnos- ti printera) i chrezmernymi zaderzhkami v pechati (to est' poluche- nie upravlyayushchego simvola XOFF dlya otklyucheniya potoka dannyh, kogda net sootvetstviya XON dlya povtornogo vklyucheniya potoka). Obsluzhivanie printera ne mozhet takzhe opredelit' prichinu sboya, poetomu ono ne mozhet soobshchit' chto delat' dal'she. Pravil'no sproektirovannyj fil'tr mozhet obespechit' luchshuyu obrabotku sboev. Nekotorye printery mogut poslat' soobshchenie, opisyvayushchee prichinu oshibki. -15-53- Drugie ukazyvayut sboj sbrosom nositelya ili otklyucheniem po- toka dannyh. Fil'tr mozhet sluzhit', predostavlyaya bol'she informa- cii o sboe i registriruya bol'shuyu chast' iz nih. Drugoe preimushchestvo, kotoroe mozhet dat' fil'tr, sostoit v ozhidanii sbrosa sboya printera i vozobnovlenii pechati. |to poz- volyaet bolee effektivno vypolnyat' pechat' pri vozniknovenii sboya, tak kak zapros pechati, kotoryj byl prervan, ne dolzhen pe- repechatyvat'sya polnost'yu. Tol'ko real'nyj fil'tr, kotoryj ras- poznaet upravlyayushchie posledovatel'nosti, ispol'zuemye printerom, znaet, gde fajl razbivaetsya na stranicy; takim obrazom tol'ko fil'tr znaet, naskol'ko sleduet vozvrashchat'sya v fajle dlya kor- rektnogo restarta. Obsluzhivanie pechati imeet prostoj interfejs, pozvolyayushchij fil'tru poluchat' informaciyu o sboyah i osushchestvlyat' vozmozhnyj restart. Mehanizm preduprezhdenij (smotrite razdel "Preduprezhde- nie o montirovanii formy" pod zagolovkom "Formy" v dannoj gla- ve) obrabatyvaetsya obsluzhivaniem pechati; interfejsnaya program- ma, upravlyayushchaya fil'trom, prinimaet vse soobshcheniya ob oshibkah ot fil'tra i pomeshchaet ih v soobshchenie preduprezhdeniya, kotoroe mozhet byt' poslano vam. Takim obrazom vy vidite opisaniya sboya, koto- rye vyvodit fil'tr. Esli vy ustanavlivaete konfiguraciyu printe- ra tak, chtoby pechat' avtomaticheski vozobnovlyalas' posle sbrosa sboya, to interfejsnaya programma sohranyaet fil'tr v aktivnom sostoyanii tak, chto on mozhet vozobnovit'sya tam, gde byl ostanov- len. Delaet li lyubaya programma horoshij fil'tr? Est' iskushenie ispol'zovat' programmu, takuyu kak troff, nroff ili shozhuyu programmu obrabotki slov, kak fil'tr. Odnako, programmy troff i nroff imeyut sredstva, pozvolyayushchie pol'zovate- lyam ssylat'sya na dopolnitel'nye fajly v ishodnom dokumente, oni nazyvayutsya includes files (vklyuchennye fajly). Spuler LP ne zna- et ob etih fajlah i ne stavit ih v ochered' s ishodnym dokumen- tom. Programma troff ili nroff mozhet zavershit'sya avarijno, tak kak ona ne imeet dostupa k etim dopolnitel'nym fajlam. Drugie programmy mogut imet' shozhie sredstva, ogranichivayushchie ih is- pol'zovanie v kachestve fil'trov. Dalee sleduyut rukovodstva, kotorye mogut pomoch' vam vyb- rat' horoshij fil'tr: - Prover'te vidy fajlov, kotorye pol'zovateli posylayut na pechat', i kotorye dolzhny obrabatyvat'sya fil'trom. Esli oni -15-53a- yavlyayutsya odinochnymi, to est' oni ne ssylayutsya na drugie fajly, nuzhnye fil'tru,to veroyatno fil'tr v poryadke. Pro- ver'te takzhe, ne ozhidaet li fil'tr lyubye drugie fajly, krome teh, kotorye poslany pol'zovatelem na pechat'. - Esli est' ssylki na fajly vnutri fajlov, poslannyh na pechat' ili, esli fil'tru nuzhny fajly, otlichnye ot teh, ko- torye poslany pol'zovatelyam, to fil'tr veroyatno vydast sboj, tak kak on ne mozhet poluchit' dostup k dopolnitel'nym fajlam. My predpolagaem, chto vy ne ispol'zuete programmu kak fil'tr, no chto kazhdyj pol'zovatel' vypolnyaet programmu pered posylkoj fajlov na pechat'. -15-54- Fajly, na kotorye imeetsya ssylka, kotorym vsegda prisvoeny polnye imena puti mogut byt' v poryadke, no tol'ko, esli fil'tr ispol'zuetsya dlya lokal'nyh zaprosov pechati. Pri ispol'zovanii dlya zaprosov, poluchennyh ot udalennoj mashiny dlya pechati na va- shej mashine, fil'tr mozhet vse eshche sboit', esli fajly, na kotorye ssylayutsya, raspolozheny tol'ko na udalennoj mashine.  Opredelenie fil'tra Imeetsya neskol'ko aspektov fil'tra, kotorye vy dolzhny op- redelit' dlya obsluzhivaniya pechati. Oni perechisleny dalee: Vhodnye tipy |to spisok tipov fajla, kotorye fil'tr mozhet ob- rabotat'. Bol'shaya chast' fil'trov mozhet imet' tol'ko odin vhodnoj tip, no obsluzhivanie pechati ne ogranichivaet ih odnim tipom. Nekotorye tipy fajlov mogut byt' dostatochno shozhimi dlya fil'- tra, s kotorym oni svyazany. Vy mozhete ispol'zo- vat' lyubye imena, kotorye vam ponravyatsya, imeya vvidu predel iz 14 bukv, cifr i tire (net pod- cherkivanij). Tak kak obsluzhivanie pechati ispol'- zuet eti imena dlya soglasovaniya fil'tra s tipom fajlov, vy dolzhny byt' posledovatel'ny v sogla- shenii po imenam. Naprimer, esli bolee odnogo fil'tra mozhet prinyat' tot zhe samyj vhodnoj tip, ispol'zujte to zhe imya. |ti imena sleduet ob®- yavit' pol'zovatelyam tak, chtoby oni znali, kak imenovat' ih tip fajla, kogda oni otsylayut fajl na pechat'. Vyhodnye tipy |to spisok tipov fajlov, kotorye fil'tr mozhet proizvodit' kak vyhodnye. Dlya kazhdogo fajla fil'tr proizvodit otdel'nyj vyhodnoj tip, no on mozhet imet' vozmozhnost' menyat' etot tip po zap- rosu. Imena vyhodnyh tipov takzhe ogranicheny 14 bukvami, ciframi i tire. |ti imena dolzhny libo sootvetstvovat' tipam printerov, imeyushchihsya v va- shej sisteme,libo dolzhny sootvetstvovat' vhodnym tipam, obrabatyvaemym drugimi fil'trami. Obslu- zhivanie pechati sobiraet fil'try vmeste v konve- jere obolochki dlya polucheniya novogo fil'tra, esli opredelyaetsya, chto neobhodimy neskol'ko prohodov razlichnymi fil'trami dlya preobrazovaniya fajla. Maloveroyatno, chto vam neobhodim etot -15-54a- uroven' slozhnosti, no obsluzhivanie pechati dopuskaet eto. Popytajtes' najti nabor fil'trov, kotorye berut kak vhodnye tipy vse drugie fajly, kotorye pol'zovateli mogut zahotet' raspechatat' i kotorye preobrazuyut eti fajly pryamo v tipy, kotorye mogut obrabotat' vashi printery. -15-55- Tipy printerov |to spisok tipov printerov, v kotorye fil'tr mo- zhet preobrazovat' fajly. V to vremya, kak dlya bol'shinstva fil'trov etot spisok identichen vy- hodnym tipam, on mozhet byt' razlichnym. Naprimer, u vas mozhet byt' printer, kotoryj imeet otdel'- nyj tip dlya celej inicializacii (smotrite razdel "Printer" pod zagolovkom "Ustanovka printera" v dannoj glave), no kotoryj mozhet raspoznavat' neskol'ko razlichnyh tipov fajlov. V sushchnosti eti printery imeyut vnutrennij fil'tr, preobrazuyushchij razlichnye tipy v odin, s kotorym oni mogut byt' svyazany. Takim obrazom fil'tr mozhet proizvodit' odin iz neskol'kih vyhodnyh tipov, kotorye soot- vetstvuyut "tipam fajla", obrabatyvaemym printe- rom. Fil'tr dolzhen byt' otmechen kak rabotayushchij s tipom printera. V kachestve drugogo printera vy mozhete imet' dve razlichnye modeli printerov, ko- torye perechisleny, kak prinimayushchie odni i te zhe tipy fajlov. Odnako iz-za nebol'shogo razlichiya pri proizvodstve, odin printer otlichaetsya po proizvodimym rezul'tatam. Vy metite printery, kak imeyushchie razlichnye tipy, skazhem A i V, gde V - eto tot, kotoryj otlichaetsya. Vy sozdaete fil'tr, kotoryj prisposablivaet fajly k uchetu otklonenij, proizvodimomu printerami tipa V. Tak kak etot fil'tr neobhodim tol'ko dlya etih tipov printera, vam sleduet perechislit' ego, kak rabo- tayushchij tol'ko dlya printerov tipa V. Dlya bol'shej chasti printerov i fil'trov vy mozhete ostavit' etu chast' opredeleniya fil'tra pustoj. Printery U vas mogut byt' nekotorye printery, kotorye, hotya i imeyut korrektnyj tip dlya fil'tra v drugih sluchayah ne adekvatny dlya vyhoda, kotoryj proiz- vodit fil'tr. Naprimer, vy mozhete zahotet' naz- nachit' odin printer dlya bystroj peredachi; na etot printer posylayutsya tol'ko fajly, kotorye etot printer mozhet obrabatyvat' bez fil'tracii. Drugie printery identichnogo tipa vy naznachaete fajlam, kotorym nuzhna bol'shaya fil'traciya pered pechat'yu. Vy metite fil'tr kak rabotayushchij tol'ko s poslednimi printerami. -15-55a- V bol'shinstve sluchaev fil'tr dolzhen imet' vozmozhnost' raboty so vsemi printerami, kotorye prinimayut vyhod, proizvodimyj fil'trom, poetomu vy mozhete ostavit' etu chast' opredeleniya fil'tra pustoj. Tip fil'tra obsluzhivanie pechati raspoznaet bystrye fil'try i medlennye fil'try. Bystrye fil'try metyatsya fast libo potomu, chto oni imeyut malye nakladnye ras- hody pri podgotovke fajla k pechati, libo -15-56- potomu, chto oni dolzhny imet' dostup k printeru, kogda vypolnyayutsya. Fil'tr, kotoryj dolzhen re- gistrirovat' sboi printera,dolzhen byt' bystrym printerom. Medlennye fil'try yavlyayutsya pryamoj protivopolozhnost'yu. Fil'try, imeyushchie nebol'shie nakladnye rashody na podgotovku fajla i ne imeyu- shchie dostup k printeru, dolzhny metit'sya kak med- lennye. Obsluzhivanie pechati vypolnyaet medlennye fil'try v fone bez privyazki k printeru. |to poz- volyaet peresylat' vpered fajly, trebuyushchie byst- roj fil'tracii (ili bez fil'tracii), printery ne prostaivayut, poka medlennyj fil'tr rabotaet s fajlom, esli pechatayutsya drugie fajly. Komanda |to polnoe imya puti vypolneniya programmy. |to fil'tr. Esli imeyutsya lyubye fiksirovannye vozmozh- nosti, kotorye neobhodimy programme, vy mozhete vklyuchit' ih zdes'. Vozmozhnosti Vozmozhnosti, kotorye nuzhny programme fil'tru, zavisyashchie ot razlichnyh rezhimov i drugih aspektov pechati, kotorye mogut byt' zaregistrirovany dlya fil'tra. |to obsuzhdaetsya podrobnee pozdnee. Posle togo, kak vy sobrali etu informaciyu o fil'tre, vy mozhete ispol'zovat' ee kak vhod dlya ekvivalenta sysadmsh koman- dy lpfilter(ADM). (V etom razdele ne obsuzhdaetsya stroka komandy lpfilter).Vy mozhete zahotet' snachala zaregistrirovat' etu in- formaciyu v vashem sobstvennom fajle dlya oblegcheniya redaktirova- niya informacii pri ee vvode. Dalee vy mozhete peredat' fajl na vvod. Odnako pri ego vvode sleduet predstavit' informaciyu sle- duyushchim obrazom: Input types: input-types-list Output types: output-types-list printer types: printer-type-list Printers: printers-list Filter type: fast or slow Command: command Options: template-list 1 - vhodnye tipy: vhod-tip-spisok; 2 - vyhodnye tipy: vyhod-tip-spisok; 3 - tipy printera: printer-tip-spisok; 4 - printery: printer-spisok; 5 - tip fil'tra: bystryj ili medlennyj; -15-56a- 6 - komanda: prostaya komanda; 7 - vozmozhnosti: shablon-spisok. Informaciya mozhet poyavit'sya v lyubom poryadke. Ne vsya infor- maciya dolzhna privodit'sya. Tablica 15.5 soderzhit znacheniya po umolchaniyu, ispol'zuemye dlya lyuboj propushchennoj informacii. -15-57-  Tablica 15.5 |lementy fil'tra po umolchaniyu |lement Po umolchaniyu ---------------------------------------------- vhodnye tipy lyuboj vyhodnye tipy lyuboj tipy printera lyuboj printery lyuboj tip fil'tra medlennyj komanda (net umolchaniya) vozmozhnosti (net) Kak vy mozhete videt' znacheniya po umolchaniyu opredelyayut ochen' gibkij fil'tr, tak chto vy veroyatno dolzhny obespechit' po krajnej mere vhodnoj i vyhodnoj tip (tipy). Kogda vy vvodite spisok, razdelyajte elementy v spiske probelami ili zapyatymi. SHablony Vsya informaciya ob®yasnena, krome template-list (shablon-spi- sok). Dalee sleduet informaciya o tom, kak registriruyutsya rezhimy i aspekty pechati. SHablon-spisok - eto spisok shablonov, razdelennyh zapyatymi, on imeet sleduyushchij vid:  keyword pattern = replacement keyword (klyuchevoe slovo) dolzhno byt' odnim iz perechislennyh v sleduyushchej tablice. Ono metit shablon, kak registriruyushchij otdel'- nuyu harakteristiku pechati. pattern (obrazec) - eto libo znache- nie harakteristiki, libo zvezdochka (*), kotoraya imeet smysl strukturnogo nulya dlya lyubogo znacheniya. -15-58-  Tablica 15.6 Klyuchevye slova shablona Harakteristika Klyuchevoe slovo Vozmozhnye obrazcy ------------------------------------------- Tip soderzhimogo INPUT ¬1soderzhimoe-tip ¬ 0 (vhod) Tip soderzhimogo OUTPUT ¬1soderzhimoe-tip ¬ 0 (vyhod) Tip printera TERM ¬1printer-tip ¬ 0 SHag simvola CPI ¬1celoe ¬ 0 Dlina stranicy LENGTH ¬1celoe ¬ 0 SHirina stranicy WIDTH celoe Stranicy dlya pechati PAGES stranica-spisok Nabor simvolov CHARSET simvol-nabor Imya formy FORM forma-imya CHislo kopij COPIES celoe Rezhimy MODES rezhim Istochnikom znachenij dlya etih shablonov yavlyayutsya: - znacheniya shablonov INPUT i OUTPUT opredelyayutsya tipom faj- la, kotoryj dolzhen preobrazovyvat'sya fil'trom i vyhodnym tipom, kotoryj dolzhen formirovat'sya sootvetstvenno. Kazhdoe iz nih budet imet' tip, zaregistrirovannyj s fil'trom. - znacheniem shablona TERM yavlyaetsya tip printera. - znacheniya dlya shablonov CPI, LPI, LEHGTH i WIDTH opredelya- yutsya zaprosom pol'zovatelya, ispol'zuemoj formoj ili znache- niyami po umolchaniyu dlya printera. - znacheniem dlya shablona PAGES yavlyaetsya spisok stranic, ko- torye dolzhny pechatat'sya. Obychno - eto spisok diapazonov stranic, libo para chisel, libo otdel'noe chislo, kazhdyj di- apazon razdelyaetsya zapyatoj (naprimer 1-5, 6, 7 i 8). Odna- ko znachenie, zadannoe v vozmozhnosti -R dlya pechati zaprosa peredaetsya neizmennym. - znachenie shablona CHARSET - eto imya ispol'zuemogo nabora simvolov. - znachenie dlya shablona FORM - eto imya pechataemoj formy, esli ono est'. - znachenie shablona COPIES - eto chislo kopij fajla, kotoroe dolzhno byt' sdelano. Esli fil'tr ispol'zuet etot shablon, -15-59- obsluzhivanie pechati umen'shaet chislo kopij fil'truemogo fajla, kotoroe on pechataet do 1, tak kak eta "otdel'naya kopiya" v dejstvitel'nosti yavlyaetsya mnozhestvom kopij, pro- izvodimyh fil'trom. - znachenie shablona MODES opredelyaetsya vozmozhnost'yu -y ko- mandy lp, komandy, kotoruyu pol'zovatel' ispol'zuet dlya pe- redachi zaprosa pechati. Tak kak pol'zovatel' mozhet zadat' neskol'ko vozmozhnostej -y, to dlya shablona MODES mozhet byt' neskol'ko vozmozhnostej. Znacheniya ispol'zuyutsya v poryadke sleva napravo, zadannom pol'zovatelem. Zamena pokazyvaet, kak znachenie shablona zadaetsya dlya prog- rammy-fil'tra. |to obychno literal'naya vozmozhnost' inogda so strukturnym nulem (*), vklyuchennym, chtoby pokazat', gde prisvai- vaetsya znachenie. Neskol'ko primerov pokazyvayut, kak eto rabota- et. Primer 1 Programma fil'tr nazyvaetsya /usr/bin/npf. Programma imeet dva vhodnyh tipa nroff37 i X, proizvodit vyhodnoj tip, nazyvae- myj TH i rabotaet s lyubym printerom tipa TH. Programma prinima- et tri vozmozhnosti: -Xb Tol'ko dlya vhodnogo tipa H -l celoe Dlya dliny vyhodnoj stranicy. -w celoe Dlya shiriny vyhodnoj stranicy. Opredelenie fil'tra vyglyadit tak: Input types: nroff37 i X Output types: TH printer types: TH Command: /usr/bin/npf Options: INPUT X = -Xb, LENGTH * = -l*, WIDTH * = -w* 1 - vhodnye tipy; 2 - vyhodnye tipy; 3 - tipy printera; 4 - komanda; 5 - vozmozhnosti. Pol'zovatel' posylaet fajl tipa nroff37 i zaprashivaet, chtoby on pechatalsya printerom s imenem lp1 tipa TH i zaprashivaet dlinu stranicy 72: -15-59a-  lp -T nroff37 -d lp1 -o length=72 |tot fil'tr vyzyvaetsya obsluzhivaniem pechati dlya preobrazo- vaniya fajla. Fil'tr vyzyvaetsya kak:  /usr/bin/npf -l72 -15-60- Primer 2 Drugoj pol'zovatel' posylaet fajl tipa H, kotoryj dolzhen pechatat'sya na tom zhe printere so znacheniyami dliny i shiriny, prinimaemymi po umolchaniyu. Fil'tr vyzyvaetsya kak:  /usr/bin/npf -Xb Primer 3 Programma fil'tr nazyvaetsya /usr/bin/H9700. Ona imeet odin vhodnoj tip, troff, proizvodit vyhodnoj tip, nazyvaemyj 9700 i budet rabotat' s lyubym printerom tipa 9700. Programma imeet od- nu fiksirovannuyu vozmozhnost' -ib i prinimaet drugie vozmozhnos- ti:  -l integer  Dlya dliny vyhodnoj stranicy  -s name Dlya nabora simvolov  -o portrait  ili  -o landscape dlya "portretnoj" ili "rel'efnoj" orientacii bumagi. Vy reshili, chto vashim pol'zovatelyam nuzhno dat' tol'ko sok- rashcheniya port i land ,kogda oni zaprashivayut orientaciyu bumagi. Tak kak eti vozmozhnosti ne svojstvenny obsluzhivaniyu pechati, pol'zovateli zadayut ih ispol'zuya vozmozhnost' -y komandy lp. Opredelenie fil'tra vyglyadit sleduyushchim obrazom: Input types: troff Output types: 9700 Rrinter types: 9700 Command: /usr/bin/x9700 -ib Options: LENGTH * = -l *, CHARSET * = -s *, MODES port = -o portrait, MODES land = -o landscape 1 - vhodnye tipy; 2 - vyhodnye tipy; 3 - tipy printera; 4 - komanda; 5 - vozmozhnosti. -15-60a- (Poslednyaya stroka razbivaetsya na tri stroki dlya oblegcheniya chte- niya etogo dokumenta. Ona dolzhna vvodit'sya, kak otdel'naya stro- ka). Pol'zovatel' posylaet fajl tipa troff na pechat' dlya prin- tera tipa 9700 i zaprashivaet rel'efnuyu orientaciyu, ispol'zuya goticheskij nabor simvolov:  lp -T troff -S gothic -y land |tot fil'tr vyzyvaetsya obsluzhivaniem pechati dlya preobrazo- vaniya fajla sleduyushchim obrazom: -15-61-  /usr/bin/x9700 -ib -S gothic -o landscape Primechanie Esli obrazec ili zameshchenie dolzhny vklyuchat' zapyatuyu ili znak ravenstva (=), otmet'te ih special'nym znacheniem, postaviv pered nimi obratnuyu kosuyu chertu. Obratnaya kosaya cherta pered etimi dvumya simvolami udalyaetsya, kogda ispol'zuyutsya obrazec ili zameshchenie. (Vse drugie obratnye kosye cherty ostayutsya). Dobavlenie fil'tra Posle zaversheniya opredeleniya fil'tra ispol'zujte odnu iz sleduyushchih komand dlya dobavleniya ego v sistemu: ¬2 /usr/lib/lpfilter -f ¬1filtername ¬2-F filename ¬2 /usr/lib/lpfilter -f ¬1filtername -  sysadmsh pol'zovateli vybirayut: Printers-->Auxiliary-->Filter-->Change (Printery-->Vspomogatel'noe-->Fil'tr-->Izmenenie) Pervaya komanda poluchaet opredelenie fil'tra iz fajla, a vtoraya komanda poluchaet opredelenie fil'tra ot vas cherez stan- dartnyj vhod. filtername mozhet byt' lyubym po vyboru dlinoj do 14 bukv, cifr i simvolov podcherkivaniya. Esli vam nuzhno izmenit' fil'tr, vvedite odnu iz etih zhe komand. Vam neobhodimo lish' dat' izmenennuyu informaciyu. Ostal'- naya informaciya ostaetsya neizmennoj.  Udalenie fil'tra Obsluzhivanie pechati ne imeet fiksirovannogo predela na chislo fil'trov, kotoroe vy mozhete opredelit'. Odnako imeet smysl udalit' nenuzhnye bolee fil'try dlya ustraneniya dopolni- tel'noj obrabotki obsluzhivaniem pechati, kotoroe dolzhno prove- rit' vse fil'try dlya nahozhdeniya odnogo, kotoryj rabotaet v dan- noj situacii. Ispol'zujte sleduyushchuyu komandu dlya udaleniya fil'tra: ¬2 /usr/lib/lpfilter -f ¬1filtername -H  sysadmsh pol'zovateli vybirayut: Printers-->Auxiliary-->Filter-->Remove (Printery-->Vspomogatel'noe-->Fil'tr-->Udalenie) -15-62-  Proverka fil'tra Vy mozhete proverit' opredelenie fil'tra posle dobavleniya ego k obsluzhivaniyu pechati. Komanda lpfilter otobrazhaet oprede- lenie fil'tra v forme, udobnoj dlya vvoda, tak chto vy mozhete sohranit' vyhod v fajle dlya posleduyushchih ssylok. Vy mozhete ispol'zovat' odnu iz sleduyushchih komand dlya pro- verki opredelennogo fil'tra: ¬2 /usr/lib/lpfilter -f ¬1filtername -l ¬2 /usr/lib/lpfilter -f ¬1filtername ¬2-l>filename  sysadmsh pol'zovateli vybirayut: Printers-->Auxiliary-->Filter-->List (Printery-->Vspomogatel'noe-->Fil'tr-->Spisok) Pervaya komanda predostavlyaet opredelenie fil'tra na vashem ekrane. Vtoraya komanda fiksiruet eto opredelenie v fajle, koto- ryj pozdnee mozhet ispol'zovat'sya dlya pereopredeleniya fil'tra, esli vy sluchajno udalili fil'tr iz obsluzhivaniya pechati.  Preduprezhdenie Dobavlenie, izmenenie ili udalenie fil'trov mozhet privesti k otmene stoyashchih v ocheredi zaprosov pechati. |to proishodit po- tomu, chto obsluzhivanie pechati ocenivaet kazhdyj zapros pechati, eshche stoyashchij v ocheredi, chtoby uvidet', kakie iz nih podverzheny izmeneniyu fil'tra. Zaprosy, kotorye bolee ne pechatayutsya iz-za togo, chto fil'tr udalen ili izmenen, otmenyayutsya (s posylkoj iz- veshchenij pol'zovatelyam, kotorye ih poslali). Mozhet takzhe vozni- kat' zaderzhka v otvet na novye ili izmenennye zaprosy pechati, kogda fil'try izmenyayutsya iz-za mnogih harakteristik, kotorye dolzhny byt' oceneny dlya kazhdogo zaprosa pechati, eshche stoyashchego v ocheredi. |ta zaderzhka mozhet stat' oshchutimoj, esli imeetsya bol'- shoe chislo zaprosov, nuzhdayushchihsya v fil'tracii. Iz-za etogo vozmozhnogo vliyaniya vy mozhete zahotet' sdelat' izmeneniya v fil'tre vo vremya periodov, kogda obsluzhivanie pecha- ti ne ispol'zuetsya intensivno. -15-62a- CHistka zhurnala zaprosov Oglavleniya /usr/spool/lp/temp i /usr/spool/lp/requests so- derzhat fajly, kotorye opisyvayut kazhdyj zapros, kotoryj byl pos- lan obsluzhivaniyu pechati LP. Kazhdyj zapros imeet dva fajla po odnomu v kazhdom oglavlenii, kotorye soderzhat informaciyu o zap- rose. Informaciya razbita dlya pomeshcheniya bolee chuvstvitel'noj in- formacii v oglavlenie /usr/spool/lp/requests, gde ona mozhet -15-63- ostavat'sya sekretnoj. Fajl zaprosa zashchishchen ot vseh, krome pol'- zovatelya kotoryj poslan zapros, v to vremya kak fajl /usr/spool/ lp/requests zashchishchen dazhe ot posylayushchego pol'zovatelya. |ti fajly ostayutsya v oglavleniyah tol'ko poka zapros naho- ditsya v ocheredi. Posle zaversheniya zaprosa informaciya v fajlah ob®edinyaetsya i dobavlyaetsya v fajl /usr/spool/lp/logs/requests. |tot fajl ne udalyaetsya obsluzhivaniem pechati LP, no mozhet perio- dicheski chistit'sya, ispol'zuya, naprimer, sredstvo cron. Smotrite opisanie komandy crontab v glave "Ispol'zovanie komand planiro- vaniya zadaniyami: at, cron, batch" v dokumente. |lement crontab, prinimaemyj po umolchaniyu i predlagaemyj sisteme obsluzhivaniya pechati LP, pokazan nizhe: 13 3 * * * cd /usr/spool/lp/logs; if [ -f requests ]; then /bin/mv requests xyzzy; /bin/cp xyzzy requests; >xyzzy; /usr/lbin/agefile -c2 requests; /bin/mv xyzzy requests; fi (|to odna stroka v crontab, no ona razbita zdes' na nes- kol'ko strok dlya oblegcheniya chteniya). Esli kratko, to etot ele- ment delaet sleduyushchee: sozdaet pokolenie fajla, izmenyaet imya requests1 i peresylaet kopiyu prezhnego dnya v requests2. CHislo 2 v vozmozhnosti -s. Programma agefile zaprashivaet hranenie v faj- lah zhurnala informacii dvuh predydushchih dnej, otbrasyvaya bolee staruyu informaciyu v fajlah zhurnala. Izmenyaya eto chislo, vy mozhe- te izmenit' sohranyaemuyu informaciyu. S drugoj storony, esli vy hotite sohranyat' informaciyu chashche ili hotite sbrasyvat' fajl cha- shche, chem raz v den', izmenite vremya, kogda element crontab vy- polnyaetsya izmeneniem pervyh dvuh chisel. Tekushchie znacheniya 13 i 3 privodyat k tomu, chto sbros proishodit kazhdyj den' v 3:13. Predstavlyaemyj po umolchaniyu element crontab dostatochen dlya hraneniya staryh zapisej zaprosov pechati dlya nakopleniya v fajlo- voj sisteme nakopleniya. Vy mozhete zahotet' skoncentrirovat' in- formaciyu v zhurnale zaprosa dlya polucheniya doklada ob ispol'zova- nii obsluzhivaniya pechati LP ili dobavleniya v generiruemuyu uchetnuyu informaciyu. Vy mozhete poluchit' razlichnye procedury, proveryayushchie fajl i izvlekayushchie informaciyu pered proceduroj sbrosa. ZHurnal zaprosov imeet prostuyu strukturu, oblegchayushchuyu izv- lechenie dannyh s pomoshch'yu obshchih komand obolochki UNIX. Zaprosy perechislyayutsya v poryadke, v kotorom oni pechatalis' i razdelyayutsya -15-63a- strokami, kotorye prisvaivayut zaprosu identifikator. Kazhdaya stroka nizhe linii razdeleniya otmechaetsya otdel'noj bukvoj, koto- raya identificiruet vid informacii, soderzhashchejsya v stroke. Kazh- daya bukva otdelyaetsya ot dannyh odnim probelom. Smotrite sleduyu- shchuyu tablicu dlya polucheniya dopolnitel'noj informacii. -15-64-  Tablica 15.7 |lementy zhurnala zaprosov Simvol Soderzhimoe stroki ------------------------------------------- =  |to stroka razdelitel', soderzhashchaya identifikator zap- rosa, identifikator pol'zovatelya i gruppy pol'zovate- lej, polnoe chislo bajtov v pervonachal'nyh (nefil'tro- vannyh) fajlah i vremya postanovki zaprosa v ochered'. |ti elementy razdelyayutsya zapyatymi i raspolagayutsya v poryadke imenovaniya. Identifikator pol'zovatelya, iden- tifikator gruppy i razmery imeyut pered soboj slova uid, gid ili size sootvetstvenno. S  CHislo pechataemyh kopij D Naznachenie printera ili klassa ili slovo any F Imya pechataemogo fajla. Stroka povtoryaetsya dlya kazhdogo pechataemogo fajla, i fajly pechatayutsya v privedennom poryadke. f Imya ispol'zuemoj formy H Tip ispol'zuemoj special'noj obrabotki, rasshifrovan- nyj (resume, hold,immediate). Edinstvennoe poleznoe znachenie, imeyushcheesya v etoj stroke - eto immediate. N Tip preduprezhdeniya, ispol'zuemyj pri uspeshnom zaver- shenii zaprosa pechati. Tip - eto bukva M, esli pol'zo- vatel' byl izveshchen pochtoj ili W, esli pol'zovatel' byl izveshchen soobshcheniem na terminal O Vozmozhnosti -o R Prioritet zaprosa pechati p Spisok pechataemyh stranic r |ta odnobukvennaya stroka predstavlena, esli pol'zova- tel' zaprosil pervichnuyu obrabotku fajlov (vozmozhnosti -r komandy lp) S Ispol'zuemyj nabor simvolov ili mehanizm pechati s Vyhod zaprosa, kak kombinaciya otdel'nyh bitov, vyra- zhennaya v shestnadcaterichnoj forme. V to vremya, kak neskol'ko bitov ispol'zuyutsya vnutrenne spulerom, nai- bolee vazhnye bity perechisleny nizhe: 0h0004 Medlennaya fil'traciya zavershilas' uspeshno 0h0010 Pechat' zavershi- las' uspeshno 0h0040 Zapros otmenen 0h0100 Zapros ne smog vypolnit' fil'traciyu ili pechat' -15-65- T Titul, pomeshchennyj na stranice zagolovka t Tip soderzhimogo, obnaruzhennyj v fajle (fajlah) U Imya pol'zovatelya, kotoryj poslal zapros pechati x Medlennyj fil'tr, ispol'zuemyj dlya zaprosa Y Spisok special'nyh rezhimov dlya fil'trov, ispol'zuemyj dlya pechati zaprosa y Bystryj fil'tr, ispol'zuemyj dlya zaprosa z Printer, ispol'zuemyj dlya zaprosa. Imeetsya razlichie dlya naznacheniya (stroka D), esli zapros postavlen v ochered' dlya lyubogo printera ili klassa printerov ili esli zapros byl pereslan po drugomu naznacheniyu admi- nistratorom obsluzhivaniya pechati -15-66-  NASTROJKA OBSLUZHIVANIYA PECHATI Hotya obsluzhivanie pechati pytaetsya byt' dostatochno gibkim dlya obrabotki bol'shej chasti potrebnostej printerov i pechati, ono ne mozhet byt' polnym. Vy mozhete kupit' printer, kotoryj ne vpolne sootvetstvuet sposobu, kakim obsluzhivanie pechati obraba- tyvaet printery, ili zhe mozhet imet' potrebnosti pechati, kotorye ne sootvetstvuyut obsluzhivaniyu pechati. Vy mozhete nastroit' obsluzhivanie pechati neskol'kimi sposo- bami. V dannom razdele rasskazyvaetsya, kak vy mozhete: - Nastroit' harakteristiki porta printera, - Nastroit' bazu dannyh terminfo, - Napisat' interfejsnuyu programmu, i - Napisat' fil'tr. Diagramma na risunke 15-1 daet obzor obrabotki zaprosa pe- chati: Ris. 15-1 Kak processy LP pechatayut zapros lazernogo fajla lp -d 1 - komanda lp; 2 - konfiguraciya obsluzhivaniya pechati; 3 - obsluzhivanie pechati (demon nakopleniya); 4 - vyborochnyj medlennyj fil'tr; 5 - ekranirovanie zadaniya; 6 - inicializaciya printera; 7 - baza dannyh terminfo; 8 - standartnaya interfejsnaya programma; 9 - fil'tr po umolchaniyu; 10 - vyborochnyj bystryj fil'tr; 11 - lazernyj printer; 12 - klyuch; -15-66a- 13 - kommunikacionnyj put'; 14 - upravlenie processami UNIX; 15 - upravlenie processami UNIX (al'ternativnoe); 16 - dostup k dannym; 17 - process UNIX; 18 - diskovye fajly. -15-67- Kazhdyj zapros pechati posylaetsya demonu nakopleniya, kotoryj otslezhivaet vse zaprosy. Demon sozdaetsya, kogda vy zapuskaete obsluzhivanie pechati LP. Sistemnyj process UNIX otvechaet takzhe za otslezhivanie sostoyaniya printerov i medlennyh fil'trov; kogda printer zavershaet pechat' pol'zovatel'skogo fajla, demon nachina- et pechat' drugogo zaprosa, esli on stoit v ocheredi. Vy mozhete nastroit' obsluzhivanie pechati nastrojkoj ili za- menoj nekotoryh elementov, pokazannyh na risunke 15-1 (nomera rasshifrovyvayutsya na diagramme). 1. Dlya bol'shinstva printerov vam neobhodimo lish' izmenit' konfiguraciyu printera, zapomnennuyu na diske. V predydushchih razdelah dannoj glavy ob®yasnyaetsya, kak eto sdelat'. Neko- torye iz bolee zavisyashchih ot printera dannyh konfiguracii - eto harakteristiki porta printera: skorost' peredachi, chet- nost' i tak dalee. 2. Dlya printerov, kotorye ne predstavleny v baze dannyh terminfo, vy mozhete dobavit' novyj element, opisyvayushchij vozmozhnosti printera. |ta baza dannyh ispol'zuetsya v dvuh paralel'nyh napravleniyah: ekranirovanie zaprosov pechati s cel'yu ubedit'sya, chto prinyatye zaprosy mogut obrabatyvat'sya nuzhnym printerom i ustanovka printera tak, chto on gotov pechatat' zapros. Naprimer, esli baza dannyh terminfo ne vydaet printer, ko- toryj mozhet zadavat' dlinu stranicy, zaproshennuyu printe- rom, to demon nakopleniya otvergaet zapros. S drugoj storo- ny, esli ona pokazyvaet, chto mozhet vydat' takoj printer, to ta zhe samaya informaciya ispol'zuetsya interfejsnoj prog- rammoj dlya inicializacii printera. 3. Dlya osobenno slozhnyh printerov ili, esli vy hotite doba- vit' vozmozhnosti, ne obespechennye standartnym obsluzhivani- em pechati LP, vy mozhete izmenit' standartnuyu interfejsnuyu programmu. |ta programma otvechaet za upravlenie printerom: ona pechataet stranicu zagolovka, inicializiruet printer i vyzyvaet fil'tr dlya posylki kopij fajlov pol'zovatelya na printer. 4ab. Dlya obespecheniya svyazi mezhdu prilozheniyami, ispol'zuemoj sistemoj i printerami, vy mozhete dobavit' medlennye i bystrye fil'try. Kazhdyj tip fil'tra mozhet preobrazovat' fajl v druguyu formu, otobrazhaya odin nabor posledovatel'- nostej vyhoda v drugoj, naprimer, i mozhet obespechit' spe- cial'nuyu ustanovku, interpretiruya rezhimy pechati, zaproshen- nye pol'zovatelem. Medlennye fil'try -15-67a- vypolnyayutsya razdel'no demonom dlya togo, chtoby izbezhat' za- derzhku printera. Bystrye fil'try vypolnyayutsya tak, chto ih vyhod idet pryamo na printer, takim obrazom oni mogut vli- yat' na upravlenie printerom. -15-68-  Nastrojka harakteristik porta printera Vy dolzhny byt' uvereny, chto harakteristiki porta printera, ustanovlennye obsluzhivaniem printera, sootvetstvuyut ustanovkam kommunikacii printera. Standartnye ustanovki porta printera prednaznacheny dlya raboty s tipichnymi fajlami UNIX i mnogimi printerami, no oni ne rabotayut so vsemi fajlami i printerami. V dejstvitel'nosti eto ne shag nastrojki, tak kak standartnye sredstva obsluzhivaniya pechati dolzhny pozvolit' vam zadat' usta- novki porta dlya kazhdogo printera. Odnako eto vazhnyj shag v obes- pechenii raboty printera s obsluzhivaniem pechati, poetomu eto opisyvaetsya dalee bolee podrobno. Kogda vy dobavlyaete novyj printer, chitajte dokumentaciyu dlya nego, chtoby ponimat', chto on ozhidaet ot glavnoj sistemy (obsluzhivaniya pechati). Dalee chitajte stranicu rukovodstva dlya komandy stty(C) v dokumente User's Reference. V nej summirovany razlichnye harakteristiki, kotorye mogut byt' zadany dlya termi- nala ili porta printera. Tol'ko nekotorye harakteristiki, perechislennye na stranice rukovodstva stty(C), vazhny dlya printerov. Te, kotorye interesny dlya vas, perechisleny v sleduyushchej tablice (no vy dolzhny obra- shchat'sya k stranice rukovodstva stty(C) v drugih sluchayah). Printery, soedinennye napryamuyu s komp'yuterami, i printery, soedinennye cherez seti, trebuyut, chtoby harakteristiki porta printera ustanavlivalis' interfejsnoj programmoj. |ti harakte- ristiki opredelyayut kommunikacii nizkogo urovnya s printerom. Syu- da vklyuchena skorost' peredachi, ispol'zovanie upravleniya potokom XON/XOFF, 7, 8 ili drugoe kolichestvo bitov na bajt, chetnost', vyhodnaya postobrabotka. Standartnaya interfejsnaya programma is- pol'zuet komandu stty dlya inicializacii porta printera, mini- mal'no ustanavlivaya skorost' peredachi i drugie harakteristiki po umolchaniyu. Harakteristiki po umolchaniyu, ispol'zuemye standartnoj in- terfejsnoj programmoj, perechisleny nizhe.  Tablica 15.8 Vozmozhnosti dlya stty po umolchaniyu Po umolchaniyu Znachenie ------------------------------------------- 9600 skorost' peredachi 9600 cs8 8-bitnye bajty -cstopb 1 stop bit na bajt -15-69- -parenb net generacii chetnosti ixon razresheno upravlenie potokom XON/XOFF -ixany razreshen tol'ko XON dlya restarta vyhoda opost potok dannyh postobrabotki kak perechisleno nizhe? -oluc ne otobrazhajte strochnye simvoly v propisnye onlcr otobrazhenie podachi na odnu stroki v vozvrat karetki/podachu na odnu stroku -onlcr ne otobrazhaetsya vozvrat karetki v podachu na odnu stroku -nocr vyhodnye vozvraty karetki dazhe s kolonki 0 nl0 net zaderzhki posle podachi na odnu stroku cr0 net zaderzhki posle vozvratov karetok tab0 net zaderzhki posle tabulyacij bs0 net zaderzhki posle vozvratov vt0 net zaderzhki posle vertikal'nyh tabulyacij ff0 net zaderzhki posle perevodov stranicy Vy mozhete obnaruzhit', chto harakteristiki po umolchaniyu dos- tatochny dlya vashih printerov. Odnako printery sil'no razlichayut- sya, tak chto mozhet potrebovat'sya zadanie razlichnyh harakteris- tik. Smotrite opisanie komandy stty v dokumente User's Reference. Esli u vas imeetsya printer, kotoromu neobhodimy harakte- ristiki porta printera, otlichnye ot teh, kotorye obrabatyvayutsya programmoj stty, vam sleduet nastroit' interfejsnuyu programmu. Kogda vy dobavlyaete novyj printer, vy mozhete opredelit' dopolnitel'nyj spisok harakteristik porta, kotoryj budet is- pol'zovat'sya pri pechati kazhdogo fajla pol'zovatelya. Zadavaemyj spisok budet ispol'zovat'sya posle spiska po umolchaniyu, tak, chto u vas ne budet neobhodimosti vklyuchat' v vash spisok elementy po umolchaniyu, kotorye vy ne hotite izmenyat'. Zadajte dopolnitel'nyj spisok sleduyushchim obrazom: ¬2/usr/lib/lpadmin -p ¬1printer-name ¬2-o "stty='¬1stty-option-list'" ¬2 sysadmsh pol'zovateli vybirayut: Printers-->Configure-->Parameters (Printery-->Konfiguraciya-->Parametry) Zametim, chto dvojnye kavychki i odinarnye kavychki neobhodi- my, esli vy daete bolee odnogo el