![]() |
|
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
.
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:
Prawa autorskie nale�� do Granta Taylora (c) 1997. Prosz� kopiowa� i dystrybuowa� ten dokument do woli, ale nie modyfikoewa� ani nie zapomnie� mojego nazwiska.
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!
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
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.
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� zmodyfikowane, tak aby ustawi� closing_wait w tym samym czasie kiedy ustawia inne parametry tego portu.
J�dro Linux-a obs�uguje raczej ka�d� drukark�, kt�r� mo�esz pod��czy� do szeregowego albo r�wnoleg�ego portu, ale s� rzeczy na kt�re trzeba spojrze� oraz drukarki kt�rych nie b�dziesz w stanie u�y� nawet pomimo, �e (elektrycznie m�wi�c) mog� one komunikowa� si� z Linux-em. W grupie tych niekompatybilnych drukarek przewa�aj� te, kt�re polegaj� na "Windows Printing System". (Cz�sto s� one oznaczone "for Windows".) Te drukarki nie wsp�pracuj� z Linux-em. Nie maj� �adnych inteligentnych cz�ci i polegaj� na procesorze komputera, kt�ry musi zrobi� wi�kszo�� tego co kiedy� robi�y procesory w drukarce. Niestety te zadania mog� by� wykonane tylko przez sterowniki dostarczone przez producenta, kt�re dzia�aj� tylko pod Windows. Wi�c nie kupuj takiej drukarki do Linux-a.
Je�li chodzi o drukarki, kt�re dzia�aj� z Linux-em, to najlepszym wyborem jest kupienie drukarki z interpreterem PostScript-u. Prawie ka�de oprogramowanie pod Unix-a, kt�re tworzy jaki� drukowalny wynik tworzy go w PostScripcie, wi�c oczywistym jest, �e najlepiej kupi� drukark� obs�uguj�c� PostScript. Niestety, ale obs�uga tego j�zyka poza drukarkami laserowymi jest bardzo rzadko spotykana.
Je�li nie uda ci si� wydoby� (raczej wi�kszego) bud�etu potrzebnego na kupno drukarki PostScript-owej, mo�esz u�y� jakiejkolwiek drukarki obs�ugiwanej przez Ghostcript, darmowy interpreter PostScript-u u�ywanego do druku PostScript-owego. Na domowej stronie Ghostscript-u znajdziesz obs�ugiwane drukarki i informacje na temat nowych i ekpserymentalnych sterownik�w. Pom� prosz� w ulepszaniu Ghostscript-u poprzez zg�aszanie sukces�w b�d� pora�ek jak o to prosz�.
Do niedawna wyb�r dla u�ytkownik�w Linux-a by� prosty - wszyscy u�ywali tego samego, starego lpd wzi�tego bezpo�rdnio z kodu Net-2 BSD. Nawet dzisiaj wi�kszo�� sprzedawc�w dostarcza ten w�a�nie program. Ale to si� zaczyna zmienia�. Systemy SVR4 w��czaj�c w to Solaris Sun-a dostarczaj� ca�kiem inny pakiet do kolejkowania oparty na lpsched. Pojawiaj� si� tak�e oznaki, i� niekt�rzy sprzedawcy Linux-a przejd� na dostarczanie LPRng, o wiele mniej zabytkowej implementacji, kt�ra jest dost�pna za darmo. LPRng jest o wiele prostszy w administrowaniu dla wi�kszych instalacji i ma o wiele przyja�niejsz� baz� danych ani�eli lpd.
Na dzie� dzisiejszym nawet w �wietle nowych opcji, lpd jest przypuszczalnie dobry dla wi�kszo�ci u�ytkownik�w Linux-a. Raz ustawiony dzia�a dobrze i jest �atwy w zrozumieniu oraz szeroko udokumentowany w ksi��kach o Unix-ie.
Je�li chcesz wi�cej informacji na temat LPRng to zobacz LPRng - An Enhanced Printer Spooler. Przysz�e wersje tego dokumentu b�d� zawiera�y informacje o zwyk�ym lpd oraz o LPRng.
�eby drukowanie dzia�a�o, musisz zrozumie� jak dzia�a system lpd.
LPD to skr�t od Line Printer Daemon i odnosi si� w r�nych kontekstach do demona i do ca�ej kolekcji program�w, kt�re drukuj�. S� to:
lpd
Demon kolejkowania. Jeden z nich jest uruchomiony, aby kontrolowa� wszystko na maszynie, I jeden jest uruchamiany dla drukarki podczas drukowania.
lpr
Polecenie dla u�ytkownik�w do kolejkowania wydruk�w. Lpr kontaktuje si� z lpd i umieszcza nowe zadanie w katalogu kolejkowania.
lpq
Wy�wietla wydruki umieszczone w kolejce.
lpc
Polecenie do kontrolowania systemu lpd. Poleceniem tym mo�esz wystartowa�, zatrzyma�, zmieni� porz�dek w kolejce drukowania.
lprm
Usuwa wydruk z kolejki.
To jak to wszystko dzia�a ? No... kiedy system startuje, uruchamiany
jest lpd. Czyta on plik /etc/printcap
, aby si� dowiedzie�
dla jakich drukarek b�dzie obs�ugiwa� kolejki. Za ka�dym razem
kiedy kto� uruchomi lpr, lpr kontaktuje si� z lpd poprzez
gniazdko /dev/printer
i podaje mu wydruk oraz kilka
informacji o tym kto drukuje i jak ma to by� wydrukowane. Potem lpd
drukuje otrzymany plik na odpowiedniej drukarce.
System lp powsta� w czasach kiedy wi�kszo�� drukarek by�a drukarkami liniowymi - tzn. ludzie drukowali w wi�kszo��i teksty w ASCII. Jak si� okaza�o, nie trzeba du�o pracy, aby lpd dzia�a� dobrze dla dzisiejszych wydruk�w takich jak PostScript, czy text, czy dvi, czy ...
Minimalne ustawienia objawiaj� si� tym, �e system mo�e kolejkowa� pliki i je drukowa�. Nie b�dzie zwraca� uwagi na to, czy twoja drukarka je zrozumie czy nie i przypuszczalnie nie pozwoli ci na zrobienie atrakcyjnego wydruku. Jednak jest to pierwszy krok do zrozumienia, wi�c czytaj dalej !
Og�lnie m�wi�c, �eby doda� kolejk� dla drukarki musisz doda�
pozycj� do /etc/printcap
i utworzy� katalog do
kolejkowania w /var/spool/lpd/
.
Pojedyncza pozycja w /etc/printcap
wygl�da tak:
# LOCAL djet500 lp|dj|deskjet:\ :sd=/var/spool/lpd/dj:\ :mx#0:\ :lp=/dev/lp0:\ :sh:
Definiuje ona drukark� o nazwach lp, dj i deskjet, z
katalogiem kolejkowania /var/spool/lpd/dj/
, bez limitu na
ka�dy wydruk, kt�ra drukuje na urz�dzeniu /dev/lp0
i kt�ra
nie ma strony tytu�owej (z danymi o osobie, kt�ra drukowa�a itp.)
na pocz�tku wydruku.
Teraz poczytaj stron� w podr�czniku systemowym na temat printcap.
Powy�szy przyk�ad wygl�da bardzo prosto, ale jest tam jeden kruczek - drukarka b�dzie tak d�ugo dobrze drukowa�a, dop�ki b�d� wysy�a� pliki, kt�re ona rozumie. Na przyk�ad wys�anie na drukark� zwyk�ego unix-owego pliku tekstowego spowoduje, �e na papierze pojawi si� co� takiego:
To jest pierwsza linia. To jest druga linia. To jest trzecia linia.
Wys�anie na t� drukark� pliku w PostScripcie spowodowa�oby wydrukowanie pi�knej listy polece� PostScript z dodatkowym efektem schodk�w :) - be� �adnego po�ytecznego efektu.
Wynika z tego jasno, �e czego� tu jeszcze brakuje - i to jest w�a�nie celem filtrowania. Ci, kt�rzy czytali stron� podr�cznika systemowego o pliku "printcap" mogli zuwa�y� atrybuty kolejki - if i of. if - czyli input filter - to w�a�nie to czego potrzebujemy.
Je�li napiszemy kr�tki skrypt o nazwie "filter", kt�ry doda przed
ko�cem linii znak CR (cariage return - powr�t karetki), to efekt
schod�w mo�e by� wyeliminowany. Tak wi�c musimy doda� do naszej
pozycji w /etc/printcap
jeszcze jedn� lini� informuj�c� o
istniej�cym filtrze:
lp|dj|deskjet:\ :sd=/var/spool/lpd/dj:\ :mx#0:\ :lp=/dev/lp0:\ :if=/var/spool/lpd/dj/filter:\ :sh:
Przyk�adem prostego skryptu mo�e by�:
#!perl # Powy�sza linia tak na prawd� powinna zawiera� pe�n� �cie�k� do perl-a # Skrypt ten musi by� wykonywalny: chmod 755 filter while(<STDIN>){chop $_; print "$_\r\n";}; # Mo�esz te� zako�czy� znacznikiem "form feed": print "\f";
Je�li zrobimy powy�sze, to otrzymamy drukark�, na kt�r� b�dziemy mogli wysy�a� pliki tekstowe z Unix-a i otrzymamy sensowny wydruk. (Tak, s� 4 miliony lepszych sposob�w na napisanie tego skryptu, ale tylko kilka jest tak bardzo ilustracyjnych. Ty masz to napisa� bardziej wydajnie.)
Jedynym problemem jest to, �e drukowanie plik�w tekstowych nie jest takie znowu fajne - by�oby o wiele lepiej, je�li moglibysmy drukowa� pliki PostScriptowe czy graficzne. No... tak, by�oby i jest to �atwe do zrobienia. Metoda jest rozszerzeniem tego co zrobili�my, �eby si� pozby� schodk�w. Je�li napiszesz program, kt�ry mo�e przyjmowa� r�ne formaty i t�umaczy� je na j�zyk zrozumia�y dla drukarki, to masz naprawd� dobry filtr.
Taki filtr nazywany jest filtrem magicznym. Nie m�cz si� nad pisaniem w�asnego - o ile nie drukujesz jakichs cud�w - na sieci jest ju� pe�no filtr�w, kt�re mo�esz �mia�o u�ywa�.
Poniewa� otrzyma�em wiele pr�b, za��czam list� plik�w wraz z prawami dost�pu jakie maj� one w moim systemie. Jest wiele lepszych sposob�w na zrobienie tego - idealnym sposobem jest u�ywanie program�w tylko z atrybutami SGID, a nie robienie wszystkiego SUID dla "root-a", ale m�j system tak ju� mia� i dla mnie to dzia�a.
-r-sr-sr-x 1 root lp /usr/bin/lpr* -r-sr-sr-x 1 root lp /usr/bin/lprm* -rwxr--r-- 1 root root /usr/sbin/lpd* -r-xr-sr-x 1 root lp /usr/sbin/lpc* drwxrwxr-x 4 root lp /var/spool/lpd/ drwxr-xr-x 2 root lp /var/spool/lpd/lp/
W chwili obecnej lpd musi by� uruchamiany z prawami "root-a", poniewa� u�ywa on numer�w port�w zastrze�onych dla systemu (poni�ej 1024). Po tym jak ju� si� podczepi pod ten port powinien si� zmieni� na lp.lp, ale raczej tego nie robi...
Wiele napisanych pakiet�w filtruj�cych (i innych program�w zwi�zanych z drukowaniem) dost�pnych jest na SunSite Polska. Mo�na tam znale�� takie programy jak: psutils, a2ps, mpage, dvitodvi, flpr.
"Magic filter" jest jednym z najlepszych pakiet�w filtruj�cych; zaprojektowany jest do instalacji w 10 minut. Powiedziano mi te�, �e zawiera specjaln� obs�ug� LPRng.
Title: magicfilter Version: 1.1b Entered-date: 04APR95 Description: A customizable, extensible automatic printer filter. Lets you automatically detect and print just about any data type you can find a conversion utility for. This filter is written in C and is controlled completely from an external printer configuration file. This version adds automagic creation of configuration files based on the installed software on your system, courtesy of GNU Autoconf. This version is a bug fix from 1.1/1.1a; filters for non-ASCII capable PostScript printers have been added. Author: H. Peter Anvin <hpa@zytor.com> Primary-site: sunsite.unc.edu 53000 /pub/Linux/system/printing/magicfilter-1.1b.tar.gz Copying-policy: GPL
Innym z wielu magicznych filtr�w jest APS zrobiony przez Andreasa Klemma. Linux Software Map wygl�da tak:
Begin3 Title: apsfilter Version: 4.9.1 Entered-date: Montag, 10. Juli 1995, 21:22:35 Uhr MET DST Description: magicfilter for lpd with auto filetype detection Keywords: lpd magicfilter aps apsfilter Original-site: ftp-i2.informatik.rwth-aachen.de /pub/Linux/pak/APSfilter/aps-491.tgz 211KB aps-491.tgz Platforms: C-Compiler, gs Postscript emulator, pbmutils Copying-policy: GPL End
Filtr APS instaluje si� jako filtr if dla kolejki drukowania, i t�umaczy z wielu popularnych typ�w plik�w na polecenia twojej drukarki.. Rozumie np. tekst, PostScript, dvi, gif i inne.
EZ-Magic to kolejny pakiet filtruj�cy, napisany w bash-u, dostepny na sunsite.
Title: ez-magic printer filter Version: 1.0.5 Entered-date: January 26, 1997 Description: ez-magic is a printer filter that supports 8 common file formats (txt,ps,gif,bmp,pcx,png,jpg,tif) for printing. It can print over a network (SMB), or to a local printer. Reads from a file, STDIN, or lpd. Simple to use and configure. Just one script file, no huge manuals and multibillion drivers. The only catch is that you need a few common helper programs like netpbm and ghostscript. Written in bash. Easy to add formats and code. Still more bugs than I have appendages, but less than the number of grams of fat in a hot dog. Pre-configured for HP DeskJet 870Cse over network. Comparable to apsfilter and others. Keywords: magic filter, print, graphics, samba, network, smb, ghostscript, postscript, gif, jpg, simple Author: toby@eskimo.com (Toby Reed) Maintained-by: toby@eskimo.com (Toby Reed) Primary-site: http://www.eskimo.com/~toby/ez-magic-1.0.5.tar.gz 38 kb ez-magic-1.0.5.tar.gz Alternate-site: sunsite.unc.edu /pub/Linux/system/printing 38 kb ez-magic-1.0.5.tar.gz Copying-policy: Copyrighted, full manipulation rights, with one or two restrictions.
[ Sekcja ta, jest z definicji niekompletna. Przysy�aj szczeg�y twojej ulubionej dystrybucji. ]
W RedHacie znajduje si� graficzne narz�dzie do admiistracji, przy
pomocy kt�rego mo�na dodawa� drukarki odleg�e oraz lokalne. Pozwala
ono na wyb�r drukarki z obs�ug� "ghostscript" oraz pliku
urz�dzenia, do kt�rego kierowany jest wydruk; potem dana drukarka
instalowana jest w /etc/printcap
. Nast�pnie tworzony jest
kr�tki filtr magiczny PostScript-ASCII na podstawie gs i
nenscript.
Rozwi�zanie to dzia�a ca�kiem dobrze i jest �atwe do ustawienia dla
popularnych przypadk�w.
Prosz� o informacje jakie s� rozwi�zania w innych dystrybucjach.
Ghostscript jest najbardziej znacz�cym programem do drukowania dla Linux-a. Wi�kszo�� oprogramowania do drukowania pod Unix-a generuje PostScript, kt�ry jest opcj� dla drukarki wart� ok. $100. Jednak ghostscript jest za darmo i wygeneruje j�zyk dla twojej drukarki z PostScriptu. Je�li jest on podczepiony pod filtr wej�ciowy dla lpd, to daje wirtualn� drukark� PostScriptow� i bardzo u�atwia �ycie.
Ghostscript jest dost�pny w dw�ch postaciach. Komercyjna wersja Ghostscript-u pod nazw� Alladin Ghostscript mo�e by� u�ywana dla cel�w osobistych, ale nie mo�e by� rozprowadzana w komercyjnych dystrybucjach Linux-a. Jest on z regu�y o jaki� rok do przodu wzgl�dem darmowej wersji; w tym momencie na przyk�ad, obs�uguje on Adobe Acrobat's Portable Document Format, podczas gdy starsze wersje tego nie maj�.
Wersja darmowa to GNU Ghostscript i jest starsz� wersj� Aladdina uprzejmie u�yczon� dla GNU. (Cze�� i chwa�a dla Aladdina za to; wi�cej sprzedawc�w oprogramowania powinna wspomaga� darmowe oprogramowanie w ten spos�b)
Cokolwiek robisz w
gs, upewnij
si�, �e uruchomi�e� go z opcj� wy��czaj�c� dost�p do
plik�w (-dSAFER
). PostScript jest j�zykiem w pe�ni funkcjonalnym
i z�y program w PostScripcie m�g�by ci� przyprawi� o b�l g�owy.
M�wi�c o PDF-ie (Adobe's Portable Document Format), w�a�ciwie jest to troch� bardziej zorganizowany PostScript w skompresowanym pliku. Ghostscript umie obs�u�y� PDF tak samo jak PostScript, wi�c mo�esz by� pierwszym w swoim otoczeniu z drukark� umiej�c� wydrukowa� PDF.
Zwykle ghostscript jest uruchamiany przez filtr, kt�ry za�o�y�e�, ale w celach �ledzenia b��d�� dobrze jest go uruchamia� r�cznie.
gs -help
poka�e kr�tk� list� opcji i dot�pnych sterownik�w
(lista ta pokazuje tylko sterowniki wkompilowane, a nie wszystkie
dost�pne sterowniki).
Mo�esz uruchomi� gs w celach testowych np. tak:
gs <opcje> -q -dSAFER -sOutputFile=/dev/lp1 test.ps
Jest wiele rzeczy, kt�re mo�na zrobi� je�li wynik powsta�y przy opracowywaniu tekstu nie jest zadowalaj�cy (w�a�ciwie, to mo�esz zrobi� co ci si� tylko zamarzy, je�li masz �r�d�a).
Umiejscowienie, rozmiar i wspolczynik ksztaltu obrazu na stronie jest kontrolowane przez specyficzny dla danej drukarki sterownik w ghostscripcie. Je�li na przyk�ad zauwa�ysz, �e strony wychodz� za kr�tkie, albo za d�ugie, albo za du�e o dwa razy, mo�esz zajrze� do �r�de� twojego sterownika i dopasowa� jakiekolwiek parametry, kt�re ci nie pasuj�. Niestety, ka�dy sterownik jest inny, tak wi�c nie mog� ci powiedzie� co tak na prawd� trzeba zmieni�, ale wi�kszo�� z nich jest dobrze skomentowana.
Wi�kszo�� nielaserowych drukarek ma t� wad�, �e rozmiar ich punktu jest raczej du�y. Rezultatem tego s� zbyt ciemne obrazy. Je�li masz ten problem, to powiniene� u�y� swojej w�asnej funkcji do transferu. Po prostu stw�rz nast�puj�cy plik w katalogu bibliotecznym ghostscripta i dodaj jego nazw� do wywo�ania gs zaraz przed w�a�ciwym plikiem. Mo�e b�dziesz musia� zmieni� warto�ci, �eby pasowa�y do twojej drukarki. Mniejsze warto�ci daj� ja�niejszy obraz. Mniejsze warto�ci (0.2 - 0.15) s� dobrym pomys�em, szczeg�lnie je�li tw�j sterownik u�ywa algorytmu Floyda-Steinberga do rasteryzacji kolor�w.
---8<---- gamma.ps ----8<--- %! %transfer functions for cyan magenta yellow black {0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer ---8<------------------8<---
Przez dopasowanie tych warto�ci mo�liwe jest te� naprawienie
drukarki, kt�ra ma jak�� wad� zwi�zan� z kolorami. Je�li b�dziesz
robi� co� takiego, to radz� u�y� pliku colorcir.ps, kt�ry
dostarczany jest wraz z ghostscriptem (w podkatalogu examples
)
jako przyk�adowa strona.
Jedn� z zalet lpd jest to, �e mo�na przy jego pomocy drukowa� na drukarkach przy��czonych fizycznie do innych komputer�w. Je�li dobrze dobierzesz kombinacj� skrypt�w i narz�dzi, to mo�esz drukowa� przy pomocy lpr na wszelkiego rodzaju sieciach.
Aby pozwoli� odleg�ym maszynom drukowa� na twojej drukarce, musisz
je umie�ci� w /etc/hosts.equiv
lub
/etc/hosts.lpd
. (Zauwa�, �e hosts.equiv
ma kilka
innych efekt�w; upewnij si�, �e wiesz co robisz je�li umieszczasz
tam jak�� maszyn�). U�ywaj�c opcji rs mo�esz pozwoli� tylko
wybranym u�ytkownikom na drukowanie; informacje na ten temat
znajdziesz na stronie podr�cznika systemowego na temat
lpd.
Aby wydrukowa� co� na innej maszynie, musisz zrobi� pozycj� w
/etc/printcap
podobn� do tej:
# REMOTE djet500 lp|dj|deskjet:\ :sd=/var/spool/lpd/dj:\ :rm=jaka�.odleg�a.maszyna.pl:\ :rp=nazwa_drukarki:\ :lp=/dev/null:\ :sh:
Zauwa�, �e lokalnie nadal znajduje si� katalog zada� obs�ugiwany przez lpd. Je�li odleg�a maszyna jest zaj�t� albo wy��czona, to zadania do drukowania czekaj� lokalnie a� b�d� mog�y zosta� wys�ane.
�eby omin�� konfigurowanie lokalnego lpd, mo�esz u�y� rlpr, aby wys�a� co� bezpo�rednio do kolejki na odleg�ej maszynie. Jest to bardzo u�yteczne je�li drukujesz na r�nych drukarkach tylko okazyjnie. Z og�oszenia o rlpr:
Rlpr u�ywa protoko�u TCP/IP, aby wys�a� zadania do drukowania do serwera lpd gdziekolwiek w sieci.
W przeciwie�stwie do lpr, ten *nie* wymaga, �eby drukarki, na
kt�rych chcesz drukowa� by�y znane dla lokalnej maszyny (np. w
/etc/printcap
) i przez to jest bardziej elastyczny i
wymaga mniejszego nak�adu pracy administratora.
rlpr mo�e zosta� u�yty gdziekolwiek, gdzie m�g�by zosta� u�yty zwyk�y lpr, i jest kompatybilny w d� z tradycyjnym lpr z BSD.
Najwa�niejsz� zalet� rlpr jest, to �e mo�na drukowa� *sk�dkolwiek dok�dkolwiek*, niezale�nie od tego jak jest skonfigurowany system, z kt�rego chcesz drukowa�. Mo�e te� by� u�yty jako serwer, tak �e klienci uruchomieni na innych maszynach jak np.: netscape, xemacs, itp. mog� drukowa� na twojej drukarce ma�ym nak�adem wysi�ku.
Rlpr dost�pny jest na SUNSite Polska.
Jest dost�pne mini-HOWTO "Printing to Windows", kt�re zawiera wi�cej inormacji ni� ta sekcja.
Mo�liwe jest przekierowanie kolejki lpd poprzez program smbclient (cz�� pakietu Samba) do serwisu drukowania Samby opartego na TCP/IP. Samba zawiera odpowiedni skrypt pod nazw� smbprint. Kr�tko m�wi�c umieszczasz plik konfiguracyjny dla konkretnej drukarki w katalogu zada� i instalujesz skrypt smbprint jako if.
Odpowiednia pozycja w /etc/printcap
powinna wygl�da� tak:
lp|remote-smbprinter:\ :lp=/dev/null:sh:\ :sd=/var/spool/lpd/lp:\ :if=/usr/local/sbin/smbprint:
Aby uzyska� wi�cej informacji na temat konfigurowania takich przypadk�w przeczytaj dokumentacj� zawart� w skrypcie smbprint.
Mo�esz tak�e u�y� smbclient, aby wys�a� zadanie drukowania bezpo�rednio do serwisu drukowania SMB bez w��czania w to lpd. Zobacz informacje w podr�czniku systemowym.
Pakiet ncpfs zawiera narz�dzie zwane nprint, kt�re udost�pnia te same funkcje co smbprint, ale dla NetWare. Pakiet ten mo�na zdoby� z SunSITE Polska. Z informacji LSM dla wersji 0.16:
Przy pomocy pakietu ncpfs mo�esz montowa� wolumeny z serwera netware pod Linux-em. Mo�esz tak�e drukowa� na drukarkach pod��czonych pod netware oraz kolejkowa� zadania z netware dla drukarek pod��czonych do Linux-a. Potrzebujesz j�dra w wersji 1.2.x lub 1.3.54 i nowsze. ncpfs nie b�dzie dzia�a� z j�drem w wersji 1.3 poni�ej 1.3.54.
Aby nprint dzia�a� poprzez lpd, musisz napisa� ma�y skrypt, aby drukowa� "stdin" na drukarkach NetWare i zainstalowa� go jako if dla kolejki lpd. Otrzymasz co� takiego:
sub2|remote-NWprinter:\ :lp=/dev/null:sh:\ :sd=/var/spool/lpd/sub2:\ :if=/var/spool/lpd/nprint-script:
Skrypt "nprint-script" mo�e wygl�da� tak:
#! /bin/sh # Powiniene� najpierw sprawdzi� konto guest bez has�a! /usr/local/bin/nprint -S sie� -U nazwa -P has�o -q nazwa-kolejki -
Pakiet netatalk zawiera co� podobnego do nprint i smbclient. Werner Eugster udokumentowa� procedur� dla drukowania do i z sieci Apple o wiele lepiej ni� ja kiedykolwiek; zobacz to w Netatalk-HOWTO.
Netatalk nie dzia�a z kart� SMC Etherpower PCI z chip-em DEC tulip.
Drukarki HP i niekt�re inne maj� ethernetowy interfejs, do kt�rego
mo�esz drukowa� bezpo�rednio u�ywaj�c lpd. Powiniene� post�powa�
zgodnie z instrukcj�, kt�r� dosta�e� do drukarki albo jej
sterownika, ale og�lnie takie drukarki "maj� uruchomionego" lpd i
dostarczaj� jedn� lub wi�cej kolejek, do kt�rych mo�esz
drukowa�. HP mo�e pracowa� np. z takim /etc/printcap
:
lj-5|remote-hplj:\ :lp=/dev/null:sh:\ :sd=/var/spool/lpd/lj-5:\ :rm=nazwa.drukarki.pl:rp=raw:
Drukarki HP LaserJet z interfejsami Jet Direct obs�uguj� generalnie dwie wbudowane kolejki - "surow�" (raw), kt�ra akceptuje PCL (i mo�liwe, �e PostScript) oraz "tekstow�", kt�ra akceptuje zwyk�e ASCII i radzi sobie od razu z "efektem schodk�w".
W �rodowisku wielkoskalowym, szczeg�lnie w du�ych �rodowiskach, gdzie niekt�re drukarki nie obs�uguj� PostScript-u, mo�e by� po�yteczne ustawienie specjalnego serwera drukowania, do kt�rego drukuj� wszystkie maszyny i na kt�rym uruchamiane s� wszystkie zadania ghostscript-a.
Pozwala to twojemu Linux-owi dzia�a� jako serwer wydruk�w dla drukarki, i u�tykownicy mog� robi� swoje wydruki szybko i zajmowa� si� swoimi rzeczami zamiast czeka� a� drukarka sko�czy drukowa� prac� kogo� innego.
Aby to zrobi�, ustaw na swoim Linux-ie kolejk�, kt�ra wskazuje na HP LJ wyposa�on� w ethernet. Teraz ustaw kolejk� u wszystkich swoich klient�w na tego Linux-a.
Niekt�re drukarki sieciowe HP wyra�nie nie akceptuj� ustawie� strony tytu�owej (banner page) wys�anej przez klienta; mo�na wy��czy� ich wewn�trznie generowan� tak� stron� przez po��czenie si� z drukark� telnet-em, wci�ni�cie dwa razy <<ENTER>>, wpisanie "banner: 0" i nast�pnie "quit". S� inne ustawienia, kt�re mo�esz tak�e w taki spos�b zmieni� - wpisz "?", �eby wy�wietli� ich list�.
Niekt�re drukarki (oraz "czarne pude�ka" z sieciowym drukowaniem) obs�uguj� tylko pro�ciutkie nie-protoko�owane czyste po��czenia TCP. Zauwa�alne w tej kategorii s� wczesne modele kart JetDirect (w�aczaj�c niekt�re JetDirectEx). Og�lnie, aby drukowa� na takiej drukarce, musisz otworzy� po��czenie TCP na danym porcie (z regu�y 9100) i umie�ci� tam swoje zadanie do wydrukowania. Mo�na to zaimplementowa� m.in. w Perl-u:
#!/usr/bin/perl # Thanks to Dan McLaughlin for writing the original version of this # script (And to Jim W. Jones for sitting next to Dan when writing me # for help ;) $fileName = @ARGV[0]; open(IN,"$fileName") || die "Can't open file $fileName"; $dpi300 = "\x1B*t300R"; $dosCr = "\x1B&k3G"; $ends = "\x0A"; $port = 9100 unless $port; $them = "bach.sr.hp.com" unless $them; $AF_INET = 2; $SOCK_STREAM = 1; $SIG{'INT'} = 'dokill'; $sockaddr = 'S n a4 x8'; chop($hostname = `hostname`); ($name,$aliases,$proto) = getprotobyname('tcp'); ($name,$aliases,$port) = getservbyname($port,'tcp') unless $port =~ /^\d+$/;; ($name,$aliases,$type,$len,$thisaddr) = gethostbyname($hostname); ($name,$aliases,$type,$len,$thataddr) = gethostbyname($them); $this = pack($sockaddr, $AF_INET, 0, $thisaddr); $that = pack($sockaddr, $AF_INET, $port, $thataddr); if (socket(S, $AF_INET, $SOCK_STREAM, $proto)) { # print "socket ok\n"; } else { die $!; } # Give the socket an address. if (bind(S, $this)) { # print "bind ok\n"; } else { die $!; } # Call up the server. if (connect(S,$that)) { # print "connect ok\n"; } else { die $!; } # Set socket to be command buffered. select(S); $| = 1; select(STDOUT); # print S "@PJL ECHO Hi $hostname! $ends"; # print S "@PJL OPMSG DISPLAY=\"Job $whoami\" $ends"; # print S $dpi300; # Avoid deadlock by forking. if($child = fork) { print S $dosCr; print S $TimesNewR; while (<IN>) { print S; } sleep 3; do dokill(); } else { while(<S>) { print; } } sub dokill { kill 9,$child if $child; }
Jedn� wad� lpd jest to, �e if nie s� uruchamiane dla drukarek odleg�ych. Je�li oka�e si�, �e potrzebujesz if, mo�esz ustawi� podw�jn� kolejk� i ponownie zkolejkowa� dany wydruk. We� ten printcap jako przyk�ad:
lj-5:remote-hplj:\ :lp=/dev/null:sh:\ :sd=/var/spool/lpd/lj-5:\ :if=/usr/lib/lpd/filter-lj-5: lj-5-remote:lp=/dev/null:sh:rm=nazwa.drukarki.pl:\ :rp=raw:sd=/var/spool/lpd/lj-5-raw:
w �wietle tego, skrypt filter-lj-5 to:
#!/bin/sh gs <opcje> -q -dSAFER -sOutputFile=- - | \ lpr -Plj-5-remote -U$5
Opcja -U dla lpr dzia�a tylko wtedy je�li lpr jest uruchomiony jako demon i ustawia ona poprawnie zleceniodawc� kolejki w ponownie zainicjowanej kolejce. Powiniene� raczej u�y� bardziej pewnej metody na zdobycie identyfikatora u�ytkownika, poniewa� niezawsze jest to argument 5. Zobacz w podr�cznik systemowym na temat printcap.
Drukowanie z Windows (czy OS/2) na Linux-ie jest obs�ugiwane poprzez SMB w pakiecie SAMBA, kt�ry tak�e umo�liwia wsp�dzielenie plik�w dla Windows.
Samba zawiera ca�kiem poka�n� dokumentacj�. Mo�esz albo skonfigurowa� magic-filter na Linux-ie i drukowa� tam PostScript, albo zainstalowa� sterowniki dla konkretnej drukarki na wszystkich komputerach z Winndows i mie� kolejk� dla nich bez �adnych filtr�w. Poleganie na tych sterownikach mo�e czasami dawa� lepsze efekty, ale jest to uci��liwe ze strony administratora je�li jest du�o komputer�w z Windows. Wi�c spr�buj najpierw PostScript-u.
Netatalk obs�uguje drukowanie z Apple poprzez EtherTalk. Na stronie Netatalk HOWTO znajdziesz wi�cej informacji.
Jest jaka� obs�uga drukowania z Netware przez Linux-a oferowana przez czy z powodu Calder-y, ale nie mam poj�cia czy Linux mo�e oferowa� drukarki dla klient�w Netware.
Jest wiele program�w, kt�re pozwol� ci na odbieranie i wysy�anie
fax�w. Jednym z bardziej z�o�onych jest program Sama Lefflera pod
nazw� HylaFax. Jest on dost�pny na ftp.sgi.com
. Obs�uguje
on wiele rzeczy od wi�kszej ilo�ci modem�w do rozg�aszania (broadcasting).
Dost�pny jest tak�e efax, prosty program wysy�aj�cy fax-y - jest on lepszym wyborem dla Linux-owc�w. Program mgetty mo�e odbiera� faxy (a nawet wysy�a� poczt� g�osow� na niekt�rych modemach!).
Dost�pny jest eksperymentalny serwis, kt�ry pozwala ci na wys�anie poczty elektronicznej z do��czonym fragmentem, kt�ry ma by� wydrukowany na faxie gdzie� indziej. Obs�ugiwane s� takie formaty jak PostScript, tak wi�c pomimo, i� nie obejmuje swym zasi�giem wszystkiego, mo�e by� on bardzo przydatnym serwisem. Wi�cej informacji na temat drukowania poprzez Zdalny Serwis Drukowania znajdziesz na stronie o zdalnym drukowaniu.
Tutaj wchodzimy w prawdziw� sie� oprogramowania. Og�lnie, Linux mo�e uruchamia� cztery typy binari�w z r�nym sukcesem: Linux, iBCS, Win16/Win32s (za pomoc� dosemu i kiedy� Wine) oraz Mac/68k (przy pomocy Executora). Ja om�wi� tylko czysto-Linux-owe i popularne Unix-owe oprogramowanie, poza tym WordPerfect dla SCO i przypuszczalnie inne komercyjne procesory tekstu tak�e dobrze dzia�aj� na Linux-owej emulacji iBCS.
Dla Linux-a wyb�r jest przewa�nie ograniczony do oprogramowania dost�pnego og�lnie dla Unix-a.
Wi�kszo�� j�zyk�w "markup" jest bardziej elastyczna dla wi�kszych albo powtarzalnych projekt�w, gdzie chcesz, aby komputer kontrolowa� wygl�d rezultatu/wydruku, aby utworzy� og�lny wz�r. Pr�ba zrobienia jakiego� �adnego znaczka w j�zyku "markup" przypuszczalnie by "bola�a"...
nroff
To by� jeden z pierwszych j�zyk�w "markup" dla Unix-a. Strony z podr�cznika systemowego s� najpopularniejszym przyk�adem tekst�w sformatowanych przy pomocy makr *roff-a. Wiele ludzi przeklina ten j�zyk, ale nroff ma, przynajmniej dla mnie, bardziej z�o�on� sk�adni� ni� to jest konieczne i przypuszczalnie jest z�ym wyborem dla nowych prac. Jednak warto jest wiedzie�, �e mo�esz zamieni� napisan� w groff-ie stron� bezpo�rednio na PostScript. Wi�kszo�� polece� "man" zrobi to za ciebie np. man -t co�| lpr.
TeX
oraz j�zyk makr - LaTeX, s� jednym z najcz�ciej u�ywanych j�zyk�w "markup" na Unix-ie. Techniczne prace s� cz�sto napisane w LaTeX-u poniewa� bardzo upraszcza okre�lenie wygl�du tekstu i jest wci�� jednym z niewielu system�w obr�bki tekstu, kt�ry obs�uguje zapisy matematyczne dok�adnie i dobrze na raz. Formatem wyj�ciowym TeX-a jest dvi (DeVice Independent - czyli niezale�ny od urz�dzenia [przyp. t�um.]) i mo�na go zamieni� na PostScript lub Hewlett Packard PCL przy pomocy dvips lub dvilj. [TeX czyta si� "tech" - przyp. t�um.].
Dost�pny jest przynajmniej jeden program do obr�bki tego j�zyka na Unix-a; formuuje on podstawy systemu dokument�w Linuxdoc-SGML. Mo�e on tak�e obs�ugiwa� inne DTD.
Kto� zasugerowa�, �e dla prostych projekt�w, wystarczy napisanie w HTML-u i drukowa� przy pomocy Netscape-a. Ja si� z tym jednak nie zgadzam.
[ Jest to skr�t od What You See Is What You Get - czyli to co widzisz to dostaniesz, a oznacza, i� wydrukowane zostanie DOK�ADNIE to co jest widoczne na ekranie i DOK�ADNIE w taki sam spos�b - przyp. t�um.]
W tej chwili jest niedob�r oprogramownia do obr�bki tekstu WYSIWYG. Nie b�j si� napisa� jakiego� i daj mi zna� je�li omin��em co� tutaj.
Jest to zako�czenie dla LaTeX-a, kt�re wygl�da bardzo obiecuj�co. Odwied� stron� domow� LyX-a je�li chcesz wi�cej informacji.
AUIS zawiera ez - edytor w stylu WYSIWYG z wi�kszo�ci� cech podstawowego procesora tekstu, mo�liwo�ciami HTML oraz pe�n� obs�ug� poczty elektronicznej MIME i grup dyskusyjnych (news-ow).
Przynajmniej Caldera i Red Hat dostarczaj� pakiety zawieraj�ce zwyk�e aplikacje biurowe jak edytor w stylu WYSIWYG i arkusz kalkulacyjny. Powiedzia�bym, �e robi� dobr� robot�, ale nigdy nie u�ywa�em takich pakiet�w. S�dze, �e Caldera dostarcza tak�e WABI firmy Sun, tak wi�c m�g�by� przypuszczalnie uruchomi� jaki� MS Office pod tym je�li musia�by� zintegrowa� si� z plikami innych.
Jeff Phillips <jeff@I_RATUS.org> u�ywa WordPerfect-a dla Linux-a z Caldery (w Slackware r�nego rodzaju) i twierdzi, �e dzia�a mu to dobrze. Wygl�da na to, �e zawiera on wbudowan� obs�ug� drukarek, jak to mo�na by si� spodziewa�. Caldera powinna mie� jakie� informacje na swojej stronie WWW.
RedHat dostarcza pakiet o nazwie Applixware; Ich stron� mo�na znale�� pod adresem www.redhat.com.
Inni sprzedawcy niech mi dadz� zna� jakie maj� oferty.
Prawie wszystko co mo�esz wydrukowa�, mo�esz te� zobaczy� na ekranie.
Ghostscript posiada sterownik do X11; najlepiej je�li jest on u�yty pod kontrol� podgl�darki PostScript o nazwie Ghostview. Najnowsza wersja tego programu powinna by� tak�e w stanie wy�wietli� pliki PDF.
Niezale�ne od urz�dzenia (DeVice Independant) pliki TeX-a mog� by� wy�wietlane w X11 u�ywaj�c xdvi. Nowsze wersje xdvi wywo�uj� ghostscript, aby wykona� polecenia typowo PostScriptowe.
Jest tak�e sterownik na VT100. Nazywa si� dgvt. Tmview dzia�a z Linux-em i svgalib je�li to wszystko na co ci� sta�.
Lpd udostepnia pi�� atrybut�w, kt�re mo�esz ustawi� w pliku
/etc/printcap
, aby kontrolowa� wszystkie ustawienia portu
szeregowego, do kt�rego do��czona jest drukarka. Przeczytaj stron�
podr�cznika systemowego na temat
printcap i
zapami�taj znaczenia: br#, fc#, xc#,
fs# i xs#. Ostatnie cztery z tych atrybut�w to
mapy bitowe oznaczaj�ce ustawienia portu. Atrybut br# jest
pr�dko�ci�: np. br#9600.
T�umaczenie z postaci stty na printcap jest bardzo proste. Je�li musisz, to zobacz stron� podr�cznika systemowego na temat stty.
U�yj stty, aby ustawi� port drukarki, tak �eby� m�g� wys�a� plik do tego portu (poleceniem cat) i otrzyma� poprawny wydruk. Oto co wy�wietla polecenie stty -a dla mojego portu drukarki:
dina:/usr/users/andy/work/lpd/lpd# stty -a < /dev/ttyS2 speed 9600 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; min = 1; time = 0; -parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon -ixoff -iuclc -ixany -imaxbel -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke
Jedynymi zmianami mi�dzy tym, i stanem w jakim port jest
inicjowany podczas startu s� -clocal
, -crtscts
i
ixon
. Tw�j port mo�e mie� inne ustawienia w zale�no�ci od tego
jak twoja drukarka kontroluje przep�yw (flow control).
stty u�ywa si� w�a�ciwie w dziwny spos�b. Poniewa� polecenie
stty operuje na terminalu pod��czonym do jego standardowego
wej�cia, ty u�ywasz je, aby manipulowa� danym portem szeregowym
przez u�ycie znaku <
jak powy�ej.
Jak ju� masz dobre ustawienia, tak �e cat plik >
/dev/ttyS2 (w moim przypadku) dzia�a, zajrzyj do pliku
/usr/src/linux/include/linux/termios.h
. Zawiera on wiele
#define (definicji) i kilka struktur - mo�esz go sobie
wydrukowa� (przecie� drukarka dzia�a, nie ?) i u�ywa� jako
pomocy. Id� do sekcji, kt�ra zaczyna si� tak:
/* c_cflag bit meaning */ #define CBAUD 0000017
Sekcja ta zawiera znaczenia bit�w fc# i fs#. Zauwa�ysz, �e nazwy (po ilo�ci bod�w) s� identyczne z tymi z polecenie stty. A nie m�wi�em, �e to b�dzie proste ?
Zobacz, kt�re z tych ustawie� maj� znak "-" na pocz�tku przy poleceniu stty. Zsumuj te wszystkie liczby (s� one zapisane w systemie �semkowym). To b�d� te bity, kt�re b�dziesz chcia� wyzerowa�, tak wi�c wynik jest tym, co masz wpisa� do fc#. Pami�taj oczywi�cie, �e b�dziesz ustawia� bity zaraz po tym jak je wyzerujesz, tak wi�c mo�esz u�y� "fc#0177777" (ja tak robi�).
Teraz zr�b to samo dla tych ustawie�, kt�re nie maj� znaku "-" na pocz�tku w poleceniu stty. W moim przyk�adzie wa�ne s� CS8 (0000060), HUPCL (0002000) i CREAD (0000200). Zapami�taj te� ustawienie dla swojej pr�dko�ci (u mnie jest to 0000015). Zsumuj to wszystko - w moim przyk�adzie b�dzie to 0002275. To b�dzie to, co masz wpisa� do fs#. ("fs#02275 dzia�a u mnie.)
Zr�b to samo z ustawieniem i zerowaniem dla nast�pnej sekcji pliku nag��wkowego. "c_lflag bits". W moim przypadku nie musia�em niczego ustawia�, tak wi�c u�y�em tylko "xc#0157777" i "xs#0".
Jon Luckey pisze, �e u niekt�rych starszych szeregowych drukarek z interfejsem za 10 cent�w i ma�ym buforem, stop w kontroli przep�ywu oznacza rzeczywiste stop dla drukowania. Potem odkry�, �e �eby naprawi� t� niedogodno�� wystarczy wy��czy� FIFO w uk�adzie 16550 poleceniem setserial (�eby to zrobi� po prostu podajesz typ ukladu uart jako 8250).
Informacje na temat smbprint zosta�y zaczerpni�te z artyku�u
Marcela Roelofsa <marcel@paragon.nl>
.
Informacje na temat nprint i u�ywania drukarek NetWare zosta�y
dostarczone przez Michaela Smitha
<mikes@bioch.ox.ac.uk>
.
Sekcja na temat drukarek szeregowych pod lpd zosta�a napisana przez
Andrew Teffta <teffta@engr.dnet.ge.com>
.
Te wszystkie gammy i inne takie dla "gs" zosta�y dostarczone przez
Andreasa <quasi@hub-fue.franken.de>
.
Dwa paragrafy na temat 30 sekundowego "closing_wait" przy
sterownikach szeregowych zosta�y dostarczone przez Chrisa Johnsona
<cdj@netcom.com>
.
Robert Hart przys�a� kilka doskona�ych paragraf�w na temat ustawiania serwera drukarek dla po��czonych HP, kt�ych ja u�ywam w niezmienionej wersji.
I specjalne podzi�kowania dla tuzin�w nad tuzinami tych, kt�rzy wskazywali liter�wki, z�e adresy i b��dy w tym dokumencie przez lata.
Wersja ta jest wersj� ostateczn�. Dodany zosta� odno�nik do w�a�nie powsta�ego t�umaczenia dokumentu Printing-Usage-HOWTO.
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 (a mo�e ich tu troch� by�, bo nie znam si� tak bardzo na poligrafii) to pisz do mnie:
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.jtz.org.pl w katalogu /JTZ
.
Przet�umaczone przeze mnie dokumenty znajduj� si� tak�e na mojej stronie WWW. S� tam te� odwo�ania do Polskiej Strony T�umaczeniowej.
Kontakt z nasz� grup�, grup� t�umaczy mo�esz uzyska� poprzez list�
dyskusyjn� jtz@jtz.org.pl. Je�li chcesz sie na ni� zapisa�, to
wy�lij list o tre�ci subscribe jtz Imi� Nazwisko
na adres
majordomo@ippt.gov.pl
# # # #
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22