Drukowanie na Linux-ie w u¿yciu. Autor: Mark Komarinski , markk@auratek.com v1.2.1, 24 Marca 1997 WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii BB..MMaarruusszzeewwsskkii@@zzssmmeeiiee..ttoorruunn..ppll v1.02, 26 Lipca 1997 ____________________________________________________________ Table of Contents: 1. Wprowadzenie. 1.1. Historia tego dokumentu. 1.2. Historia Wersji. 1.3. Prawa autorskie i znaki handlowe. 1.4. ¦ci±ganie dokumentów HOWTO dotycz±cych drukowania. 1.5. Komentarze. 1.6. Podziêkowania. 1.7. Od t³umacza. 2. Drukowanie pod Linux-em. 2.1. Historia drukowania na Linux-ie. 2.2. Drukowanie pliku przy u¿yciu 2.3. Przegl±danie kolejki zadañ przy pomocy 2.4. Anulowanie zadania przy pomocy 2.5. Kontrolowanie programu lpd przy pomocy 2.6. "Printtool" z RedHat-a. 3. Drukowanie plików. 3.1. Drukowanie plików graficznych. 3.2. Drukowanie plików PostScriptowych. 3.3. Drukowanie plików PDF. 3.4. Drukowanie plików w TeX-u. 3.5. Drukowanie plków sformatowanych 3.6. Drukowanie stron podrêcznika systemowego 4. Ró¿no¶ci. 4.1. Formatowanie przed drukowaniem. 4.2. Zmienne ¦rodowiskowe PRINTER. 5. Odpowiedzi na czêsto zadawane pytania. 6. Rozwi±zywanie problemów. 7. Odwo³ania. ______________________________________________________________________ 11.. WWpprroowwaaddzzeenniiee.. Dokument ten opisuje jak u¿ywaæ systemu kolejkowania do drukarek liniowych dostarczanego wraz z systemem operacyjnym Linux. Dokument ten jest dodatkiem do dokumentu Drukowanie w Linux-ie <http://www.zsmeie.torun.pl/~bart/Tlumaczenie/Html/Printing- HOWTO.pl.html>, który omawia instalacjê i ustawienie systemu drukowania. Materia³ zaprezentowany z tym HOWTO powinien byæ tak samo wa¿ny dla wszystkich systemów operacyjnych typu BSD w tym tak¿e dla Linux-a. Dokument ten zosta³ napisany w standardzie ISO-8859-2. Orygina³ mo¿na znale¼æ pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/docs/HOWTO. 11..11.. HHiissttoorriiaa tteeggoo ddookkuummeennttuu.. Uwaga od Marka Komarinskiego <markk@auratek.com>: Chcia³bym podziêkowaæ Mattowi Fosterowi za du¿y wk³ad pracy przy ponownym pisaniu tego HOWTO. Utrzymujê jego styl i dodajê nowo¶ci tak ¿eby wszystko by³o w miarê ¶wie¿e. Uwaga od Matta Fostera <mwf@engr.uark.edu>: Wersja bie¿±ca tego HOWTO jest napisanym od nowa dokumentem, którego orygina³ napisali Grant Taylor <grant@god.tufts.edu> i Brian McCauley <B.A.McCauley@bham.ac.uk>. Stara³em siê zachowaæ mniej wiêcej to samo co oni napisali, ale zupe³nie zmieni³em wygl±d i styl tego dokumentu oraz zasiêg materia³u zawartego tutaj. Czujê, ¿e to uczyni dokument ten bardziej kompletnym i ³atwiejszym do przeczytania. Mogê tylko mieæ nadziejê, ¿e siê zgadzasz. 11..22.. HHiissttoorriiaa WWeerrssjjii.. v1.2.1 · uaktualnienia, ma³e zmiany dla publikacji Dr. Linux. v1.2 · Drukarki pod Windows-ami. · Zmiana maksymalnego rozmiaru drukowanego pliku. v1.11 · Nowy opiekun ! · Dodane informacje o lpc. · Dodane informacje na temat rozwi±zywania problemów. · Pocz±tek na temat drukowania plików graficznych. v1.1 · przegl±d s³ownictwa. · rozwiniêta sekcja o drukowaniu w PostScripcie. · próba rozja¶nienia niektórych przyk³adów. 8-) · rozwiniêcie dyskusji na temat podstawowych narzêdzi do drukowania w Linux-ie. v1.0 · Pierwsze publiczne wydanie Printing-Usage HOWTO. 11..33.. PPrraawwaa aauuttoorrsskkiiee ii zznnaakkii hhaannddlloowwee.. Niektóre nazwy/nazwiska wymienione w tym HOWTO s± prawami autorskimi lub znakami handlowymi pewnych firm/osób. Wystêpuj± one w wersji pe³nej lub skróconej. _(_c_) _1_9_9_5 _M_a_t_t _F_o_s_t_e_r _(_m_w_f_@_e_n_g_r_._u_a_r_k_._e_d_u_) _(_c_) _1_9_9_6_-_1_9_9_7 _M_a_r_k _F_. _K_o_m_a_r_i_n_s_k_i _(_m_a_r_k_k_@_a_u_r_a_t_e_k_._c_o_m_) Wszelkie t³umaczenia, prace pochodne, prace zebrane zawieraj±ce dokumenty HOWTO musz± zawieraæ tê notatkê o prawach autorskich. Oznacza to, ¿e nie mo¿esz stworzyæ pracy pochodz±cej z HOWTO i na³o¿yæ na jej dystrybucjê dodatkowych ograniczeñ. Wyj±tki od tej zasady mog± byæ uczynione pod pewnymi warunkami; skontaktuj siê z koordynatorem programu Linux HOWTO pod ni¿ej podanym adresem. Krótko mówi±c, chcemy promowaæ szerzenie tych dokumentów przez wszelkie dostêpne kana³y. Chcieliby¶my tak¿e utrzymaæ prawa autorskie na³o¿one na te dokumenty, i byæ powiadomieni o planach dotycz±cych redystrybucji HOWTO. Je¶li masz pytania skontaktuj siê z Gregiem Hankisem, koordynatorem programu Linux HOWTO po adresem gregh@sunsite.unc.edu. 11..44.. ¦¦ccii±±ggaanniiee ddookkuummeennttóóww HHOOWWTTOO ddoottyycczz±±ccyycchh ddrruukkoowwaanniiaa.. Je¶li chcesz sobie wydrukowaæ to HOWTO, to polecam wersjê PostScriptow±. Jest ona sformatowana w taki sposób, ¿e jest ³atwiejsza do czytania i ³adniejsza. Wersjê angielsk± w PostScripcie mo¿esz pobraæ z SUNSite Polska <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/docs/HOWTO/other-formats/ps>. Niestety nie dostarczamy jeszcze wersji polskiej w PostScripcie - szukamy kogo¶, kto by nam pomóg³ rozwi±zaæ problem polskich liter ;) albo na nowsz± wersjê narzêdzi SGML, któraby obs³ugiwa³a ISO-8859-2. 11..55.. KKoommeennttaarrzzee.. Pytania, komentarze czy poprawki dotycz±ce tego dokumentu mog± byæ kierowane do <markk@auratek.com>. 11..66.. PPooddzziiêêkkoowwaanniiaa.. Kieruje je do wszystkich, którzy po¶wiêcili czas na czytanie wersji alfa i odpowiedzieli wieloma po¿ytecznymi uwagami i sugestiami - niektórzy z was mog± zobaczyæ odzwierciedlenie swoich komentarzy w tej wersji dokumentu. Chcia³bym tak¿e podziêkowaæ Mattowi Fosterowi, który napisa³ to HOWTO od nowa. 11..77.. OOdd tt³³uummaacczzaa.. T³umaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny. Je¶li znalaz³e¶ jakie¶ ra¿±ce b³êdy ortograficzne, gramatyczne, sk³adniowe, techniczne to pisz do mnie: B.Maruszewski@zsmeie.torun.pl Oficjaln± stron± t³umaczeñ HOWTO jest http://www.jtz.org.pl/ Aktualne wersje przet³umaczonych dokumentów znajduj± siê na tej¿e stronie. Dostêpne s± tak¿e poprzez anonimowe ftp pod adresem ftp.ippt.gov.pl w katalogu /pub/Linux/JTZ/. Przet³umaczone przeze mnie dokumenty znajduj± siê tak¿e na mojej stronie WWW. <http://www.zsmeie.torun.pl/~bart/tlumaczenie.html> S± tam te¿ odwo³ania do Polskiej Strony T³umaczeniowej. Kontakt z nasz± grup±, grup± t³umaczy mo¿esz uzyskaæ poprzez listê dyskusyjn± jtz@ippt.gov.pl. Je¶li chcesz sie na ni± zapisaæ, to wy¶lij list o tre¶ci subscribe jtz Imiê Nazwisko na adres listproc@ippt.gov.pl 22.. DDrruukkoowwaanniiee ppoodd LLiinnuuxx--eemm.. Sekcja ta omawia jak drukowaæ pliki, sprawdzaæ kolejkê wydruków, usuwaæ zadania z kolejki wydruków, formatowaæ pliki przed ich wydrukowaniem i jak skonfigurowaæ ¶rodowisko do drukowania. 22..11.. HHiissttoorriiaa ddrruukkoowwaanniiaa nnaa LLiinnuuxx--iiee.. System drukowania na Linux-ie - system _l_p - jest przeniesionym ¼ród³em kodu napisanego przez regentów Uniwersytetu Californii dla wersji UNIX-a "Berkeley Software Distribution". 22..22.. DDrruukkoowwaanniiee pplliikkuu pprrzzyy uu¿¿yycciiuu _l_p_r. Najbardziej prost± metod± na drukowanie w Linux-ie jest wys³anie pliku do wydrukowania do urz±dzenia drukarki. Jednym ze sposobów na zrobienie tego jest u¿ycie polecenia _c_a_t. Jako "root" mo¿esz zrobiæ co¶ takiego: # cat thesis.txt > /dev/lp W tym wypadku, /dev/lp jest symbolicznym do³±czeniem do rzeczywistego urz±dzenia drukarki - niech to bêdzie ig³ówka, laserówka, "typesetter" czy ploter. (Wiêcej informacji na temat do³±czeñ symbolicznych znajdziesz na stronie podrêcznika systemowego _l_n(1)). Z przyczyn bezpieczeñstwa, tylko "root" i u¿ytkownicy nale¿±cy do tej samej grupy co demon drukowania mog± pisaæ bezpo¶rednio na drukarkê. Oto dlaczego polecenia takie jak: _l_p_r, _l_p_r_m, czy _l_p_q musz± byæ u¿ywane, ¿eby mieæ dostêp do drukarki. Z tego powodu u¿ytkownicy musz± u¿ywaæ _l_p_r, aby wydrukowaæ jaki¶ plik. Polecenie to troszczy siê o wszystko co jest potrzebne do wydrukowania danego pliku, a potem przekazuje kontrolê do innego programu - _l_p_d czyli "line printer daemon". Demon ten informuje drukarkê jak ma wydrukowaæ dany plik. Kiedy wykonywany jest _l_p_r, najpierw kopiuje on podany plik do konkretnego katalogu (katalogu zadañ), gdzie plik ten pozostaje dopóki _l_p_d go nie wydrukuje. Jak _l_p_d siê dowie, ¿e jest jaki¶ plik do wydrukowania, to utworzy kopiê siebie (co my programi¶ci nazywamy rozmno¿eniem/klonowaniem). Kopia ta wydrukuje nasz plik, podczas gdy orygina³ bêdzie czeka³ na dalsze zadania. Pozwala to na obs³ugiwanie wielu zadañ na raz. Sk³adnia polecenia _l_p_r jest bardzo znana: $ lpr [ opcje ] [ nazwa_pliku ... ] Je¶li nazwa_pliku nie jest podana, _l_p_r spodziewa siê danych ze standardowego wej¶cia (zwykle klawiatury lub wyj¶cia innego programu). To pozwala u¿ytkownikowi na przekierowanie wyj¶cia poleceñ do kolejki drukowania. Np: $ cat thesis.txt | lpr lub $ pr -l60 thesis.txt | lpr Polecenie _l_p_r przyjmuje kilka argumentów z linii poleceñ, które pozwalaj± u¿ytkownikowi kontrolowaæ jego dzia³anie. Niektóre z bardziej popularnych argumentów to: -PPdrukarka okre¶la drukarkê, na której ma byæ dane zadanie wydrukowane, -hh nie pozwala wydrukowaæ strony tytu³owej (z identyfikatorem itp.), -ss tworzy symboliczne do³±czenie zamiast kopiowaæ plik do katalogu zadañ (przydatne do du¿ych plików) i -##il okre¶la ilo¶æ kopii do wydrukowania. Przyk³ad mo¿e wygl±daæ tak: $ lpr -#2 -sP dj thesis.txt Polecenie to stworzy symboliczne do³±czenie do pliku thesis.txt w katalogu zadañ dla drukarki o nazwie _d_j, a nastêpnie przeka¿e zadanie do _l_p_d. Nastêpnie wydrukuje drug± kopiê tego pliku. Wszystkie dostêpne opcje znajdziesz w podrêczniku systemowym _l_p_r_(_1_). 22..33.. PPrrzzeeggll±±ddaanniiee kkoolleejjkkii zzaaddaaññ pprrzzyy ppoommooccyy _l_p_q. Aby zobaczyæ zawarto¶æ kolejki do drukowania u¿yj polecenia _l_p_q. Wydane bez argumentów, zwraca zawarto¶æ kolejki dla domy¶lnej drukarki. Rezultat polecenia _l_p_q mo¿e byæ przydatny do ró¿nych celów. $ lpq lp is ready and printing Rank Owner Job Files Total Size active mwf 31 thesis.txt 682048 bytes 22..44.. AAnnuulloowwaanniiee zzaaddaanniiaa pprrzzyy ppoommooccyy _l_p_r_m. Inn± przydatn± cech± ka¿dego systemu drukowania jest mo¿liwo¶æ anulowania zadania, które zosta³o umieszczone w kolejce. Aby to zrobiæ u¿yj _l_p_r_m. $ lprm - Powy¿sze polecenie anuluje wszystkie zadania, które s± w³asno¶ci± u¿ytkownika wydaj±cego to polecenie. Pojedyncze zadanie mo¿e byæ anulowane przez zdobycie numeru tego zadania (z polecenia _l_p_q) i podanie go do _l_p_r_m: $ lprm 31 Spowodowa³oby skasowanie zadania nr 31 - thesis.txt na drukarce domy¶lnej. 22..55.. KKoonnttrroolloowwaanniiee pprrooggrraammuu llppdd pprrzzyy ppoommooccyy _l_p_c. Program _l_p_c_(_8_) u¿ywany jest do kontrolowania drukarek, które obs³uguje lpd. Mo¿esz w³±czyæ lub wy³±czyæ drukarkê albo jej kolejkê, zmieniæ kolejno¶æ w kolejce zadañ oraz otrzymaæ raport na temat drukarek i ich kolejek. Lpc jest u¿ywany g³ównie w sytuacjach kiedy do komputera pod³±czonych jest kilka drukarek. $ lpc Powy¿sze polecenie wystartuje program lpc. Domy¶lnie, uruchamia siê interaktywny tryb i mo¿esz zacz±æ wydawaæ polecenia. Inn± opcj± jest wprowadzenie polecenia lpc z linii argumentów. $ lpc status all Lista dostêpnych poleceñ jest w podrêczniku systemowym _l_p_d, a tutaj podajê kilka najwa¿niejszych, których bêdziesz najczê¶ciej u¿ywa³. Polecenie oznaczone _o_p_c_j_± mo¿e byæ albo nazw± drukarki (lp, print, itp.) albo s³owem "all", co oznacza wszystkie drukarki. · disable _o_p_c_j_a - nie pozwala na dodawanie nowych zadañ, · down _o_p_c_j_a - wy³±cza drukowanie, · enable _o_p_c_j_a - pozwala na dodawanie nowych zadañ, · quit (lub exit) - zakoñczenie sesji lpc, · restart _o_p_c_j_a - startuje ponownie lpd dla podanej drukarki, · status _o_p_c_j_a - wy¶wietla status drukarki, · up _o_p_c_j_a - pozwól na wszystko i wystartuj nowego lpd. 22..66.. PPrriinnttttooooll"" zz RReeddHHaatt--aa.. Tylko krótka notatka na temat zadziwiaj±cego programu _p_r_i_n_t_t_o_o_l z dystrybucji RedHat. Wygl±da na to, ¿e robi on wszystko to co robi³by filtr magiczny. RedHat instaluje od razu wiele programów filtruj±cych. Oto jak ustawi³em swoj± drukarkê HP LJ 4L pod³±czon± do portu równoleg³ego na RH 4.0. · Zmieñ sesjê na "root-a" i odpal "printtool". (je¶li sta³e¶ siê "root-em" przez polecenie _s_u, to pamiêtasz o ustawieniu zmiennej _D_I_S_P_L_A_Y na _:_0_._0 i uruchomieniu programu _x_h_o_s_t z parametrem "+", prawda ?) · Kliknij na przycisk "Add" a potem "OK" dla drukarki lokalnej. · Wpisz urz±dzenie do drukowania (u mnie _/_d_e_v_/_l_p_1) · Wpisz filtr wej¶ciowy - wybierz typ drukarki, rozdzielczo¶æ i rozmiar papieru (ljet4, 300x300 i "letter") · Wci¶nij "OK" a¿ do koñca i zrestartuj _l_p_d. Na jedno zawo³anie mo¿esz mieæ definicje dla ró¿nych drukarek w /etc/printcap. Dla ró¿nych rozmiarów papieru, rozdzielczo¶ci, itd. 33.. DDrruukkoowwaanniiee pplliikkóóww.. Ta sekcja omawia drukowanie plików z jakimi siê spotkasz na Linux-ie. 33..11.. DDrruukkoowwaanniiee pplliikkóóww ggrraaffiicczznnyycchh.. Drukowanie takich plików na drukarce zwykle zale¿y od rodzaju grafiki i drukarki. Ig³ówki z regu³y nie wchodz± w grê z powodu ró¿nic w sposobach obs³ugi plików graficznych. Najlepszym wyborem by³oby tu sprawdzenie czy twoja drukarka jest kompatybilna z Epson-em albo IBM ProPrinter, a nastêpnie konwersja do PostScriptu i u¿ycie ghostscriptu do wydrukowania (zobacz nastêpn± sekcjê). Je¶li masz drukarkê laserow±, to sytuacja jest trochê ³atwiejsza poniewa¿ wiêkszo¶æ jest kompatybilna z PCL. To daje ci kilka opcji do wyboru. Niektóre programy umiej± wysy³aæ bezpo¶rednio w PCL. Je¶li nie, to programy takie jak _N_e_t_P_B_M potrafi± konwertowaæ na PCL. Ostatni± opcj± jest u¿ycie ghostscriptu (zobacz nastêpcj± sekcjê). Najepsz± opcj± do wyboru jest instalacja pakietów takich jak NetPBM i ghostscriptu, a potem instalacja magicznego filtra do automagicznej obróbki grafiki. 33..22.. DDrruukkoowwaanniiee pplliikkóóww PPoossttSSccrriippttoowwyycchh.. Drukowanie takich plików na drukarce, która potrafi interpretowaæ ten jêzyk jest proste; po prostu u¿yj _l_p_r a drukarka zajmiê siê reszt±. Dla tych z nas, którzy nie maj± takich drukarek pozostaj± inne ¶rodki. Na szczê¶cie s± dostêpne programy, które potafi± robiæ u¿ytek z PostScriptu i t³umaczyæ go na jêzyk zrozumia³y dla wiêkszo¶ci drukarek. Najbardziej znanym programem z tego rodzaju jest _G_h_o_s_t_S_c_r_i_p_t. Jest on odpowiedzialny za konwersjê wszystkich opisów w PostScripcie na jêzyk zrozumia³y dla danej druarki. Aby wydrukowaæ plik w PostScripcie za pomoc± ghostscriptu mo¿esz zrobiæ co¶ takiego: $ gs -dSAFER -dNOPAUSE -sDEVICE=deskjet -sOutputFile=\|lpr thesis.ps Zauwa¿ w powy¿szym przyk³adzie, ¿e w³a¶ciwie przesy³amy wynik z programu ghostscript do _l_p_r u¿ywaj±c opcji -ssOOuuttppuuttFFiillee. Ghostview jest interfejsem graficznym pod XWindows dla ghostscriptu. Pozwala on na podgl±d pliku w PostScripcie przed wydrukowaniem. Ghostview i ghostscript - oba mo¿na otrzymaæ z ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/apps/graphics/viewers/X. 33..33.. DDrruukkoowwaanniiee pplliikkóóww PPDDFF.. Adobe wypu¶ci³ czytarkê Acrobat dla Linux-a i jest ona dostêpna na stronie domowej WWW <http://www.adobe.com> tej firmy. Poprzednia wersja - xpdf - jest tak¿e dostêpna. 33..44.. DDrruukkoowwaanniiee pplliikkóóww ww TTeeXX--uu.. Jednym z najprostszych sposobów na drukowanie takich plików jest konwersja ich na PostScript i drukowanie za pomoc± ghostscriptu. Aby to zrobiæ musisz najpierw przkonwertowaæ je z TeX-a na format znany jako DVI (co jest skrótem od DeVice Independent - czyli niezale¿ne od urz±dzenia). Mo¿na to zrobiæ polecenem _t_e_x_(_1_). potem musisz zmieniæ plik DVI na PostScript przy pomocy _d_v_i_p_s. Wszystko wygl±da mniej wiêcej tak: $ tex thesis.tex $ dvips thesis.dvi Teraz mo¿esz wynikowy plik w PostScripcie wydrukowaæ w sposób podany wy¿ej, 33..55.. DDrruukkoowwaanniiee ppllkkóóww ssffoorrmmaattoowwaannyycchh _t_r_o_f_f_-_e_m. $ groff -Tascii thesis.tr | lpr albo je¶li wolisz $ groff thesis.tr > thesis.ps a potem wydrukuj plik w PostScripcie jak wy¿ej. 33..66.. DDrruukkoowwaanniiee ssttrroonn ppooddrrêêcczznniikkaa ssyysstteemmoowweeggoo _m_a_n. $ man man | col -b | lpr Strony te zawieraj± preformatowane dane _t_r_o_f_f_-_a tak wiêc musimy wyrzuciæ wszelkie pod¶wietlenia, podkre¶lenia itp. Program _c_o_l robi to ca³kiem mi³o, a poniewa¿ u¿ywamy strumieni program _m_a_n nie u¿yje polecenia _m_o_r_e. 44.. RRóó¿¿nnoo¶¶ccii.. W sekcji tej znajduj± siê tematy, których nie mo¿na zaliczyæ do wcze¶niejszych. 44..11.. FFoorrmmaattoowwaanniiee pprrzzeedd ddrruukkoowwaanniieemm.. Poniewa¿ wiêkszo¶æ plików ASCII nie jest sformatowana do drukowania u¿yteczne jest sformatowanie ich w jaki¶ sposób przed wydrukowaniem. Mo¿e zawieraæ to umieszczenie tytu³u i numeru na ka¿dej stronie, ustawienie marginesu, podwójne przerwy miêdzy wyrazami, wciêcia albo drukowanie pliku w wiêkszej ilo¶ci kolumn. Popularnym sposobem na osi±gniêcie tego jest u¿ycie np. programu _p_r. $ pr +4 -d -h"Ph.D. Thesis, 2nd Draft" -l60 thesis.txt | lpr W powy¿szym przyk³adzie, _p_r przeskoczy³by pierwsze 3 strony (+4), ustawi³ d³ugo¶æ strony na 60 lini (-l60), podwoi³ spacje (-d) i doda³ napis "Ph.D. Thesis, 2nd Draft" na pocz±tku ka¿dej strony (-h). _L_p_r umie¶ci³by rezultat tego polecenia w kolejce. Zajrzyj do podrêcznika systemowego _p_r_(_1_) je¶li chcesz znaæ wiêcej informacji. 44..22.. ZZmmiieennnnee ¦¦rrooddoowwiisskkoowwee PPRRIINNTTEERR.. Wszystkie polecenia w systemie drukowania Linux-a akceptuj± opcjê -PP. Opcja ta pozwala u¿ytkownikowi na podanie, która drukarka ma byæ u¿yta. Je¶li u¿ytkownik tego nie poda, to wybrana zostanie drukarka domy¶lna. Zamiast ka¿dorazowego podawania nazwy drukarki, mo¿esz podaæ j± w zmiennej ¶rodowiskowej "PRINTER". W zale¿no¶ci od twojej pow³oki, mo¿e to byæ zrobione w ró¿ny sposób. Dla _b_a_s_h_-_a bêdzie to: $ PRINTER="nazwa_drukarki"; export PRINTER Dla _c_s_h bêdzie to: % setenv PRINTER "nazwa_drukarki" Polecenia te mog± byæ umieszczone w skryptach startowych (.profile dla _b_a_s_h_-_a i .cshrc dla _c_s_h) albo wydane z linii poleceñ. Wiêcej na temat zmiennych ¶rodowiskowych znajdziesz na stronach podrêcznika systemowego _b_a_s_h_(_1_) i _c_s_h_(_1_). UUWWAAGGAA -- OOssttrrzzeeggaamm ¿¿eebbyy¶¶ pprrzzyyppaaddkkoowwoo zz tteeggoo ppooddnniieecceenniiaa nniiee zzaacczz±±³³ ddrruukkoowwaaææ ttyycchh ssttrroonn ::)))) -- mmaajj±± oonnee ooddppoowwiieeddnniioo 44..000000 ii 55..550000 lliinniiii.. 55.. OOddppoowwiieeddzzii nnaa cczzêêssttoo zzaaddaawwaannee ppyyttaanniiaa.. P1. Jak mam zapobiec efektowi schodków ? O1. Efekt ten jest powodem tego, ¿e niektóre drukarki spodziewaj± siê znaków CR/LF na koñcu linii, a w Unix-ach koniec linii to tylko LF (czyli przej¶cie do nstêpnej linii bez powrotu do jej pocz±tku). Najprostszym sposobem na poprawienie tego jest sprawdzenie czy twoj± drukarkê mo¿na jako¶ prze³±czyæ na druki sposób - albo przy pomocy prze³±cznika albo wysy³aj±c sekwencjê znaków na pocz±tku ka¿dego wydruku. Do drugiego rozwi±zania potrzebujesz filtra. (Zobacz pytanie 2.) Szybkim sposobem jest u¿ycie filtru z wiersza poleceñ. Przyk³adem mo¿e byæ: $ cat thesis.txt | todos | lpr P2. Co to jest filtr. A2. Jest to program, który czyta ze standardowego wej¶cia (_s_t_d_i_n), robi co¶ z wczytanymi danymi i zapisuje je do standardowego wyj¶cia (_s_t_d_o_u_t). Filtry s± u¿ywane do wielu rzeczy, w³±czaj±c w to przeróbkê tekstu. P3. Co to jest filtr _m_a_g_i_c_z_n_y ? A3. Jest to filtr, który robi co¶ w zale¿no¶ci od typu pliku wej¶ciowego. Np. je¶li plik jest czystym plikiem tekstowym, to po prostu wydrukowa³by go u¿ywaj±c standardowej metody. Je¶li plik jest w PostScripcie czy innym formacie, to wydrukowa³by go u¿ywaj±c innej metody (np. ghostscriptu). Dwoma przyk³adami tego s± "magicfilter" i "APSfilter". Jedyn± wad± tych filtrów jest to, ¿e odpowiednie programy musz± byæ zainstalowane przed instalacj± filtra. Powodem tego jest to, ¿e je¶li "magicfilter" zostaje zainstalowany, to pyta on twój system o konkretne programy (takie jak ghostscript - je¶li go znajdzie, to wie, ¿e mo¿e obs³ugiwaæ dane typu PostScript), potem tworzy siebie na podstawie tego co znalaz³. Aby obs³ugiwaæ wszystkie pliki do drukowania, musisz mieæ zainstalowane przynajmniej takie programy: · GhostScript · TeX · NetPBM · jpeg utilities · gzip P4. Co z Systemem Drukowania z Windows ? Czy Linux bêdzie z tym dzia³a³ ? O4. Mo¿e. Drukarki, które akceptuj± tylko polecenia WPS (Windows Printing System) nie bêd± dzia³aæ z Linux-em. Natomiast te, które akceptuj± polecenia WPS i inne (jak np. Canon BJC 610) bêd± dzia³aæ dopóki s± ustawione na co¶ innego ni¿ WPS. Inne drukarki takie jak HP DeskJet 820Cxi/Cse nniiee bbêêdd±± dzia³aæ z Linux-em. W³a¶ciwie Linux mo¿e s³u¿yæ jako serwer wydruków dla Win95 poniewa¿ Win95 ma sterowniki do tych drukarek. P5. Co to za system ? Nie mogê wydrukowaæ wiêcej ni¿ 6 stron bo dostajê "file too large". O5. Jedna z opcji w /etc/printcap dotyczy maksymalnego rozmiaru wydruku. Domy¶ln± warto¶ci± jest 1000 bloków dysku (ok. 500KB). Dla PostScript-u itp. da ci to oko³o 6-8 stron z grafik± i to koniec. Upewnij siê, ¿e doda³e¶ nastêpuj±c± liniê do pozycji danej drukarki w /etc/printcap: mx=0 Podstawowym powodem tego limitu jest dotrzymanie warunku, ¿eby nie zape³niæ partycji na wydruki. Jest inny spo¶ob na zrobienie tego; mo¿na kazaæ _l_p_r utworzyæ do³±czenie symboliczne do pliku do wydrukowania. Musisz wtedy pamiêtaæ, ¿eby dodaæ opcjê _-_s do ka¿dego wywo³ania programu _l_p_r. 66.. RRoozzwwii±±zzyywwaanniiee pprroobblleemmóóww.. W sekcji tej znajduj± siê czêste problemy z jakimi siê mo¿esz spotkaæ przy drukowaniu. Je¶li twoja drukarka nie dzia³a: · Czy inne wydruki dzia³aj± ? (problem z aplikacj± ?) · Czy lpd jest uruchomiony ? (sprawd¼ u¿ywaj±c lpc) (kontroler wydruków ?) · Czy "root" mo¿e wys³aæ co¶ bezpo¶rednio na urz±dzenie drukarki ? (serwisy drukowania ?) · Czy mo¿esz drukowaæ z DOS-a ? (problemy z kablami/drukark± ?) Odpowied¼ na te pytania pomo¿e znale¼æ rozwi±zanie. Inne sugestie do tej sekcji wysy³aj na adres <markk@auratek.com>. 77.. OOddwwoo³³aanniiaa.. Sekcja ta zawiera odno¶niki dla systemu drukowania na Linux-ie. Próbowa³em utrzymaæ tê sekcjê jak najbardziej zwiêz³±. Je¶li czujesz, ¿e zapomnia³em czego¶, to nie wahaj siê pisaæ do mnie. Zanim wy¶lesz pytanie na grupê dyskusyjn±, zastanów siê: · Czy drukarka akceptuje zadania ? (U¿yj _l_p_c(8)) · Czy odpowied¼ na twoje pytanie znajduje siê w tym HOWTO lub HOWTO Granta Taylora "Drukowanie w Linux-ie" ? Je¶li które¶ z powy¿szych jest prawd±, to pomy¶l dwa razy zanim wy¶lesz pytanie. A je¶li ju¿ siê zdecydujesz wys³aæ, to postaraj siê zawrzeæ jak najdok³adniejsze informacje. Spróbuj napisaæ co¶ wiêcej ni¿ "Mam problemy z lpr. Pomó¿cie !" Tego typu listy zostan± przez wiêkszo¶æ zignorowane. Podaj tak¿e wersjê j±dra jak± u¿ywasz, jak/kiedy pojawi³ siê b³±d i ewentualnie komunikaty jakie siê pojawi³y. SSttrroonnyy ppooddrrêêcczznniikkaa ssyysstteemmoowweeggoo:: · _c_a_t(1) konkatenacja i drukowanie plików · _d_v_i_p_s(1) konwersja pliku TeX-a DVI na PostScript · _g_h_o_s_t_v_i_e_w(1) podgl±d dokumentów PostScriptowych przy pomocy ghostscriptu · _g_r_o_f_f(1) interfejs dla systemu formatowania dokumentów - groff · _g_s(1) Interpreter/przegl±darka ghostscript · _l_p_c(8) program kontrolny do drukarki · _l_p_d(8) demon do drukarki · _l_p_q(1) program do sprawdzania kolejki · _l_p_r(1) program do drukowania dla u¿ytkowników · _l_p_r_m(1) usuwanie zadañ z kolejki · _p_r(1) konwersja plików tesktowych do drukowania · _t_e_x(1) formatowanie tekstu GGrruuppyy ddyysskkuussyyjjnnee ((UUSSEENNEETT;; NNEEWWSS)) " · comp.os.linux.* wszystko o Linux-ie (i jeszcze wiêcej) · comp.unix.* dyskusje dotycz±ce systemu operacyjnego UNIX