Drukowanie w Linux-ie

Autor: Grant Taylor, gtaylor+pht@picante.com
v3.14, 23 Września 1997
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v1.3, 12 Lutego 1998


Jest to dokument zawierający informacje na takie tematy jak: generowanie wydruku, podglądnięcie go przed drukowaniem, wydrukowanie go oraz przefaxowanie czegoś pod Linux-em (i innymi Unix-ami w ogólności). 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.

1. Wprowadzenie.

Printing HOWTO powinno zawierać wszystko co powinieneś wiedzieć, aby ustawić drukarkę na swoim Linux-ie. Jest to trochę bardziej skomplikowane niż w świecie pokaż-i-kliknij Microsoft-u i Apple'a, ale za to bardziej elastyczne i z pewnością prostsze jeśli chodzi o administrowanie w dużych sieciach lokalnych.

Dokument ten jest tak ułożony, że większość będzie musiała przeczytać tylko pierwszą połowę czy coś koło tego. Większość nieciekawych informacji i takich, które są zależne od sytuacji znajduje się w drugiej połowie i łatwo je znaleźć w spisie treści, podczas gdy informacje zawarte w sekcjach 9 i 10 będą potrzebne większości.

Większość informacji z poprzedniej wersji zostało usuniętych, ponieważ zdecydowałem się na napisanie tego dokumentu całkowicie od nowa. Zrobiłem tak, bo poprzednie wersje były takie wielkie - około 60 stron A4, i narracja była do kitu. Jeśli nie znalazłeś tutaj odpowiedzi to powinieneś a) przeszukać poprzednią wersję na stronie domowej tego HOWTO, b) podrzucić mi informację co powinno tu być, a nie ma tego.

Strona domowa tego HOWTO jest dobrym miejscem na szukanie nowszych wersji tego dokumentu; jest ona oczywiście także dystrybuowana przez Projekt Dokumentacji Linux-a; archiwum zawierające dokumenty HOWTO możesz znaleźć w Polsce pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/docs/HOWTO.

1.1 Historia

To jest trzecia generacja, a szczerze mówiąc, to trzecia edycja zrobiona od nowa, dokumentu Printing-HOWTO. Historia PHT może w ujęciu chronologicznym wyglądać tak:

  1. Napisałem Printing-HOWTO w 1992 w odpowiedzi na wiele pytań pojawiających się na grupie comp.os.linux dotyczących drukowania napisałem PHT i wysłałem go tam. Dokument ten wyprzedził Projekt Dokumentacji Linux-a o kilka miesięcy i był pierwszym dokumentem a'la FAQ zwanym HOWTO. Edycja ta była w czystym ASCII.
  2. Po dołączeniu do PDL, PHT zostało wcielone do tegoż projektu przez Briana McCauley <B.A.McCauley@bham.ac.uk>; przez kolejne dwa lata współtworzyliśmy PHT. Po jakimś czasie dołączyliśmy pracę Karla Auera<Karl.Auer@anu.edu.au>. Ta generacja PHT była w TeXinfo oraz także w PS, HTML, ASCII i Info.
  3. Po tym jak pozwoliliśmy PHT żeby trochę "podgniło" przez rok i po nieskutecznych poszukiwaniach jakiejś osoby, która zajęłaby się PHT, miało miejsce powstanie tej wersji. Ta generacja PHT jest w Linuxdoc-SGML.

1.2 Prawa autorskie.

Prawa autorskie należą do Granta Taylora (c) 1997. Proszę kopiować i dystrybuować ten dokument do woli, ale nie modyfikoewać ani nie zapomnieć mojego nazwiska.

2. Jak drukować.

Jeśli masz już zainstalowany program lpd i jest on ustawiony dla twojej drukarki przez kogokolwiek, to wszystko czego potrzebujesz, to nauczyć się posługiwać poleceniem lpr. Dokument Printing-Usage-HOWTO zawiera opis tego polecenia i kilku innych używanych do manipulowania kolejką wydruku.

Jednak jeśli masz nowy system albo nową drukarkę, to będziesz musiał ustawić serwis drukowania w ten lub inny sposób zanim będziesz mógł drukować. Czytaj dalej!

3. Urządzenia dotyczące drukarki w jądrze.

3.1 Urządzenie lp.

Jądro Linux-a (<=2.1.32), zakładając, że wkompilowałeś lub załadowałeś urządzenie lp (polecenie cat /proc/devices powinno pokazać urządzenie lp), dostarcza jedno lub więcej urządzeń /dev/lp0, /dev/lp1 i /dev/lp2. Nie są one kojarzone dynamicznie, ale są one na stałe przypisane konkretnym adresom I/O. Oznacza to, że twoja pierwsza drukarka może być na lp0, albo lp1 w zależności od sprzętu. Spróbuj obu. ;)

Kilku użytkowników zgłosiło, że ich dwukierunkowe porty lp nie zostają wykryte jeśli używają starszego, jednokierunkowego kabla. Sprawdź czy masz przyzwoity kabel.

Na danym porcie nie można mieć na raz sterowników plip oraz lp. Ale można załadować jeden albo drugi sterownik w każdej chwili; ręcznie albo przez kerneld przy jądrze w wersji 2.x.x (lub późniejsze 1.3.x). Jeśli dokładnie ustawisz przerwania itp., to możesz przypuszczalnie mieć plip na jednym porcie, a lp na drugim. Jedna osoba zrobiła tak, przez edycję sterowników; z niecierpliwością oczekuję osoby, która zrobiłaby to tylko przy użyciu argumentów z linii poleceń.

Jest takie narzędzie zwane tunelp, przy pomocy którego "root" może ustawiać przerwania i inne opcje na urządzeniu lp.

Jeśli urządzenie lp jest wbudowane w jądro w wersji 1.3.x lub wyższej, to możesz przekazać parametr lp= do jądra, w którym możesz ustawić przerwanie, adres itp.

Jeśli sterownik lp jest wbudowany w jądro, to możesz użyć parametru
LILO/LOADLIN, aby ustawić adres portu i przerwanie, których sterownik
będzie używał.

Składnia:        lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]

Na przykład:     lp=0x378,0   lub   lp=0x278,5,0x378,7 **

Zauważ, że jeśli używasz tego parametru, to musisz podać *wszystkie*
porty, których będziesz używać - nie ma wartości domyślnych. Możesz
wyłączyć wbudowany sterownik parametrem lp=0.

Jeśli ładujesz sterownik drukarki jako moduł w wersji jądra 2.x.x lub późnej 1.3.x, to możesz podać przerwanie i port jako parametr w linii poleceń przy insmod (albo w pliku /etc/conf.modules, żeby działało także dla kerneld). Parametry to: io=port0,port1,port2 i irq=irq0,irq1,irq2. Więcej informacji znajdziesz w podręczniku systemowym man na stronie dotyczącej insmod.

**Dla tych, którzy (jak ja) nigdy nie mogą znaleźć standardowego portu kiedy go potrzeba, to są one takie jak w podanym wyżej drugim przykładzie. Drugi port (lp0) jest pod adresem 0x3bc. Nie mam pojęcia jakiego przerwania zwykle używa.

Kod źródłowy linux-owego sterownika portu równoległego jest w pliku /usr/src/linux/drivers/char/lp.c

3.2 Urządzenie parport (jądra >= 2.1.33)

Począwszy od jądra w wersji 2.1.33 (dostępne także jako łata dla jądra 2.0.30), urządzenie lp jest po prostu klientem nowego urządzenia parport. Dodanie urządzenia parport naprawia pewną ilość błędów, które dręczyły poprzedni sterownik urządzenia lp - może ono wpółdzielić port z innym urządzeniem, przypisuje dynamicznie dostępne porty równoległe numerom urządzeń zamiast wymuszać z góry narzuconą komunikację pomiędzy adresami I/O a numerami portów i tak dalej.

Więcej szczegółów na temat parport podam kiedy sam znajdę się w sytuacji kiedy będę tego używał. A w międzyczasie możesz przeczytać plik Documentation/parport.txt w drzewie ze źródłami jądra albo zajrzyj na stronę parport.

3.3 Urządzenia szeregowe.

Urządzenia szeregowe pod Linux-em zwykle nazywają się /dev/ttyS1 lub podobnie. Narzędzie stty pozwala na interaktywne przeglądanie lub określanie ustawień dla portu szeregowego; setserial pozwoli ci na kontrolowanie kilku rozszerzonych właściwości oraz na skonfigurowanie IRQ i adresów I/O dla niestandardowych portów. Więcej na temat portów szeregowych znajdziesz w Serial-HOWTO dostępnym także w języku polskim.

Jeśli używasz wolnej drukarki szeregowej z kontrolą przepływu (flow control), może się okazać, że niektóre z twoich wydruków są obcinane. Może być to spowodowane zachowaniem portu szeregowego, który wyrzuca wszystkie znaki ze swojego bufora po 30 sekundach od momentu zamknięcia portu. W buforze może się znajdować do 4096 znaków a jeśli twoja drukarka używa kontroli przepływu i jest wystarczająco wolna, tak że nie może przyjąć wszystkich 4096 znaków z portu w ciągu 30 sekund, po tym jak oprogramowanie drukujące zakmnęło port, to końcowa zawartość bufora zostanie utracona. Jeśli w wyniku polecenia cat plik > /dev/ttyS2 pojawia się cały wydruk dla krótkich plików, a dłuższe są obcinane, to to może być twój problem.

Okres 30 sekund może zostać zmieniony poprzez opcję "closing_wait" programu setserial (wersja 2.12 i późniejsze). Porty szeregowe maszyny są z reguły inicjowane poprzez odwołanie do setserial w pliku startowym rc.serial. Odwołanie do portu szeregowego drukarki może być zmodyfikowaicjowednio do serwera - nie można jej niestety użyć przy routingu pakietów pomiędzy dwiema sieciami LAN - muszisz dodać do tabeli routingu odpowiednie trasy.

Prawdopodobnie chcesz aby użytkownicy twojego serwera PPP korzystali z dysnamicznego przydzielania adresów IP. Można to osiągnąć przypisując każdemu portowi szeregowemu inny adres IP. Zrobisz to umieszczając odpowiednią inforamacje w plikach /etc/ppp/options.ttyXX.

Po prostu umieść tam lokalny muer IP (serwera PPP) i numer IP, który ma być wykorzystywany przez ten port. Np.


kepler:slip01

W szczególności, zamiast numerów IP możesz podawać nazwy komputerów (ja sam pamiętem tylko numery najważniejszych komputerów i urządzeń, nazwy jest łatwiej zapamiętać).

26.6 KOnfiguracja pppd umożliwiająca zwkłym użytkownikomna uruchomienie połączenia

Ponieważ uruchomienie połązeniea PPP jest związane z konfiguracją urządzeń sieciowych i manipulowaniem tabelą routingu, dlatego wymagane są do tego specjalne uprawnienia - w rzeczywistości uprawnienia administratora.

Na szczęści pppd został zaprojektowany do takiego użycia i możemy włączyć bit suid root. Musisz po prostu wydać polecenie


chmod u+s /usr/sbin/pppd

Teraz atrybuty tego pliku powinny wygładać tak


-rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd

Jeśli tego nie zrobisz, twoi użytkownicy nie będą mogli uruchomić połączenia PPP.

26.7 Ustanawianie ogólnego aliasu dla pppd

Aby uprościć użytkownikom pewne działania, w pliku /etc/bashrc tworzymy globalny alias, tak aby proste polecenie uruchamiało całą procedurę PPP po stronie serwera.

This looks like


alias ppp="exec /usr/sbin/pppd -detach"

Co to znaczy?

Użytkownicy, kótrzy logują się w ten sposób będą przedstawiani przez polecenie w mniej więcej tak
  6:24pm  up 3 days,  7:00,  4 users,  load average: 0.05, 0.03, 0.00
User     tty       login@  idle   JCPU   PCPU  what
hartr    ttyC0     3:05am  9:14                -

I to już wszystko... mówiłem, że zrobienie prostego serwera PPP jest banalne.

27. Korzystanie z PPP przy wykorzystaniu kabli bezmodemowych(bezpośrednie połązcenie portów szeregowych)

TO jest jeszcze prostsze - nie ma modemu to znaczy nie trzeba dzwonić.

Po pierwsze wybierz ,który kompter będzie pracował jako 'serwer'. Muszisz skonfigurować na porcie szeregowym getty, abyś mogł za pomocą minicomu przetestować połączenie z drugiego komputera.

Jeśli połączenie między portami działa poprawnie, możesz usunąć niepotrzebne getty, CHYB, że chcesz aby to połączenie bylo weryfikowane przez identyfikator i hasło. Ponieważ masz kontrolę nad oby komputerami podejżewam, że nie jest ci to potrzebne.

Teraz, na serwerze należy usunąć getty i upewnić się, że porty na obu komputerach są skonfigurowane tak samo.

Teraz musisz tylko ruchomićna obu systemach pppd. Zakładam, że po obu stronach będzie to port /dev/cua4. Na oby komputerach wydaj polecenie :-


pppd -detach crtscts lock <local IP>:<remote IP> /dev/cua4 38400 &

Spowoduje to zestawienie połączenia - lecz nie masz jescze poprawionych tabel routingu. Możesz przetestować połączenie 'pingując' komputery nawzajem, a następnie zamknąć połączeni zabijając jeden z procesów pppd.

Routing jaki jest potrzebny zależy od tego co tak naprawdę chcesz robić. Zwykle jeden z komputerów będzie przyłączony do Ethernetu, a przez to do Internetu, więc wymagany routing jest taki sam, jak w przypadku serwera i klienta PPP.

Na komputerze wyposarzonym w kartę Ethernetu należy wydać polecenie


pppd -detach crtscts lock proxyarp <local IP>:<remote IP> /dev/cua4 38400 &

a na tym drugim


pppd -detach crtscts lock defaultroute <local IP>:<remote IP> /dev/cua4 38400 &

Jeśli łączysz w ten sposób dwie sieci (przez łącze szeregowe!) lub masz bardziej skomplikowane wymagania dotyczące routingu, możesz skorzystać ze skryptów ppp-on i ppp-off w dokładnie taki sam sposób, jaki został opisany wcześniej.

Robert Hart
Port Hedland, Western Australia
August 1996

28. Od tłumacza

Zdaje sobie sprawę, że niniejsze tłumaczenie zawiera mnóstwo błędów. Niestety nie jestem w stanie dokładnie sprawdzić całęgo dokumentu i świadomie pozostawiam tę pracę czytelnikowi. Będę wdzięczny za wszelkie uwagi na temat tego dokumentu, wytykanie błędów, literówek, składni i wszelkie inne, które mogą przyczynić się do jego ulepszenia.

Wszelkie tego typu uwagi proszę przesyłać na adres piotr.pogorzelski@ippt.gov.pl

Inne przetłumaczone dokumenty można znaleźć na stronie http://www.jtz.org.pl/. Zapraszamy!.

piotr.pogorzelski@ippt.gov.pl. usr/doc/LANG/pl/HOWTO/html/Printing-HOWTO.pl.html100644 0 0 147241 6507515467 17573 0ustar rootroot Drukowanie w Linux-ie

Drukowanie w Linux-ie

Autor: Grant Taylor, gtaylor+pht@picante.com
v3.14, 23 Września 1997
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v1.3, 12 Lutego 1998


Jest to dokument zawierający informacje na takie tematy jak: generowanie wydruku, podglądnięcie go przed drukowaniem, wydrukowanie go oraz przefaxowanie czegoś pod Linux-em (i innymi Unix-ami w ogólności). 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.

1. Wprowadzenie.

Printing HOWTO powinno zawierać wszystko co powinieneś wiedzieć, aby ustawić drukarkę na swoim Linux-ie. Jest to trochę bardziej skomplikowane niż w świecie pokaż-i-kliknij Microsoft-u i Apple'a, ale za to bardziej elastyczne i z pewnością prostsze jeśli chodzi o administrowanie w dużych sieciach lokalnych.

Dokument ten jest tak ułożony, że większość będzie musiała przeczytać tylko pierwszą połowę czy coś koło tego. Większość nieciekawych informacji i takich, które są zależne od sytuacji znajduje się w drugiej połowie i łatwo je znaleźć w spisie treści, podczas gdy informacje zawarte w sekcjach 9 i 10 będą potrzebne większości.

Większość informacji z poprzedniej wersji zostało usuniętych, ponieważ zdecydowałem się na napisanie tego dokumentu całkowicie od nowa. Zrobiłem tak, bo poprzednie wersje były takie wielkie - około 60 stron A4, i narracja była do kitu. Jeśli nie znalazłeś tutaj odpowiedzi to powinieneś a) przeszukać poprzednią wersję na stronie domowej tego HOWTO, b) podrzucić mi informację co powinno tu być, a nie ma tego.

Strona domowa tego HOWTO jest dobrym miejscem na szukanie nowszych wersji tego dokumentu; jest ona oczywiście także dystrybuowana przez Projekt Dokumentacji Linux-a; archiwum zawierające dokumenty HOWTO możesz znaleźć w Polsce pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/docs/HOWTO.

1.1 Historia

To jest trzecia generacja, a szczerze mówiąc, to trzecia edycja zrobiona od nowa, dokumentu Printing-HOWTO. Historia PHT może w ujęciu chronologicznym wyglądać tak:

  1. Napisałem Printing-HOWTO w 1992 w odpowiedzi na wiele pytań pojawiających się na grupie comp.os.linux dotyczących drukowania napisałem PHT i wysłałem go tam. Dokument ten wyprzedził Projekt Dokumentacji Linux-a o kilka miesięcy i był pierwszym dokumentem a'la FAQ zwanym HOWTO. Edycja ta była w czystym ASCII.
  2. Po dołączeniu do PDL, PHT zostało wcielone do tegoż projektu przez Briana McCauley <B.A.McCauley@bham.ac.uk>; przez kolejne dwa lata współtworzyliśmy PHT. Po jakimś czasie dołączyliśmy pracę Karla Auera<Karl.Auer@anu.edu.au>. Ta generacja PHT była w TeXinfo oraz także w PS, HTML, ASCII i Info.
  3. Po tym jak pozwoliliśmy PHT żeby trochę "podgniło" przez rok i po nieskutecznych poszukiwaniach jakiejś osoby, która zajęłaby się PHT, miało miejsce powstanie tej wersji. Ta generacja PHT jest w Linuxdoc-SGML.

1.2 Prawa autorskie.

Prawa autorskie należą do Granta Taylora (c) 1997. Proszę kopiować i dystrybuować ten dokument do woli, ale nie modyfikoewać ani nie zapomnieć mojego nazwiska.

2. Jak drukować.

Jeśli masz już zainstalowany program lpd i jest on ustawiony dla twojej drukarki przez kogokolwiek, to wszystko czego potrzebujesz, to nauczyć się posługiwać poleceniem lpr. Dokument Printing-Usage-HOWTO zawiera opis tego polecenia i kilku innych używanych do manipulowania kolejką wydruku.

Jednak jeśli masz nowy system albo nową drukarkę, to będziesz musiał ustawić serwis drukowania w ten lub inny sposób zanim będziesz mógł drukować. Czytaj dalej!

3. Urządzenia dotyczące drukarki w jądrze.

3.1 Urządzenie lp.

Jądro Linux-a (<=2.1.32), zakładając, że wkompilowałeś lub załadowałeś urządzenie lp (polecenie cat /proc/devices powinno pokazać urządzenie lp), dostarcza jedno lub więcej urządzeń /dev/lp0, /dev/lp1 i /dev/lp2. Nie są one kojarzone dynamicznie, ale są one na stałe przypisane konkretnym adresom I/O. Oznacza to, że twoja pierwsza drukarka może być na lp0, albo lp1 w zależności od sprzętu. Spróbuj obu. ;)

Kilku użytkowników zgłosiło, że ich dwukierunkowe porty lp nie zostają wykryte jeśli używają starszego, jednokierunkowego kabla. Sprawdź czy masz przyzwoity kabel.

Na danym porcie nie można mieć na raz sterowników plip oraz lp. Ale można załadować jeden albo drugi sterownik w każdej chwili; ręcznie albo przez kerneld przy jądrze w wersji 2.x.x (lub późniejsze 1.3.x). Jeśli dokładnie ustawisz przerwania itp., to możesz przypuszczalnie mieć plip na jednym porcie, a lp na drugim. Jedna osoba zrobiła tak, przez edycję sterowników; z niecierpliwością oczekuję osoby, która zrobiłaby to tylko przy użyciu argumentów z linii poleceń.

Jest takie narzędzie zwane tunelp, przy pomocy którego "root" może ustawiać przerwania i inne opcje na urządzeniu lp.

Jeśli urządzenie lp jest wbudowane w jądro w wersji 1.3.x lub wyższej, to możesz przekazać parametr lp= do jądra, w którym możesz ustawić przerwanie, adres itp.

Jeśli sterownik lp jest wbudowany w jądro, to możesz użyć parametru
LILO/LOADLIN, aby ustawić adres portu i przerwanie, których sterownik
będzie używał.

Składnia:        lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]

Na przykład:     lp=0x378,0   lub   lp=0x278,5,0x378,7 **

Zauważ, że jeśli używasz tego parametru, to musisz podać *wszystkie*
porty, których będziesz używać - nie ma wartości domyślnych. Możesz
wyłączyć wbudowany sterownik parametrem lp=0.

Jeśli ładujesz sterownik drukarki jako moduł w wersji jądra 2.x.x lub późnej 1.3.x, to możesz podać przerwanie i port jako parametr w linii poleceń przy insmod (albo w pliku /etc/conf.modules, żeby działało także dla kerneld). Parametry to: io=port0,port1,port2 i irq=irq0,irq1,irq2. Więcej informacji znajdziesz w podręczniku systemowym man na stronie dotyczącej insmod.

**Dla tych, którzy (jak ja) nigdy nie mogą znaleźć standardowego portu kiedy go potrzeba, to są one takie jak w podanym wyżej drugim przykładzie. Drugi port (lp0) jest pod adresem 0x3bc. Nie mam pojęcia jakiego przerwania zwykle używa.

Kod źródłowy linux-owego sterownika portu równoległego jest w pliku /usr/src/linux/drivers/char/lp.c

3.2 Urządzenie parport (jądra >= 2.1.33)

Począwszy od jądra w wersji 2.1.33 (dostępne także jako łata dla jądra 2.0.30), urządzenie lp jest po prostu klientem nowego urządzenia parport. Dodanie urządzenia parport naprawia pewną ilość błędów, które dręczyły poprzedni sterownik urządzenia lp - może ono wpółdzielić port z innym urządzeniem, przypisuje dynamicznie dostępne porty równoległe numerom urządzeń zamiast wymuszać z góry narzuconą komunikację pomiędzy adresami I/O a numerami portów i tak dalej.

Więcej szczegółów na temat parport podam kiedy sam znajdę się w sytuacji kiedy będę tego używał. A w międzyczasie możesz przeczytać plik Documentation/parport.txt w drzewie ze źródłami jądra albo zajrzyj na stronę parport.

3.3 Urządzenia szeregowe.

Urządzenia szeregowe pod Linux-em zwykle nazywają się /dev/ttyS1 lub podobnie. Narzędzie stty pozwala na interaktywne przeglądanie lub określanie ustawień dla portu szeregowego; setserial pozwoli ci na kontrolowanie kilku rozszerzonych właściwości oraz na skonfigurowanie IRQ i adresów I/O dla niestandardowych portów. Więcej na temat portów szeregowych znajdziesz w Serial-HOWTO dostępnym także w języku polskim.

Jeśli używasz wolnej drukarki szeregowej z kontrolą przepływu (flow control), może się okazać, że niektóre z twoich wydruków są obcinane. Może być to spowodowane zachowaniem portu szeregowego, który wyrzuca wszystkie znaki ze swojego bufora po 30 sekundach od momentu zamknięcia portu. W buforze może się znajdować do 4096 znaków a jeśli twoja drukarka używa kontroli przepływu i jest wystarczająco wolna, tak że nie może przyjąć wszystkich 4096 znaków z portu w ciągu 30 sekund, po tym jak oprogramowanie drukujące zakmnęło port, to końcowa zawartość bufora zostanie utracona. Jeśli w wyniku polecenia cat plik > /dev/ttyS2 pojawia się cały wydruk dla krótkich plików, a dłuższe są obcinane, to to może być twój problem.

Okres 30 sekund może zostać zmieniony poprzez opcję "closing_wait" programu setserial (wersja 2.12 i późniejsze). Porty szeregowe maszyny są z reguły inicjowane poprzez odwołanie do setserial w pliku startowym rc.serial. Odwołanie do portu szeregowego drukarki może być zmodyfikowaicjowednio do serwera - nie można jej niestety użyć przy routingu pakietów pomiędzy dwiema sieciami LAN - muszisz dodać do tabeli routingu odpowiednie trasy.

Prawdopodobnie chcesz aby użytkownicy twojego serwera PPP korzystali z dysnamicznego przydzielania adresów IP. Można to osiągnąć przypisując każdemu portowi szeregowemu inny adres IP. Zrobisz to umieszczając odpowiednią inforamacje w plikach /etc/ppp/options.ttyXX.

Po prostu umieść tam lokalny muer IP (serwera PPP) i numer IP, który ma być wykorzystywany przez ten port. Np.


kepler:slip01

W szczególności, zamiast numerów IP możesz podawać nazwy komputerów (ja sam pamiętem tylko numery najważniejszych komputerów i urządzeń, nazwy jest łatwiej zapamiętać).

26.6 KOnfiguracja pppd umożliwiająca zwkłym użytkownikomna uruchomienie połączenia

Ponieważ uruchomienie połązeniea PPP jest związane z konfiguracją urządzeń sieciowych i manipulowaniem tabelą routingu, dlatego wymagane są do tego specjalne uprawnienia - w rzeczywistości uprawnienia administratora.

Na szczęści pppd został zaprojektowany do takiego użycia i możemy włączyć bit suid root. Musisz po prostu wydać polecenie


chmod u+s /usr/sbin/pppd

Teraz atrybuty tego pliku powinny wygładać tak


-rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd

Jeśli tego nie zrobisz, twoi użytkownicy nie będą mogli uruchomić połączenia PPP.

26.7 Ustanawianie ogólnego aliasu dla pppd

Aby uprościć użytkownikom pewne działania, w pliku /etc/bashrc tworzymy globalny alias, tak aby proste polecenie uruchamiało całą procedurę PPP po stronie serwera.

This looks like


alias ppp="exec /usr/sbin/pppd -detach"

Co to znaczy?

Użytkownicy, kótrzy logują się w ten sposób będą przedstawiani przez polecenie w mniej więcej tak
  6:24pm  up 3 days,  7:00,  4 users,  load average: 0.05, 0.03, 0.00
User     tty       login@  idle   JCPU   PCPU  what
hartr    ttyC0     3:05am  9:14                -

I to już wszystko... mówiłem, że zrobienie prostego serwera PPP jest banalne.

27. Korzystanie z PPP przy wykorzystaniu kabli bezmodemowych(bezpośrednie połązcenie portów szeregowych)

TO jest jeszcze prostsze - nie ma modemu to znaczy nie trzeba dzwonić.

Po pierwsze wybierz ,który kompter będzie pracował jako 'serwer'. Muszisz skonfigurować na porcie szeregowym getty, abyś mogł za pomocą minicomu przetestować połączenie z drugiego komputera.

Jeśli połączenie między portami działa poprawnie, możesz usunąć niepotrzebne getty, CHYB, że chcesz aby to połączenie bylo weryfikowane przez identyfikator i hasło. Ponieważ masz kontrolę nad oby komputerami podejżewam, że nie jest ci to potrzebne.

Teraz, na serwerze należy usunąć getty i upewnić się, że porty na obu komputerach są skonfigurowane tak samo.

Teraz musisz tylko ruchomićna obu systemach pppd. Zakładam, że po obu stronach będzie to port /dev/cua4. Na oby komputerach wydaj polecenie :-


pppd -detach crtscts lock <local IP>:<remote IP> /dev/cua4 38400 &

Spowoduje to zestawienie połączenia - lecz nie masz jescze poprawionych tabel routingu. Możesz przetestować połączenie 'pingując' komputery nawzajem, a następnie zamknąć połączeni zabijając jeden z procesów pppd.

Routing jaki jest potrzebny zależy od tego co tak naprawdę chcesz robić. Zwykle jeden z komputerów będzie przyłączony do Ethernetu, a przez to do Internetu, więc wymagany routing jest taki sam, jak w przypadku serwera i klienta PPP.

Na komputerze wyposarzonym w kartę Ethernetu należy wydać polecenie


pppd -detach crtscts lock proxyarp <local IP>:<remote IP> /dev/cua4 38400 &

a na tym drugim


pppd -detach crtscts lock defaultroute <local IP>:<remote IP> /dev/cua4 38400 &

Jeśli łączysz w ten sposób dwie sieci (przez łącze szeregowe!) lub masz bardziej skomplikowane wymagania dotyczące routingu, możesz skorzystać ze skryptów ppp-on i ppp-off w dokładnie taki sam sposób, jaki został opisany wcześniej.

Robert Hart
Port Hedland, Western Australia
August 1996

28. Od tłumacza

Zdaje sobie sprawę, że niniejsze tłumaczenie zawiera mnóstwo błędów. Niestety nie jestem w stanie dokładnie sprawdzić całęgo dokumentu i świadomie pozostawiam tę pracę czytelnikowi. Będę wdzięczny za wszelkie uwagi na temat tego dokumentu, wytykanie błędów, literówek, składni i wszelkie inne, które mogą przyczynić się do jego ulepszenia.

Wszelkie tego typu uwagi proszę przesyłać na adres piotr.pogorzelski@ippt.gov.pl

Inne przetłumaczone dokumenty można znaleźć na stronie http://www.jtz.org.pl/. Zapraszamy!.

piotr.pogorzelski@ippt.gov.pl. usr/doc/LANG/pl/HOWTO/html/Printing-HOWTO.pl.html100644 0 0 147241 6507515467 17573 0ustar rootroot Drukowanie w Linux-ie

Drukowanie w Linux-ie

Autor: Grant Taylor, gtaylor+pht@picante.com
v3.14, 23 Września 1997
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v1.3, 12 Lutego 1998


Jest to dokument zawierający informacje na takie tematy jak: generowanie wydruku, podglądnięcie go przed drukowaniem, wydrukowanie go oraz przefaxowanie czegoś pod Linux-em (i innymi Unix-ami w ogólności). 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.

1. Wprowadzenie.

Printing HOWTO powinno zawierać wszystko co powinieneś wiedzieć, aby ustawić drukarkę na swoim Linux-ie. Jest to trochę bardziej skomplikowane niż w świecie pokaż-i-kliknij Microsoft-u i Apple'a, ale za to bardziej elastyczne i z pewnością prostsze jeśli chodzi o administrowanie w dużych sieciach lokalnych.

Dokument ten jest tak ułożony, że większość będzie musiała przeczytać tylko pierwszą połowę czy coś koło tego. Większość nieciekawych informacji i takich, które są zależne od sytuacji znajduje się w drugiej połowie i łatwo je znaleźć w spisie treści, podczas gdy informacje zawarte w sekcjach 9 i 10 będą potrzebne większości.

Większość informacji z poprzedniej wersji zostało usuniętych, ponieważ zdecydowałem się na napisanie tego dokumentu całkowicie od nowa. Zrobiłem tak, bo poprzednie wersje były takie wielkie - około 60 stron A4, i narracja była do kitu. Jeśli nie znalazłeś tutaj odpowiedzi to powinieneś a) przeszukać poprzednią wersję na stronie domowej tego HOWTO, b) podrzucić mi informację co powinno tu być, a nie ma tego.

Strona domowa tego HOWTO jest dobrym miejscem na szukanie nowszych wersji tego dokumentu; jest ona oczywiście także dystrybuowana przez Projekt Dokumentacji Linux-a; archiwum zawierające dokumenty HOWTO możesz znaleźć w Polsce pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/docs/HOWTO.

1.1 Historia

To jest trzecia generacja, a szczerze mówiąc, to trzecia edycja zrobiona od nowa, dokumentu Printing-HOWTO. Historia PHT może w ujęciu chronologicznym wyglądać tak:

  1. Napisałem Printing-HOWTO w 1992 w odpowiedzi na wiele pytań pojawiających się na grupie comp.os.linux dotyczących drukowania napisałem PHT i wysłałem go tam. Dokument ten wyprzedził Projekt Dokumentacji Linux-a o kilka miesięcy i był pierwszym dokumentem a'la FAQ zwanym HOWTO. Edycja ta była w czystym ASCII.
  2. Po dołączeniu do PDL, PHT zostało wcielone do tegoż projektu przez Briana McCauley <B.A.McCauley@bham.ac.uk>; przez kolejne dwa lata współtworzyliśmy PHT. Po jakimś czasie dołączyliśmy pracę Karla Auera<Karl.Auer@anu.edu.au>. Ta generacja PHT była w TeXinfo oraz także w PS, HTML, ASCII i Info.
  3. Po tym jak pozwoliliśmy PHT żeby trochę "podgniło" przez rok i po nieskutecznych poszukiwaniach jakiejś osoby, która zajęłaby się PHT, miało miejsce powstanie tej wersji. Ta generacja PHT jest w Linuxdoc-SGML.

1.2 Prawa autorskie.

Prawa autorskie należą do Granta Taylora (c) 1997. Proszę kopiować i dystrybuować ten dokument do woli, ale nie modyfikoewać ani nie zapomnieć mojego nazwiska.

2. Jak drukować.

Jeśli masz już zainstalowany program lpd i jest on ustawiony dla twojej drukarki przez kogokolwiek, to wszystko czego potrzebujesz, to nauczyć się posługiwać poleceniem lpr. Dokument Printing-Usage-HOWTO zawiera opis tego polecenia i kilku innych używanych do manipulowania kolejką wydruku.

Jednak jeśli masz nowy system albo nową drukarkę, to będziesz musiał ustawić serwis drukowania w ten lub inny sposób zanim będziesz mógł drukować. Czytaj dalej!

3. Urządzenia dotyczące drukarki w jądrze.

3.1 Urządzenie lp.

Jądro Linux-a (<=2.1.32), zakładając, że wkompilowałeś lub załadowałeś urządzenie lp (polecenie cat /proc/devices powinno pokazać urządzenie lp), dostarcza jedno lub więcej urządzeń /dev/lp0, /dev/lp1 i /dev/lp2. Nie są one kojarzone dynamicznie, ale są one na stałe przypisane konkretnym adresom I/O. Oznacza to, że twoja pierwsza drukarka może być na lp0, albo lp1 w zależności od sprzętu. Spróbuj obu. ;)

Kilku użytkowników zgłosiło, że ich dwukierunkowe porty lp nie zostają wykryte jeśli używają starszego, jednokierunkowego kabla. Sprawdź czy masz przyzwoity kabel.

Na danym porcie nie można mieć na raz sterowników plip oraz lp. Ale można załadować jeden albo drugi sterownik w każdej chwili; ręcznie albo przez kerneld przy jądrze w wersji 2.x.x (lub późniejsze 1.3.x). Jeśli dokładnie ustawisz przerwania itp., to możesz przypuszczalnie mieć plip na jednym porcie, a lp na drugim. Jedna osoba zrobiła tak, przez edycję sterowników; z niecierpliwością oczekuję osoby, która zrobiłaby to tylko przy użyciu argumentów z linii poleceń.

Jest takie narzędzie zwane tunelp, przy pomocy którego "root" może ustawiać przerwania i inne opcje na urządzeniu lp.

Jeśli urządzenie lp jest wbudowane w jądro w wersji 1.3.x lub wyższej, to możesz przekazać parametr lp= do jądra, w którym możesz ustawić przerwanie, adres itp.

Jeśli sterownik lp jest wbudowany w jądro, to możesz użyć parametru
LILO/LOADLIN, aby ustawić adres portu i przerwanie, których sterownik
będzie używał.

Składnia:        lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]

Na przykład:     lp=0x378,0   lub   lp=0x278,5,0x378,7 **

Zauważ, że jeśli używasz tego parametru, to musisz podać *wszystkie*
porty, których będziesz używać - nie ma wartości domyślnych. Możesz
wyłączyć wbudowany sterownik parametrem lp=0.

Jeśli ładujesz sterownik drukarki jako moduł w wersji jądra 2.x.x lub późnej 1.3.x, to możesz podać przerwanie i port jako parametr w linii poleceń przy insmod (albo w pliku /etc/conf.modules, żeby działało także dla kerneld). Parametry to: io=port0,port1,port2 i irq=irq0,irq1,irq2. Więcej informacji znajdziesz w podręczniku systemowym man na stronie dotyczącej insmod.

**Dla tych, którzy (jak ja) nigdy nie mogą znaleźć standardowego portu kiedy go potrzeba, to są one takie jak w podanym wyżej drugim przykładzie. Drugi port (lp0) jest pod adresem 0x3bc. Nie mam pojęcia jakiego przerwania zwykle używa.

Kod źródłowy linux-owego sterownika portu równoległego jest w pliku /usr/src/linux/drivers/char/lp.c

3.2 Urządzenie parport (jądra >= 2.1.33)

Począwszy od jądra w wersji 2.1.33 (dostępne także jako łata dla jądra 2.0.30), urządzenie lp jest po prostu klientem nowego urządzenia parport. Dodanie urządzenia parport naprawia pewną ilość błędów, które dręczyły poprzedni sterownik urządzenia lp - może ono wpółdzielić port z innym urządzeniem, przypisuje dynamicznie dostępne porty równoległe numerom urządzeń zamiast wymuszać z góry narzuconą komunikację pomiędzy adresami I/O a numerami portów i tak dalej.

Więcej szczegółów na temat parport podam kiedy sam znajdę się w sytuacji kiedy będę tego używał. A w międzyczasie możesz przeczytać plik Documentation/parport.txt w drzewie ze źródłami jądra albo zajrzyj na stronę parport.

3.3 Urządzenia szeregowe.

Urządzenia szeregowe pod Linux-em zwykle nazywają się /dev/ttyS1 lub podobnie. Narzędzie stty pozwala na interaktywne przeglądanie lub określanie ustawień dla portu szeregowego; setserial pozwoli ci na kontrolowanie kilku rozszerzonych właściwości oraz na skonfigurowanie IRQ i adresów I/O dla niestandardowych portów. Więcej na temat portów szeregowych znajdziesz w Serial-HOWTO dostępnym także w języku polskim.

Jeśli używasz wolnej drukarki szeregowej z kontrolą przepływu (flow control), może się okazać, że niektóre z twoich wydruków są obcinane. Może być to spowodowane zachowaniem portu szeregowego, który wyrzuca wszystkie znaki ze swojego bufora po 30 sekundach od momentu zamknięcia portu. W buforze może się znajdować do 4096 znaków a jeśli twoja drukarka używa kontroli przepływu i jest wystarczająco wolna, tak że nie może przyjąć wszystkich 4096 znaków z portu w ciągu 30 sekund, po tym jak oprogramowanie drukujące zakmnęło port, to końcowa zawartość bufora zostanie utracona. Jeśli w wyniku polecenia cat plik > /dev/ttyS2 pojawia się cały wydruk dla krótkich plików, a dłuższe są obcinane, to to może być twój problem.

Okres 30 sekund może zostać zmieniony poprzez opcję "closing_wait" programu setserial (wersja 2.12 i późniejsze). Porty szeregowe maszyny są z reguły inicjowane poprzez odwołanie do setserial w pliku startowym rc.serial. Odwołanie do portu szeregowego drukarki może być zmodyfikowaicjowednio do serwera - nie można jej niestety użyć przy routingu pakietów pomiędzy dwiema sieciami LAN - muszisz dodać do tabeli routingu odpowiednie trasy.

Prawdopodobnie chcesz aby użytkownicy twojego serwera PPP korzystali z dysnamicznego przydzielania adresów IP. Można to osiągnąć przypisując każdemu portowi szeregowemu inny adres IP. Zrobisz to umieszczając odpowiednią inforamacje w plikach /etc/ppp/options.ttyXX.

Po prostu umieść tam lokalny muer IP (serwera PPP) i numer IP, który ma być wykorzystywany przez ten port. Np.


kepler:slip01

W szczególności, zamiast numerów IP możesz podawać nazwy komputerów (ja sam pamiętem tylko numery najważniejszych komputerów i urządzeń, nazwy jest łatwiej zapamiętać).

26.6 KOnfiguracja pppd umożliwiająca zwkłym użytkownikomna uruchomienie połączenia

Ponieważ uruchomienie połązeniea PPP jest związane z konfiguracją urządzeń sieciowych i manipulowaniem tabelą routingu, dlatego wymagane są do tego specjalne uprawnienia - w rzeczywistości uprawnienia administratora.

Na szczęści pppd został zaprojektowany do takiego użycia i możemy włączyć bit suid root. Musisz po prostu wydać polecenie


chmod u+s /usr/sbin/pppd

Teraz atrybuty tego pliku powinny wygładać tak


-rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd

Jeśli tego nie zrobisz, twoi użytkownicy nie będą mogli uruchomić połączenia PPP.

26.7 Ustanawianie ogólnego aliasu dla pppd

Aby uprościć użytkownikom pewne działania, w pliku /etc/bashrc tworzymy globalny alias, tak aby proste polecenie uruchamiało całą procedurę PPP po stronie serwera.

This looks like


alias ppp="exec /usr/sbin/pppd -detach"

Co to znaczy?

Użytkownicy, kótrzy logują się w ten sposób będą przedstawiani przez polecenie w mniej więcej tak
  6:24pm  up 3 days,  7:00,  4 users,  load average: 0.05, 0.03, 0.00
User     tty       login@  idle   JCPU   PCPU  what
hartr    ttyC0     3:05am  9:14                -

I to już wszystko... mówiłem, że zrobienie prostego serwera PPP jest banalne.

27. Korzystanie z PPP przy wykorzystaniu kabli bezmodemowych(bezpośrednie połązcenie portów szeregowych)

TO jest jeszcze prostsze - nie ma modemu to znaczy nie trzeba dzwonić.

Po pierwsze wybierz ,który kompter będzie pracował jako 'serwer'. Muszisz skonfigurować na porcie szeregowym getty, abyś mogł za pomocą minicomu przetestować połączenie z drugiego komputera.

Jeśli połączenie między portami działa poprawnie, możesz usunąć niepotrzebne getty, CHYB, że chcesz aby to połączenie bylo weryfikowane przez identyfikator i hasło. Ponieważ masz kontrolę nad oby komputerami podejżewam, że nie jest ci to potrzebne.

Teraz, na serwerze należy usunąć getty i upewnić się, że porty na obu komputerach są skonfigurowane tak samo.

Teraz musisz tylko ruchomićna obu systemach pppd. Zakładam, że po obu stronach będzie to port /dev/cua4. Na oby komputerach wydaj polecenie :-


pppd -detach crtscts lock <local IP>:<remote IP> /dev/cua4 38400 &

Spowoduje to zestawienie połączenia - lecz nie masz jescze poprawionych tabel routingu. Możesz przetestować połączenie 'pingując' komputery nawzajem, a następnie zamknąć połączeni zabijając jeden z procesów pppd.

Routing jaki jest potrzebny zależy od tego co tak naprawdę chcesz robić. Zwykle jeden z komputerów będzie przyłączony do Ethernetu, a przez to do Internetu, więc wymagany routing jest taki sam, jak w przypadku serwera i klienta PPP.

Na komputerze wyposarzonym w kartę Ethernetu należy wydać polecenie


pppd -detach crtscts lock proxyarp <local IP>:<remote IP> /dev/cua4 38400 &

a na tym drugim


pppd -detach crtscts lock defaultroute <local IP>:<remote IP> /dev/cua4 38400 &

Jeśli łączysz w ten sposób dwie sieci (przez łącze szeregowe!) lub masz bardziej skomplikowane wymagania dotyczące routingu, możesz skorzystać ze skryptów ppp-on i ppp-off w dokładnie taki sam sposób, jaki został opisany wcześniej.

Robert Hart
Port Hedland, Western Australia
August 1996

28. Od tłumacza

Zdaje sobie sprawę, że niniejsze tłumaczenie zawiera mnóstwo błędów. Niestety nie jestem w stanie dokładnie sprawdzić całęgo dokumentu i świadomie pozostawiam tę pracę czytelnikowi. Będę wdzięczny za wszelkie uwagi na temat tego dokumentu, wytykanie błędów, literówek, składni i wszelkie inne, które mogą przyczynić się do jego ulepszenia.

Wszelkie tego typu uwagi proszę przesyłać na adres piotr.pogorzelski@ippt.gov.pl

Inne przetłumaczone dokumenty można znaleźć na stronie http://www.jtz.org.pl/. Zapraszamy!.

piotr.pogorzelski@ippt.gov.pl. usr/doc/LANG/pl/HOWTO/html/Printing-HOWTO.pl.html100644 0 0 147241 6507515467 17573 0ustar rootroot Drukowanie w Linux-ie

Drukowanie w Linux-ie

Autor: Grant Taylor, gtaylor+pht@picante.com
v3.14, 23 Września 1997
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v1.3, 12 Lutego 1998


Jest to dokument zawierający informacje na takie tematy jak: generowanie wydruku, podglądnięcie go przed drukowaniem, wydrukowanie go oraz przefaxowanie czegoś pod Linux-em (i innymi Unix-ami w ogólności). 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.

1. Wprowadzenie.

Printing HOWTO powinno zawierać wszystko co powinieneś wiedzieć, aby ustawić drukarkę na swoim Linux-ie. Jest to trochę bardziej skomplikowane niż w świecie pokaż-i-kliknij Microsoft-u i Apple'a, ale za to bardziej elastyczne i z pewnością prostsze jeśli chodzi o administrowanie w dużych sieciach lokalnych.

Dokument ten jest tak ułożony, że większość będzie musiała przeczytać tylko pierwszą połowę czy coś koło tego. Większość nieciekawych informacji i takich, które są zależne od sytuacji znajduje się w drugiej połowie i łatwo je znaleźć w spisie treści, podczas gdy informacje zawarte w sekcjach 9 i 10 będą potrzebne większości.

Większość informacji z poprzedniej wersji zostało usuniętych, ponieważ zdecydowałem się na napisanie tego dokumentu całkowicie od nowa. Zrobiłem tak, bo poprzednie wersje były takie wielkie - około 60 stron A4, i narracja była do kitu. Jeśli nie znalazłeś tutaj odpowiedzi to powinieneś a) przeszukać poprzednią wersję na stronie domowej tego HOWTO, b) podrzucić mi informację co powinno tu być, a nie ma tego.

Strona domowa tego HOWTO jest dobrym miejscem na szukanie nowszych wersji tego dokumentu; jest ona oczywiście także dystrybuowana przez Projekt Dokumentacji Linux-a; archiwum zawierające dokumenty HOWTO możesz znaleźć w Polsce pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/docs/HOWTO.

1.1 Historia

To jest trzecia generacja, a szczerze mówiąc, to trzecia edycja zrobiona od nowa, dokumentu Printing-HOWTO. Historia PHT może w ujęciu chronologicznym wyglądać tak:

  1. Napisałem Printing-HOWTO w 1992 w odpowiedzi na wiele pytań pojawiających się na grupie comp.os.linux dotyczących drukowania napisałem PHT i wysłałem go tam. Dokument ten wyprzedził Projekt Dokumentacji Linux-a o kilka miesięcy i był pierwszym dokumentem a'la FAQ zwanym HOWTO. Edycja ta była w czystym ASCII.
  2. Po dołączeniu do PDL, PHT zostało wcielone do tegoż projektu przez Briana McCauley <B.A.McCauley@bham.ac.uk>; przez kolejne dwa lata współtworzyliśmy PHT. Po jakimś czasie dołączyliśmy pracę Karla Auera<Karl.Auer@anu.edu.au>. Ta generacja PHT była w TeXinfo oraz także w PS, HTML, ASCII i Info.
  3. Po tym jak pozwoliliśmy PHT żeby trochę "podgniło" przez rok i po nieskutecznych poszukiwaniach jakiejś osoby, która zajęłaby się PHT, miało miejsce powstanie tej wersji. Ta generacja PHT jest w Linuxdoc-SGML.

1.2 Prawa autorskie.

Prawa autorskie należą do Granta Taylora (c) 1997. Proszę kopiować i dystrybuować ten dokument do woli, ale nie modyfikoewać ani nie zapomnieć mojego nazwiska.