20, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta


Rozdział 20.
Drukowanie


Tim Parker

W tym rozdziale:

W poprzednich rozdziałach wspomnieliśmy kilkakrotnie o drukowaniu; temat ten będzie również w jednym z następnych rozdziałów omówiony z punktu widzenia administratora systemu. W tym rozdziale dowiesz się, jak można wydrukować dokument w systemie Linux, jakie urządzenia służą do drukowania w systemie linuxowym oraz jak skonfigurować drukarkę.

Trzeba pamiętać o tym, że wiele procedur drukowania zostało „w spadku” po trzydziestu latach istnienia UNIX-a. W zamierzchłych czasach drukarki były dostępne tylko w większych systemach i właśnie w tym duchu pisano programy je obsługujące. Choć zostały one przystosowane do dzisiejszych realiów, nadal zawierają wiele anachronizmów.

Konfiguracja drukarki

W większości wersji Linuxa użytkownik ma możliwość skonfigurowania drukarki już przy pierwszej instalacji systemu z poziomu programu instalacyjnego. W takim przypadku można zwykle wybrać jeden spośród modeli drukarek obsługiwanych przez system Linux. Należy podać również nazwę portu, do którego jest ona podłączona. Jeśli skonfigurowałeś drukarkę w ten sposób, powinna ona działać prawidłowo. Jeśli pominąłeś ten fragment instalacji albo Twoja wersja Linuxa nie daje takiej możliwości, musisz zainstalować drukarkę ręcznie.

Zanim rozpoczniesz instalowanie drukarki, powinieneś zdobyć dwie informacje. Pierwszą z nich jest typ drukarki (oraz dane o jej kompatybilności z innymi modelami). Informacja o kompatybilności z innymi modelami może okazać się przydatna, ponieważ nie wszystkie typy drukarek są obsługiwane bezpośrednio. Nawet jeśli kupiłeś właśnie najnowszy model drukarki ze sterownikami dla systemu Windows, prawdopodobnie producent i tak nie dostarczył sterowników dla Linuxa. Na szczęście większość dostępnych dziś na rynku drukarek jest kompatybilna ze starszymi modelami, dla których sterowniki linuxowe zostały już opracowane. Co prawda nie będzie wówczas można wykorzystywać wszystkich możliwości urządzenia, ale przynajmniej będzie można z niego w ogóle korzystać.

Drugą informacją niezbędną do skonfigurowania drukarki jest nazwa portu, do którego drukarka jest podłączona. Drukarki są zwykle podłączane do jednego z trzech typów portów: równoległego, szeregowego lub sieciowego (tylko w większych systemach). W przypadku portu równoległego trzeba tylko wiedzieć, czy używasz portu pierwszego, czy drugiego (LPT1 czy LPT2; w niektórych systemach dostępny jest tylko jeden port równoległy, wówczas oznaczany jest on jako LPT1), ponieważ wszystkie pozostałe parametry transmisji pozostają stałe.

Drukarki dołączane do portu szeregowego są także dość popularne - do połączenia niezbędny jest wówczas kabel typu RS-232. W takim przypadku trzeba znać jeszcze dwie informacje: prędkość przesyłania danych (zwykle 9600 bodów) i ilość transmitowanych bitów (przeważnie 8). Drukarka i port szeregowy muszą być skonfigurowane w ten sam sposób, w przeciwnym przypadku urządzenie nie będzie działało prawidłowo.

Porty sieciowe są łatwiejsze w konfiguracji niż porty szeregowe. Każda drukarka w sieci posiada własny adres IP, który będzie potrzebny podczas instalacji; oprócz niego musisz również podać, jakiego sterownika należy użyć.

Nazwy portów

W systemie Linux obowiązuje inne nazewnictwo portów niż w systemach DOS i Windows. Dokładniej nazwom urządzeń przyjrzymy się w rozdziale 33. „Urządzenia”. DOS-owy port LPT1 to w Linuxie /dev/lp0; port LPT2 - /dev/lp1. Początkowa część nazwy urządzenia - /dev - informuje system, w którym katalogu ma szukać informacji dotyczących danego urządzenia, natomiast właściwa nazwa urządzenia to odpowiednio lp0 i lp1.

Podobnie rzecz ma się w przypadku portów szeregowych: DOS-owy port COM1 to w systemie Linux /dev/ttyS0, COM2 - /dev/ttyS1 itd. Linux umożliwia stosowanie wielu portów szeregowych, a konwencje dotyczące ich nazewnictwa mogą być nieco inne w przypadku zastosowania karty multiport, ale bezpiecznie jest używać nazw urządzeń /dev/ttyS0 i /dev/ttyS1, oznaczających porty szeregowe wbudowane w płytę główną.

0x01 graphic

Każdy port szeregowy ma w Linuxie dwie nazwy. Przykładowo, port o DOS-owej nazwie COM1 to w systemie Linux zarówno /dev/tyS0, jak i /dev/ttycua0. Druga postać nazwy używana jest do komunikacji dwukierunkowej, np. z modemem, i nie powinna być używana do współpracy z drukarką.

Sterowniki drukarek

Każda drukarka w systemie linuxowym musi być skojarzona z odpowiednim sterownikiem. Sterownik umożliwia systemowi porozumiewanie się z urządzeniem, tłumacząc polecenia typu „wysuń stronę” na ciągi znaków charakterystyczne dla danego modelu drukarki.

Do dystrybucji Linuxa dołączany jest zestaw sterowników drukarek; dodatkowe sterowniki znaleźć można w węzłach FTP i na stronach WWW. Użycie sterownika niedostosowanego do danego modelu drukarki może spowodować, że drukarka będzie się bardzo dziwnie zachowywać.

Wszystkie informacje dotyczące drukarki i komunikacji z nią przechowywane są w pliku /etc/printcap. Zwykle plik ten jest dość duży i tylko użytkownik root może go modyfikować. Niektóre systemy linuxowe nie pozwalają modyfikować tego pliku ręcznie (uparty administrator może oczywiście obejść to zabezpieczenie), w zamian oferując specjalne programy narzędziowe. Rysunek 20.1 przedstawia reakcję systemu RedHat 5.0 na próbę wyświetlenia zawartości tego pliku poleceniem more. W tym przypadku system doradza użycie do modyfikacji pliku /etc/printcap programu opartego na interfejsie X. Nie wszystkie wersje Linuxa są tak ostrożne, pozwalając administratorowi modyfikować ten plik bez ograniczeń.

Rysunek 20.1.

Niektóre systemy
nie pozwalają na bezpośrednią edycję pliku /etc/printcap

0x01 graphic

Można oczywiście wpisać samodzielnie do pliku /etc/printcap wszystkie kody sterujące drukarki, jak robiono to dawniej, ale jest to proces długotrwały i bardzo podatny na błędy. Zamiast tego o wiele wygodniej jest poszukać sterownika do modelu kompatybilnego z Twoim typem drukarki.

Oprócz sterownika w procesie drukowania biorą udział jeszcze inne programy, szczególnie jeśli drukarka obsługuje jeden z języków opisu strony, takich jak PCL czy PostScript. W takim przypadku informacje najpierw przesyłane są do odpowiedniego programu (filtra) tłumaczącego dane, które mają zostać wydrukowane, na format zrozumiały dla drukarki. Następnie za pośrednictwem sterownika są one przesyłane do drukarki.

Jeśli posiadasz drukarkę obsługującą więcej niż jeden język opisu strony (np. Hewlett-Packard LaserJet) możesz zdefiniować więcej niż jedno urządzenie drukarki (np. jedno używające filtra PCL i sterownika HP LaserJet i drugie, używające filtra PostScript i tego samego sterownika), dzięki czemu możesz w każdej chwili wybrać, którego języka chcesz używać. Linux pozwala definiować dowolną ilość urządzeń drukarek i przypisywać im dowolne kombinacje portów i filtrów. Przy drukowaniu trzeba podać, której definicji drukarki chcesz użyć - zostanie wtedy użyty określony w niej filtr, sterownik i port. Niektóre drukarki (w szczególności starsze modele drukarek igłowych) nie potrzebują żadnych filtrów, więc ich sterowniki mogą przyjmować dane bezpośrednio z aplikacji.

Polecenia służące do drukowania

Ponieważ Linux oparty jest na systemie UNIX, w posiadanej przez Ciebie wersji systemu może działać kilka poleceń i programów użytkowych służących do obsługi procesu drukowania. Najpopularniejszymi z tych programów są lpr, lpd i lpc. Skonfigurowanie ich tak, by działały w pełni poprawnie, nie jest ani łatwe, ani przyjemne i często zdarza się, że zajmuje więcej czasu niż konfiguracja całej reszty systemu.

Kiedy drukujesz plik (na przykład pod kontrolą edytora emacs), w tle uruchamiane są programy obsługi drukowania. Kopiują one dane, które maja zostać wydrukowane, do specjalnego katalogu pełniącego funkcję kolejki (spool), zachowując je w pliku. Dzięki temu aplikacja, która wydała zlecenie drukowania, nie musi czekać na zakończenie tego procesu, a system może zarządzać zadaniami drukowania według ich priorytetu, typu drukarki, wymaganego papieru itp. Katalog, w którym przechowywane są dane czekające na wydrukowanie, to zwykle /usr/spool/lp lub /var/spool/lp. W katalogu tym znajdują się osobne podkatalogi dla każdej definicji drukarki, na przykład

/usr/spool/lp/laserjet czy /usr/spool/lp/bubblejet.

Kiedy wydajesz zlecenie wydrukowania pliku, Linux przydziela mu numer identyfikacyjny. Zwykle proces ten nie jest widoczny, szczególnie jeśli drukujesz pod kontrolą jakiejś aplikacji, ale przy drukowaniu z wiersza poleceń można zauważyć następujące komunikaty:

$ lp plik1.txt
request id is hplj_307 (1 files)

W tym przypadku numer identyfikacyjny zlecenia to hplj_307, co oznacza, że jest to 307 dokument od momentu uruchomienia licznika (zainstalowania drukarki). Po numerze identyfikacyjnym następuje liczba plików, które oczekują na wydrukowanie. W poniższym przykładzie drukować będziemy grupę plików:

lp tekst*.doc
request id is hplh_308 (12 files)

Nawet, jeśli zlecono drukowanie dwunastu plików, przydzielany jest im tylko jeden numer identyfikacyjny. Wszystkie pliki, które chcemy wydrukować, potraktowane zostały jako pojedyncze zlecenie.

Po wysłaniu przez aplikację zlecenia drukowania odpowiednie pliki są kopiowane do katalogu kolejki. Działający w tle program obsługi drukarki realizuje kolejno zlecenia. Program obsługi drukarki działa przez cały czas, sprawdzając czy w katalogu kolejki nie pojawiły się nowe pliki. Jeśli odnajdzie zlecenie, które nie zostało jeszcze obsłużone, sprawdza, czy określona drukarka jest dostępna i wysyła do niej dane. Jeśli drukarka nie jest dostępna, drukowanie jest wstrzymywane do czasu, aż będzie mogło zostać zrealizowane. Program obsługi drukarki może również na żądanie użytkownika przydzielać zleceniom priorytety.

W systemach linuxowych dostępnych jest wiele poleceń, które pozwalają sprawdzić, jakie pliki czekają na wydrukowanie, oraz ustawiać je w żądanej kolejności. Nazwy tych poleceń są zależne od wersji oprogramowania, więc musisz sam sprawdzić, które z nich działają w Twoim systemie.

Aby obejrzeć listę zleceń oczekujących na wydrukowanie (zapisanych w katalogu kolejki), wydaj polecenie lpq lub lpstat. lpq wyświetla informacje o wszystkich plikach oczekujących na wydrukowanie, wraz z ich pozycją w kolejce, dzięki czemu można oszacować, kiedy dany plik zostanie wydrukowany. W niektórych systemach do tego samego celu służy polecenie lpstat. Program lpstat wywołany z opcją -t pokazuje również informacje o statusie wszystkich dostępnych drukarek. W innych systemach do tego celu służy polecenie lpc.

Aby usunąć zlecenie z kolejki, w większości systemów linuxowych należy użyć polecenia lprm, po którym należy podać identyfikator zlecenia, które ma zostać usunięte, np.:

lprm hplj_308

W innych systemach do tego celu służy polecenie cancel, np.:

cancel hplj_308

Po wydaniu jednego z tych poleceń przeważnie wyświetlany jest komunikat potwierdzający usunięcie zadania z kolejki:

request hplj_308 canceled

Podsumowanie

W tym rozdziale omówiliśmy, w jaki sposób Linux obsługuje drukarki i ich sterowniki oraz jak działają filtry. W wielu wersjach Linuxa dostępne są skrypty instalujące drukarki, więc uciążliwy i rzadko zakończony sukcesem proces ręcznej instalacji drukarki, konfiguracji katalogu kolejki i ustalania praw dostępu może zostać pominięty.

Aby dowiedzieć się więcej o programach GhostScript i Ghostview, które umożliwiają obsługę języka PostScript w systemach linuxowych, przejdź do rozdziału 24. „GhostScript”.

Urządzenia i sterowniki opisane są dokładniej w rozdziale 33. „Urządzenia”.

Używanie drukarek w sieci omówione jest w rozdziale 37. „Praca w sieci”.

348 Część III Edycja i skład tekstu

348 E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\20.DOC

E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\20.DOC 343

Rozdział 20. Drukowanie 345



Wyszukiwarka

Podobne podstrony:
43, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
34, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
58, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
26, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
08, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
10, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
57, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
29, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
46, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
60, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
36, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
49, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
62, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
D, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
55, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
28, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
61, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
42, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
03, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta

więcej podobnych podstron