File: ApplePrint.pl.html

package info (click to toggle)
doc-linux-pl 1999.10.11-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 6,092 kB
  • ctags: 765
  • sloc: makefile: 44
file content (876 lines) | stat: -rw-r--r-- 37,001 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>Jak ustawi&aelig; drukark&ecirc; uywajc AppleTalk</TITLE>


</HEAD>
<BODY>
<H1>Jak ustawi&aelig; drukark&ecirc; uywajc AppleTalk<BR></H1>

<H2>Autor: Werner Eugster,
<A HREF="mailto:eugster@giub.unibe.ch">eugster@giub.unibe.ch</A><BR>
<B>Wersja polska: Bartosz Maruszewski
<A HREF="mailto:B.Maruszewski@zsmeie.torun.pl">B.Maruszewski@zsmeie.torun.pl</A><BR></B>
v1.01, 26 Lipca 1997</H2>
<P><HR>
<EM>Jako uytkownik Linux-a chcesz mie&aelig; dost&ecirc;p do drukarek Mac-a takich
jak LaserWriter siedzcych na sieci z kontrolerem EtherTalk. Jako
uytkownik Mac-a chcesz mie&aelig; dost&ecirc;p do wszystkich drukarek na
Linux-ie. Aby ustawi&aelig; taki serwis na Linux-ie musisz post&ecirc;powa&aelig; wedug
tej samej procedury w obu przypadkach.
Po skompilowaniu i zainstalowaniu oprogramowania AppleTalk
<B>netatalk</B> (jeli tego nie zrobie, to przeczytaj najpierw 
<A HREF="http://thehamptons.com/anders/netatalk">Podr&ecirc;cznik instalacji atalk</A> napisany przez <B>Andersa Brownwortha</B>) pewnie ju
uruchomie wszystkie demony poprzez rc.atalk w swoim katalogu
/etc. Ale najpierw upewnij si&ecirc;, e serwis AppleTalk rzeczywicie
dziaa zanim zaczniesz konfigurowa&aelig; drukarki.
Ja uywam netatalk w wersji 1.3.3 z atami opisanymi w Przewodniku
instalacyjnym Andersa Brownwortha. Powiedziano mi, e cieka do
filtr&oacute;w netatalk zmienia si&ecirc; w nowszych wersjach.</EM>
<HR>
<H2><A NAME="s1">1. Moja strefa AppleTalk.</A></H2>

<P>
<P>Napisz <CODE>/usr/local/atalk/bin/getzones</CODE>, aby sprawdzi&aelig; czy
wszystkie strefy AppleTalk s widziane przez Linux-a. Powiniene
widzie&aelig; przynajmniej jedn nazw&ecirc;, kt&oacute;ra jest twoj stref lokaln,
w innym przypadku bardzo prawdopodobne jest, e tw&oacute;j serwis
AppleTalk nie dziaa poprawnie. Ja dostaj&ecirc; co takiego (tylko kilka
pierwszych linii):
<P>
<PRE>
        Pingo$ /usr/local/atalk/bin/getzones | more
        VLSB
        LSB-Integrative Biology
        LSB-Biology Library
        LSB-Herbaria
        LSB-UCMP
        LSB-MVZ
        Vanishing Packets
        MIP
        Barker Hall
</PRE>
<P>Przy pomocy opcji dowiesz si&ecirc; kt&oacute;ra jest twoj stref:
<P>
<PRE>
        Pingo$ /usr/local/atalk/bin/getzones -m
        VLSB
        Pingo$
</PRE>
<P>Tak wi&ecirc;c moj stref lokaln jest VLSB, kompletn list&ecirc; wszystkich
lokalnych stref mona uzyska&aelig; przy pomocy opcji <CODE>-l</CODE> (w razie
gdy twoja drukarka nie jest w twojej strefie musisz zna&aelig; dokadn
nazw&ecirc; strefy).
<P>
<H2><A NAME="s2">2. Dowiedz si&ecirc; jaka jest nazwa drukarki.</A></H2>

<P>
<P>Jeli chcesz tylko, aby lokalna drukarka UNIX-owa bya dost&ecirc;pna dla
klient&oacute;w AppleShare, to przeskocz t&ecirc; sekcj&ecirc; i id do 
<A HREF="#sek3">sekcji nr 3</A>.
<P>Najpierw musimy si&ecirc; dowiedzie&aelig; jak s zdefiniowane nazwy Internetowe w
AppleTalk. Jest to bardzo podobne do tego co znasz ze swojego
Linux-a. Nazwy wyst&ecirc;puj w formie: <CODE>objekt:typ@strefa</CODE>. Jeli
nie zaley ci na nazwie strefy lokalnej to uyj <CODE>@*</CODE>.
<P>Tak wi&ecirc;c, aby znale&aelig; wszystkie objekty w twojej strefie, napisz
<CODE>/usr/local/atalk/bin/nbplkup</CODE>, co wypluje wielk list&ecirc;, z
elementami jak ten:
<P>
<PRE>
Pingo$ /usr/local/atalk/bin/nbplkup |more
         Sun ValleyUs Macintosh:Macintosh IIsi           12398.245:253
         Sun ValleyUs Macintosh:Workstation              12398.245:4
       IB Instructional Support:  Power Macintosh        12398.196:253
       IB Instructional Support:Workstation              12398.196:4
                  centris 660AV:  Macintosh              12398.51:253
                  centris 660AV:Workstation              12398.51:4
           Chapin Lab vx - JoeC:Macintosh IIvx           12398.101:253
           Chapin Lab vx - JoeC:Workstation              12398.101:4
              Pingo Mac Printer:LaserWriter              12398.164:129
          Pingo Default Printer:LaserWriter              12398.164:128
                          Pingo:AFPServer                12398.164:130
                          Pingo:netatalk                 12398.164:4
                          Pingo:Workstation              12398.164:4
                      Lucicutia:AFPServer                12398.123:248
           Theobald Chapin, III:LaserWriter              12398.73:191
</PRE>
<P>Jeli chcesz zna&aelig; tylko objekty konkretnego typu jak LaserWriter,
musisz uy&aelig; <CODE>/usr/local/atalk/bin/nbplkup
:LaserWriter</CODE>. Upewnij si&ecirc;, e wstawie dwukropek, kt&oacute;ry
oznacza, e chcesz zna&aelig; tylko objekty typu LaserWriter. Sowo nie
moe zawiera&aelig; duych liter, ale nie moesz omin&aelig; spacji. Tak wi&ecirc;c,
eby zobaczy&aelig; Macintosh IIvx musisz wstawi&aelig; nazw&ecirc; typu w
cudzysowia:
<P>
<PRE>
Pingo$ /usr/local/atalk/bin/nbplkup  :"Macintosh IIvx"
           Chapin Lab vx - JoeC:Macintosh IIvx           12398.101:253
Pingo$
</PRE>
<P>Dobra. Kr&oacute;tko: Chc&ecirc; m&oacute;c drukowa&aelig; z mojego Linux-a na LaserWriter o
nazwie Theobald Chapin, III. Zanim spr&oacute;bujesz ustawi&aelig; printcap dla
kolejki tej drukarki, upewnij si&ecirc; czy masz dost&ecirc;p do tej drukarki.
<P>Napisz <CODE>/usr/local/atalk/bin/papstatus -p "Theobald Chapin,
III"</CODE> (zauwa, e cudzysowia su tylko temu, aby
poinformowa&aelig; twoj powok&ecirc;, i Theobald Chaplin, III to jeden
argument a nie trzy) i powiniene otrzyma&aelig; co takiego:
<P>
<PRE>
status: idle
</PRE>
<P>Jeli nie, to sprawd czy AppleTalk rzeczywicie dziaa (moe demon
nie jest uruchomiony ? Sprawd tak: <CODE>ps -xa | grep atalkd</CODE> i
<CODE>ps -xa | grep afpd</CODE>).
<P>Poniewa LaserWriter spodziewa si&ecirc; PostScriptu, powiniene mie&aelig; pod
r&ecirc;k kr&oacute;tki plik testowy w PostScripcie. Nazwa mojego pliku to:
test.eps i mog&ecirc; go wysa&aelig; bezporednio do Theobald Chaplin, III
uruchamiajc klienta drukowania AppleShare:
<P>
<PRE>
/usr/local/atalk/bin/pap -p "Theobald Chapin, III":LaserWriter@VLSB test.eps
</PRE>
<P>Zauwa, e doaczyem nazw&ecirc; strefy tylko po to, eby si&ecirc; upewni&aelig;,
e wszystko dziaa dobrze. Jeli twoje zadanie drukowania si&ecirc;
pojawi (co sekund&ecirc; - czy jako tak - otrzymasz komunikat jeli kto
inny uywa drukarki w tym samym momencie. Obserwuj odpowied twojej
drukarki i co robi kiedy zacznie drukowa&aelig; tw&oacute;j plik).
<P>Jeli b&ecirc;dziesz mia jakie kopoty, uyj aecho, aby sprawdzi&aelig;
objekty AppleTalk w ten sam spos&oacute;b jakby uywa ping-a przez
TCP/IP (Ctrl-C zatrzymuje aecho):
<P>
<PRE>
/usr/local/atalk/bin/aecho "Theobald Chapin, III":LaserWriter@VLSB
14 bytes from 12398.73: aep_seq=0. time=15. ms
14 bytes from 12398.73: aep_seq=1. time=14. ms
14 bytes from 12398.73: aep_seq=2. time=14. ms
14 bytes from 12398.73: aep_seq=3. time=14. ms

----12398.73 AEP Statistics----
5 packets sent, 4 packets received, 20% packet loss
round-trip (ms)  min/avg/max = 14/14/15
Pingo$ 
</PRE>
<P>Powiniene straci&aelig; tylko ostatni pakiet przy przerwaniu Ctrl-C, w
innym wypadku co jest nie talk z twoim poczeniem.
<P>
<H2><A NAME="sek3"></A> <A NAME="s3">3. Ustawianie serwisu drukowania na Linux-ie.</A></H2>

<P>
<P>B&ecirc;d dwa kroki. Najpierw upewnisz si&ecirc;, e moesz drukowa&aelig; na
Linux-ie potem upewnisz si&ecirc;, e ta drukarka jest dost&ecirc;pna dla
klient&oacute;w AppleShare.
<P>M&oacute;wic janiej: najpierw ustawisz swoj drukark&ecirc;, eby bya
dost&ecirc;pna dla UNIX-a (<CODE>lpd</CODE> - demona drukowania) (sekcja 3.1 do
3.2), a potem udost&ecirc;pnisz j innym uytkownikom w strefie AppleTalk
(sekcja 3.3) co jest oczywicie opcjonalne.
<P>Wielu ludzi nie lubi ustawiania z dw&oacute;ch powod&oacute;w:<BR> (1) Jeli
drukarka AppleTalk jest ju dostepna w strefie AppleTalk, to
uytkownicy Mac-&oacute;w mog si&ecirc; do niej bezporednio doczy&aelig;. Wi&ecirc;c nie
ma potrzeby istnienia kolejki na Linux-ie. Jednak ja jestem
uytkownikiem Linux-a i chc&ecirc; mie&aelig; dost&ecirc;p do tej drukarki i dlatego
m&oacute;j poniszy opis robi dokadnie to: pozwala uytkownikowi Linux-a na
drukowanie na drukarce AplleTalk.<BR> (2) Jeli twoja drukarka
jest drukark lokaln podczon do r&oacute;wnolegego portu Linux-a
(np. <CODE>/dev/lp1</CODE>), to jest kilka zmian w pliku
<CODE>/etc/printcap</CODE>. Ja poka&ecirc; przykad ustawienia z drukark
lokaln, kt&oacute;rego nie testowaem, ale dostaem od innego
uytkownika. Przeczytaj 
<A HREF="#sek34">sekcj&ecirc; 3.4</A> na ten
temat i sprawd szczeg&oacute;owe informacje na temat 
<A HREF="http://artoo.hitchcock.org/~flowerpt/projects/linux-netatalk/ghostscript.html">uywania Ghostscript-u razem z Netatalk</A> napisane przez
Mike'a Pearsona i Billa McGonigle'a.
<P>
<H2>3.1 Konfiguracja twojego /etc/printcap.</H2>

<P>
<P>Jeli twoja drukarka moe ju drukowa&aelig; przy pomocy polecenia
<P>
<PRE>
Pingo$ lpr -P lp test.eps
</PRE>
<P>to moesz przeskoczy&aelig; ten pierwszy krok.
<P>W innym przypadku sta&ntilde; si&ecirc; "root-em" i id do katalogu /etc, eby
wyedytowa&aelig; plik printcap. Szczeg&oacute;y znajdziesz na stronie
podr&ecirc;cznika systemowego "man". Ja opisz&ecirc; tylko jak ustawi&aelig;
LaseWriter, tak eby dziaa z poleceniem lpr z Linux-a.
<P>Dodaj pozycj&ecirc; dla swojej drukarki do pliku printcap. Ja mam
zdefiniowan tylko LaserWriter i m&oacute;j plik wyglda tak:
<P>
<PRE>
lp|Pingo LaserWriter|Theobald Chapin, III:\
        :sd=/usr/spool/theobald:\
        :lp=/dev/null:\
        :pl#63:pw#85:\
        :mx#0:\
        :sh:sf:\
        :lf=/usr/adm/lpd-errs:\
        :if=/usr/local/bin/myif:\
        :of=/usr/local/atalk/etc/ofpap:
</PRE>
<P>
<H3>nazwa drukarki dla uytkownik&oacute;w Linux-a</H3>

<P>
<P>Pierwsza linia definiuje trzy logiczne nazwy, kt&oacute;re nie musz mie&aelig;
adnego podobie&ntilde;stwa do nazw, jakie chcesz nada&aelig; tej drukarce w
kliencie AppleShare. Dlatego nazwaem j lp, poniewa jest to nazwa
stosowana w wi&ecirc;kszoci UNIX-&oacute;w. Inne nazwy stosuj&ecirc; tylko po to,
eby wiedzie&aelig; co to waciwie za drukarka.
<P>
<H3>katalog zada&ntilde;</H3>

<P>
<P>Potem musisz mie&aelig; katalog zada&ntilde;, gdzie demon b&ecirc;dzie skadowa
zadania. Ja nazwaem sw&oacute;j katalog zada&ntilde;
<CODE>/usr/spool/theobald</CODE> w tej samej hierarchii co katalog
poczty.
<P>
<PRE>
Pingo$ ls -l
drwxrwxr-x   2 root     mail         1024 Feb  8 08:46 mail
drwxr-xr-x   2 root     mail         2048 Feb  8 17:23 mqueue
drwxrwxr-x   5 news     news         1024 Sep  1  1994 news
drwxrwxr-x   2 root     lp           1024 Feb  9 13:15 theobald
</PRE>
<P>Stw&oacute;rz go uywajc mkdir a potem ustaw waciciela (root), grup&ecirc;
(lp)
<P>
<PRE>
Pingo$ chown root.lp theobald
</PRE>
<P>i prawa dost&ecirc;pu
<P>
<PRE>
Pingo$ chmod 775 theobald
</PRE>
<P>Potem stworzyem dwa pliki: lock i status w tym katalogu:
<P>
<PRE>
Pingo$ cd theobald
Pingo$ touch lock; chown root.root lock; chmod 004 lock
Pingo$ touch status; chown root.root status; chmod 664 status
</PRE>
<P>teraz moesz zdefiniowa&aelig; ten katalog jako katalog zada&ntilde; jak ja to
zrobiem w linii 2.
<P>
<H3>urzdzenie drukarki</H3>

<P>
<P>Jeli twoja drukarka jest lokaln drukark doczon do urzdzenia
takiego jak<CODE>/dev/lp1</CODE>, to to jest urzdzenie, kt&oacute;rego
potrzebujesz. Uyjesz mknod, aby utworzy&aelig; to urzdzenie jeli go
jeszcze nie ma. Dla drukarki w AppleTalk nie chcesz waciwie
drukowa&aelig; do adnego urzdzenia, ale wysa&aelig; zadanie do tej drukarki
uywajc programu pap z katalogu
<CODE>/usr/local/atalk/bin</CODE>. Zrobi si&ecirc; to przy pomocy filtra psf,
kt&oacute;ry uruchomi program pap, aby mie&aelig; dost&ecirc;p do drukarki. Dlatego,
po tym jak zadanie zostao wysane do LaserWriter, jest ono cigle
w Linux-ie, poniewa demon drukowania lpd ma na samym ko&ntilde;cu wysa&aelig;
to zadania na urzdzenie. Dlatego zdefiniujemy urzdzenie
<CODE>/dev/null</CODE> jako urzdzenie drukarki, kt&oacute;re wyle twoje
zadanie w pr&oacute;ni&ecirc; (bo chcesz mie&aelig; tylko to co si&ecirc; pojawio na
drukarce AppleTalk, prawda?). Dlatego w trzeciej linii wpiszemy
<CODE>:lp=/dev/null:\</CODE>. Przeczytaj stron&ecirc; podr&ecirc;cznika systemowego
na temat psf, jeli masz wi&ecirc;cej ni jedn drukark&ecirc; AppleTalk i
jeli masz problemy z uywaniem urzdzenia <CODE>/dev/null</CODE> jako
urzdzenia drukarki.
<P>
<H3>rozmiar strony, maksymalny rozmiar pliku i nag&oacute;wek</H3>

<P>
<P>Uyj p&oacute;l pl i pw dla okrelenia dugoci strony (linie) i
szerokoci (znaki). Polem mx moesz zdefiniowa&aelig; maksymalny rozmiar
pliku drukowanego. Jeli plik jest wi&ecirc;kszy, demon drukarki obetnie
go, albo odm&oacute;wi drukowania. Jeli ustawisz t&ecirc; warto&aelig; na 0
(mx#0), oznacza to, i mona drukowa&aelig; pliki o nieograniczonych
rozmiarach. Uwaaj, bo przypadkowo papier moe si&ecirc; sko&ntilde;czy&aelig; jeli
nikt si&ecirc; nie b&ecirc;dzie o to troszczy&aelig;. A twoja godna drukarka b&ecirc;dzie
woa&aelig; o papier ! Tak wi&ecirc;c radz&ecirc; nie ustawia&aelig; pola mx na 0 jeli
sko&ntilde;czye ju testowa&aelig; i wszystko jest w porzdku.
<P>Polem sh moemy zabroni&aelig; drukowania strony pocztkowej (z
identyfikatorem waciciela itp.)
<P>Polem sf moemy zabroni&aelig; drukowania feed forms.
<P>
<H3>zapisywanie b&ecirc;d&oacute;w</H3>

<P>
<P>Ja zdefiniowaem do tego celu plik
<CODE>/usr/adm/lpd-errs</CODE>. B&ecirc;dziesz musia stworzy&aelig; ten plik samemu
(np. poleceniem <CODE>touch /usr/adm/lpd-errs</CODE>)
<P>
<H3>filtry</H3>

<P>
<P><B>To jest wane !</B> Jak ju to opisaem, twoje zadanie zostanie
wysane do drukarki AppleTalk tylko jeli zainstalujesz odpowiedni
filtr, kt&oacute;ry uruchomi program, <CODE>pap</CODE>. Pakiet netatalk uywa
konceptu hackerskiego, uywajc filtru <CODE>psf</CODE>, ale z r&oacute;nymi
doczeniami do niego. <CODE>psf</CODE> analizuje nazw&ecirc; tego doczenia,
aby dowiedzie&aelig; si&ecirc;, czy ma uruchomi&aelig; pap jeli poda&ntilde;cuch jest w
nazwie doczenia, i odwr&oacute;ci&aelig; kolejno&aelig; drukowania jeli w nazwie
jest rev. Sp&oacute;jrz na to wydajc polecenie:
<P>
<PRE>
Pingo$ ls -l /usr/local/atalk/etc
lrwxrwxrwx   1 root     root            3 Feb  8 14:44 ifpap -> psf
lrwxrwxrwx   1 root     root            3 Feb  8 14:44 ifpaprev -> psf
lrwxrwxrwx   1 root     root            3 Feb  8 14:44 ofpap -> psf
-rwxr-xr-x   1 root     root        49299 Feb  8 14:44 papd
-rw-r--r--   1 root     root           35 Feb  9 13:48 papd.conf
-rwxr-xr-x   1 root     root        11395 Feb  8 14:44 psf
lrwxrwxrwx   1 root     root            3 Feb  8 14:44 tfpap -> psf
lrwxrwxrwx   1 root     root            3 Feb  8 14:44 tfpaprev -> psf
Pingo$ 
</PRE>
<P>Tak wi&ecirc;c filtr o nazwie <CODE>ifpap</CODE> uruchomi pap, <CODE>ifpaprev</CODE>
odwr&oacute;ci kolejno&aelig; stron i uruchomi <CODE>pap</CODE>. Zamienia on zwyky
tekst na PostScript, tak eby nie sko&ntilde;czy na komunikacie z
b&ecirc;dem.
<P>Jedyny filtr jaki musisz zainstalowa&aelig; to of:
<P>
<PRE>
        :of=/usr/local/atalk/etc/ofpap:
</PRE>
<P>gdzie <CODE>/usr/local/bin/myif</CODE> jest prostym skryptem powoki,
kt&oacute;ry pozwala mi na przerywanie linii w tekcie, kt&oacute;re zostay
zapisane programem, kt&oacute;ry automatycznie amie linie
(bp. textedit). Niestety filtr <CODE>psf</CODE> nie robi nic takiego i
ignoruje ustawienia szerokoci papieru. Ja napisaem sw&oacute;j wasny
filtr 
<A HREF="http://www.giub.unibe.ch/~eugster/linebreak.c">linebreak.c</A>, kt&oacute;ry robi to dla mnie i umie&aelig; nast&ecirc;pujce
linie w "myif":
<P>
<PRE>
#!/bin/sh
/usr/local/bin/linebreak $* | /usr/local/atalk/etc/ifpap $*
</PRE>
<P>Jeli w ten spos&oacute;b ustawisz filtr tekstowy, to linbreak b&ecirc;dzie
uwaa tylko na szeroko&aelig; strony (ustawion <CODE>pw</CODE>), podczas gdy
<CODE>ifpap</CODE> (<CODE>psf</CODE>) sprawdza tylko dugo&aelig;. Wyglda na to, e
<CODE>psf</CODE> zakada, e pierwsza linia to 0, tak wi&ecirc;c ustaw
<CODE>pl#63</CODE> jeli chcesz mie&aelig; 64 linii na stronie.
<P>Jeli nie chcesz amania linii, to po prostu umie&aelig; lini&ecirc;:
<P>
<PRE>
        :if=/usr/local/atalk/etc/ifpap:\
</PRE>
<P>Teraz zapisz sw&oacute;j nowy printcap. Jeli spr&oacute;bujesz teraz co
wydrukowa&aelig;, dowiesz si&ecirc;, e jeszcze nie dziaa, wi&ecirc;c czytaj
nast&ecirc;pny paragraf.
<P>Jak wspomniaem wczeniej, UNIX-owa nazwa drukarki w printcapie nie
ma odpowiednika dla nazwy drukarki w AppleTalk. Musisz stworzy&aelig;
plik <CODE>.paprc</CODE> w swoim katalogu zada&ntilde;, kt&oacute;ry b&ecirc;dzie zawiera
adres drukarki w AppleTalk. Jest to tylko jedna linia. Zauwa, e
nie musiaem umieszcza&aelig; nazwy drukarki w cudzysowia w tym pliku,
ale inni pisz mi, e u nich to dziaao tylko z cydzysowami. To
spr&oacute;buj najpierw bez cydzysow&oacute;w:
<P>
<PRE>
Pingo$ cat /usr/spool/theobald/.paprc
Theobald Chapin, III:LaserWriter@VLSB
</PRE>
<P>To teraz moesz zaczyna&aelig;.
<P>Jeli dostaniesz komunikat o b&ecirc;dzie jak
np. <CODE>"Turing:LaserWriter@Tech Support": NBP</CODE> wtedy spr&oacute;buj z
cudzysowami. Moe by&aelig; te tak, e musisz wstawi&aelig; tylko nazwe przed
dwukropkiem w cudzysowa, tak: <CODE>"Theobald Chapin,
III":LaserWriter@VLSB</CODE>. Jeli masz jeszcze jakie problemy, to myl
i kombinuj ;) NIe znam adnego uniwersalnego sposobu na rozwizanie
tego problemu.
<P>Wi&ecirc;cej na temat hackowania i r&oacute;nych obej&aelig; z filtrami znajdziesz w
sekcji 
<A HREF="#sek43">Znane problemy</A>.
<P>
<H2>3.2 Przetestuj drukark&ecirc;.</H2>

<P>
<P>Najpierw sprawd czy demon drukarki jest rzeczywicie uruchomiony:
<P>
<PRE>
Pingo$ ps -xa | grep lpd
   45  ?  SW    0:00 (lpd)
  346 pp0 D     0:00 grep lpd
Pingo$ 
</PRE>
<P>Spr&oacute;buj wydrukowa&aelig; plik w PostScripcie i plik tekstowy, eby si&ecirc;
przekona&aelig;, e wszystko dziaa. Przypuszczalnie musisz zrestartowa&aelig;
demona poleceniem <CODE>lpc</CODE>. Uruchom lpc i napisz <CODE>restart lp</CODE>,
<CODE>down lp</CODE> i <CODE>up lp</CODE>. Potem sprawd status:
<P>
<PRE>
lpc> status
lp:
        queuing is enabled
        printing is enabled
        no entries
        no daemon present
lpc> 
lpc> quit
</PRE>
<P>Teraz wydrukuj sw&oacute;j plik poleceniem
<P>
<PRE>
Pingo$ lpr -P lp filename
</PRE>
<P>Jeli wszystko jest w porzdku, to plik status w katalogu zada&ntilde;
powienien teraz zawiera&aelig; najwiesze informacje na temat twojej
drukarki:
<P>
<PRE>
Pingo$ cat /usr/spool/theobald/status
job: Paul; status: busy; source: LocalTalk
Pingo$ 
</PRE>
<P>
<H2>3.3 Skojarz t&ecirc; drukark&ecirc; z jak nazw dla AppleTalk.</H2>

<P>
<P>Jeli teraz p&oacute;jdziesz do Mac-a i spr&oacute;bujesz wybrac swoj now
drukark&ecirc; dowiesz si&ecirc;, e pokae si&ecirc; ona z nazw twojego serwera
Linux-owego. To moe nie by&aelig; zbyt zadowalajce, dlatego musisz
stworzy&aelig;, albo wyedytowa&aelig; plik papd.conf w katalogu etc AppleTalk,
<CODE>/usr/local/atalk/etc/papd.conf</CODE> (przeczytaj "man papd"
jeli chcesz zna&aelig; wi&ecirc;cej szczeg&oacute;&oacute;w). Minimum tego co musisz zrobi&aelig;
to umieszczenie w tym pliku nazwy jak chcesz nada&aelig; drukarce, a na
ko&ntilde;cu dopisz <CODE>:\</CODE> tak jak w printcap-ie. W drugiej linii
podajesz nazw&ecirc; jak ta drukarka ma w Linux-ie opcj pr. M&oacute;j plik
wyglda tak:
<P>
<PRE>
Pingo$ cat /usr/local/atalk/etc/papd.conf
Pingo Mac LaserWriter:\
        :pr=lp:
Pingo$
</PRE>
<P>Oznacza to, e (domylna) zmienna lp zawiera nazw&ecirc;: Pingo Mac
LaserWriter dla klienta AppleShare. Dowiesz si&ecirc; r&oacute;wnie, e teraz
uytkownik na Mac-u moe drukowa&aelig; bezporednio na drukarce Theobald
Chaplin III jak i poprzez Linux-a, gdzie nazwa drukarki to Pingo Mac
LaserWriter. Dla mnie jest wane, aby m&oacute;c drukowa&aelig; bezporenio na
tej drukarce, a podczas pracy na Mac-u drukowanie poprzez Linux-a
wydaje si&ecirc; o wiele szybsze, poniewa Linux zkolejkuje zadanie i
zniknie ono natychmiast z mojego desktopu.
<P>Jeli chcesz zarejestrowa&aelig; swoj drukark&ecirc; w jakiej strefie
AppleTalk (nie w domylnej strefie), po prostu podajesz t&ecirc; stref&ecirc;
wraz z rozszerzeniem <CODE>@nazwa_strefy</CODE> w pliku <CODE>papd.conf</CODE>:
<P>
<PRE>
MotorsLab@EEAP:\
        :pr=ee3rd:
</PRE>
<P>
<H2><A NAME="sek34"></A> 3.4 Jaka jest r&oacute;nica mi&ecirc;dzy lokaln drukark podczon do komputera Linux-owego?</H2>

<P>
<P>Ta sekcja nie jest jeszcze cakiem gotowa !!!
<P>
<PRE>
/etc/princap:
lp:lp=/dev/lp1:sd=/usr/spool/lp1:sh

/usr/local/atalk/etc/papd.conf:
HP LJIIIp:\
        :pr=lp:\
        :pd=/usr/local/atalk/etc/HP_LaserJet_IIIP.ppd:
</PRE>
<P>Sprawd szczeg&oacute;y na stronie 
<A HREF="http://artoo.hitchcock.org/~flowerpt/projects/linux-netatalk/ghostscript.html">Uywanie ghostscript-a wraz z Netatalk</A>.
<P>
<H2><A NAME="sek4"></A> <A NAME="s4">4. Rozwizywanie problem&oacute;w.</A></H2>

<P>
<P>
<H2>4.1 Og&oacute;lna strategia.</H2>

<P>
<P>Jeli masz jakie problemy podczas drukowania, nawet jeli dziaao
kiedy wszystko ustawiae tak jak opisaem, to sp&oacute;jrz do
<CODE>/usr/adm/mesaages</CODE> (albo do <CODE>/usr/log/messages</CODE> albo
<CODE>/var/log/messages</CODE> - przyp. tum.) oraz do
<CODE>/usr/adm/syslog</CODE> (patrz poprzednia uwaga). Jeli tylko
spr&oacute;bujesz co wydrukowa&aelig; uywajc filtru <CODE>psf</CODE>, to znajdziesz
podobne linie w wymienionych wyej plikach:
<P>
<PRE>
Feb 12 17:47:52 Pingo ofpap[1443]: starting for ?
Feb 12 17:47:52 Pingo ofpap[1443]: sending to pap[1444]
Feb 12 17:47:52 Pingo ofpap[1443]: straight text
Feb 12 17:47:59 Pingo ofpap[1443]: 1444 done
Feb 12 17:47:59 Pingo ofpap[1443]: pausing
Feb 12 17:48:01 Pingo ifpap[1447]: starting for ?
Feb 12 17:48:01 Pingo ifpap[1447]: sending to pap[1448]
Feb 12 17:48:01 Pingo ifpap[1447]: straight text
Feb 12 17:48:09 Pingo ifpap[1447]: 1448 done
Feb 12 17:48:09 Pingo ofpap[1443]: restarting
Feb 12 17:48:09 Pingo ifpap[1447]: done
Feb 12 17:48:09 Pingo ofpap[1443]: done
Feb 12 18:00:46 Pingo ofpap[1481]: starting for ?
Feb 12 18:00:46 Pingo ofpap[1481]: sending to pap[1482]
Feb 12 18:00:46 Pingo ofpap[1481]: straight text
Feb 12 18:00:51 Pingo ofpap[1481]: 1482 done
Feb 12 18:00:51 Pingo ofpap[1481]: pausing
Feb 12 18:00:52 Pingo ifpap[1485]: starting for ?
Feb 12 18:00:52 Pingo ifpap[1485]: sending to pap[1486]
Feb 12 18:00:52 Pingo ifpap[1485]: straight text
Feb 12 18:00:57 Pingo ifpap[1485]: 1486 done
Feb 12 18:00:57 Pingo ofpap[1481]: restarting
Feb 12 18:00:57 Pingo ofpap[1481]: done
Feb 12 18:00:57 Pingo ifpap[1485]: done
</PRE>
<P>Jeli co nie dziaa, otrzymasz komunikat w
<CODE>/usr/adm/syslog</CODE> jak ten:
<P>
<PRE>
Feb 12 10:04:59 Pingo papd[70]: No such printer: "lp"
Feb 12 10:04:59 Pingo papd[70]: printcap problem: "lp"
</PRE>
<P>(twoja domylna zmienna lp nie jest zdefiniowana)
<P>
<PRE>
Feb 12 17:02:21 Pingo ofpap[1149]: 1150 died with 1
Feb 12 17:02:21 Pingo lpd[1148]: lp: output filter died (1)
Feb 12 17:02:26 Pingo lpd[1148]: lp: Daemon filter 'f' terminated (11)
Feb 12 17:04:48 Pingo lpd[1195]: lp: Daemon filter 'f' terminated (11)
Feb 12 17:08:03 Pingo lpd[1216]: lp: Daemon filter 'f' terminated (11)
Feb 12 17:10:00 Pingo lpd[1228]: cannot execv /usr/local/bin/linebreak|/usr/local/atalk/ifpap
Feb 12 17:11:51 Pingo lpd[1244]: /usr/adm/lpd-errs: No such file or directory
</PRE>
<P>(<CODE>/etc/printcap</CODE> nie akceptuje strumieni w definicji
<CODE>if</CODE>; oto dlaczego uywaem skryptu
<CODE>/usr/local/bin/myif</CODE>. Zapomniaem take stworzy&aelig; pliku
<CODE>/usr/adm/lpd-errs</CODE>, kt&oacute;ry zdefiniowaem w
<CODE>/etc/printcap</CODE>)
<P>
<H2>4.2 Nieznane problemy</H2>

<P>
<P>Najpierw przeczytaj sekcj&ecirc; o 
<A HREF="#sek43">Znanych    problemach</A>. Jeli nie b&ecirc;dzie tam nic pomocnego dla ciebie, to
wylij do mnie list i docz do niego pliki <CODE>/etc/printcap</CODE>
oraz <CODE>/usr/local/atalk/etc/papd.conf</CODE>.
<P><B>nbplkup pokazuje nazw&ecirc; drukarki i jej adres, ale ja nie
dostaj&ecirc; adnej odpowiedzi z programu papstatus od tej drukarki.</B>
<P>
<H2><A NAME="sek43"></A> 4.3 Znane problemy.</H2>

<P>
<P>Dostaj&ecirc; duo list&oacute;w od ludzi, kt&oacute;rzy maj problemy, wi&ecirc;c umieszcz&ecirc;
tutaj rozwizania dla wszystkich. B&ecirc;dzie to rosnca, nieposortowana
lista. Po prostu sprawd czy tw&oacute;j problem jest tu opisany.
<P>
<H3>nie ma wydruku zwykego pliku tekstowego</H3>

<P>
<P>Sprawd czy nie masz w pliku <CODE>/usr/adm/lpd-errs</CODE> czego
takiego:
<P>
<PRE>
unprintable character (0x9a)!
</PRE>
<P>Jest to problem dotyczcy psf, filtru uytego do
drukowania. Zlokalizuj plik psf.c w swojej dystrybucji netatalk i
uczy&ntilde; go zapisywalnym
<P>
<PRE>
chmod 644 psf.c
</PRE>
<P>Zlokalizuj drug lini&ecirc;, w kt&oacute;rej jest a&ntilde;cuch <CODE>unprintable
character</CODE>. Pierwsze wystapienie (z dw&oacute;ch) powino by&aelig; w linii 402 a
drugie - w 496 lub podobnie. Druga linia to jest przypuszczalnie
ta, kt&oacute;ra ci sprawia kopoty. Zamie&ntilde;
<P>
<PRE>
  if ( !isascii( *p ) || !isprint( *p )) {
      if ( !literal ) {
          fprintf( stderr, "unprintable character (0x%x)!\n",
                  (unsigned char)*p );
          return( 2 );  /* Toss job */
      }
      printf( "\\%o", (unsigned)*p );
</PRE>
<P>na
<P>
<PRE>
  if ( !isascii( *p ) || !isprint( *p )) {
      if ( !literal ) {
          fprintf( stderr,
                  "unprintable character (0x%x) converted to ?!\n",
                  (unsigned char)*p );
          /* return( 2 );*/     /* Toss job */
          putchar( '?' );       /* Don't toss job!      */
      }
      else{
        printf( "\\%o", (unsigned)*p );
      }
</PRE>
<P>Teraz napisz "make" w wierszu polece&ntilde; w katalogu netatalk (nie w
tym, w kt&oacute;rym jest psf.c, bo make nie b&ecirc;dzie w tym przypadku znao
cieki do pap !). Potem skopiuj nowe psf do odpowiedniego katalogu
(<CODE>/usr/local/atalk/etc</CODE>).
<P>To co si&ecirc; dzieje to: program zamienia niedrukowalny znak na znak
"?" i nie przerywa pracy. Moe kto ma lepszy pomys na to jak
przekonwertowa&aelig; niedrukowalny znak na jego odpowiednik w
PostScripcie ?
<P>Ale jeli to b&ecirc;dziesz robi, to uwaaj na prawa autorskie w psf !
<P>
<H3>nie ma umlaut&oacute;w, ani znak&oacute;w narodowych</H3>

<P>
<P>Jak wanie wyej wspomniaem, psf nie obsuguje rozszerzonych
zbior&oacute;w znak&oacute;w. Ale <CODE>nenscript</CODE> to potrafi. Ale poniewa nie
jest to filtr, kt&oacute;ry m&oacute;gby zosta&aelig; uyty bezporednio w
printcap-ie, b&ecirc;dziesz musia to obej&aelig;. Ja mam zdefiniowan
dodatkow drukark&ecirc;, kt&oacute;ra obsuguje zwyky tekst uywajc
nenscriptu.
<P><CODE>/etc/printcap</CODE> wyglda tak:
<P>
<PRE>
#
# Apple LaserPrinter Select 360 on AppleTalk:
#
lp|Pingo LaserWriter|Theobald Chapin, III:\
        :sd=/usr/spool/theobald:\
        :lp=/dev/null:\
        :pl#61:\
        :pw#80:\
        :mx#0:\
        :sh:\
        :sf:\
        :lf=/var/adm/lpd-errs:\
        :if=/usr/local/bin/myif:\
        :of=/usr/local/atalk/etc/ofpap:
#
# Special setup for plain text files, to convert to PostScript using nenscript
# instead of psf (which doesn't process the whole ISO characterset)
#
text:\
        :sd=/usr/spool/textprinter:\
        :lp=/dev/null:\
        :mx#0:\
        :sh:\
        :sf:\
        :lf=/var/adm/lpd-errs:\
        :of=/usr/local/bin/textfilter:
</PRE>
<P><CODE>/usr/local/bin/textfilter</CODE> jest skryptem w powoce:
<P>
<PRE>
#!/bin/sh
/usr/bin/nenscript -P lp -2 -r -T US -i "Werner Eugster"
</PRE>
<P>Niestety nie znalazem sposobu na zachowanie nazwy pliku do
drukowania i dlatego uywam opcji <CODE>-i</CODE> z moim nazwiskiem, eby
oznaczy&aelig; wydruk. Moe znajdziesz jaki lepszy spos&oacute;b uywajc
np. Unix-owej zmiennej rodowiskowej z loginem.
<P>W tym ustawieniu otrzymuj&ecirc; tekst na papierze w ukadzie poziomym
(opcja <CODE>-r</CODE>) w dw&oacute;ch kolumnach (<CODE>-2</CODE>) wysany na standardow
drukark&ecirc; <CODE>lp</CODE>. Aby wydrukowa&aelig; zwyky plik tekstowy uywam
polecenia
<P>
<PRE>
lpr -P text plain.txt
</PRE>
<P>Tak wi&ecirc;c przede wszystkim, drukarka zdefiniowana jako <CODE>text</CODE>
zamienia zwyky tekstowy plik na PostScript uywajc nenscript
(kt&oacute;ry obsuguje peen zestaw znak&oacute;w ISO), ktory przekazuje go
dalej do drukarki zdefiniowanej jako <CODE>lp</CODE>. Przez to, uywajc
polecenia <CODE>lpq</CODE> zobaczysz, e zadanie drukowania pojawi si&ecirc; przy
drukarce <CODE>lp</CODE> i przychodzcego ze standardowego wejcia, co jest
poprawne.
<P>Jeli kto zna jaki spos&oacute;b, eby umieci&aelig; na wydruku nazw&ecirc; pliku,
to b&ecirc;d&ecirc; bardzo wdzi&ecirc;czny za t&ecirc; informacj&ecirc; !
<P>
<H3>moje ustawienia dugoci i szerokoci strony sa ignorowane</H3>

<P>
<P>To by m&oacute;j bd. Sprawd cz&ecirc;&aelig; powyej, gdzie opisuj&ecirc;
<CODE>myif</CODE>. Musisz doda&aelig; $* dwa razy w drugiej linii w pliku, kt&oacute;ra
teraz wyglda tak:
<P>
<PRE>
#!/bin/sh
/usr/local/bin/linebreak $* | /usr/local/atalk/etc/ifpap $*
</PRE>
<P>
<H3>zadanie jest wysane do drukarki, ale nie zostaje wydrukowane</H3>

<P>
<P>Jest wiele takich problem&oacute;w. Jeden, o kt&oacute;rym dowiedziaem si&ecirc; od
Paolo Supino to ten:
<P><I>"Podczas kr&oacute;tkiej inspekcji wydruku z nbplkup (eby zobaczy&aelig; czy
s tak jakie dziwne rzeczy), zobaczyem, e nasza drukarka na
sieci ma ten sam numer co serwer NT (kt&oacute;ry kolejkuje zadania z
PC-t&oacute;w). To byo <B>le</B>.<BR>
1. Serwer NT jest <B>bardzo</B> zym spoolerem.<BR>
2. Powinien on kolejkowa&aelig; tylko maszyny Windows-owe.<BR>
3. Pomimo tego, i nie mia on przechwytywa&aelig; wszystkiego co przez
niego przeszo - on to robi.<BR></I>
<P><I>Rozwizanie: Wyczy&aelig; zupenie serwer drukowania dla Mac-&oacute;w na
NT. Wyedytowa&aelig; plik </I><CODE>.paprc</CODE><I> w katalogu zada&ntilde; tak,
eby wskazywa on bezporednio na drukark&ecirc;. Zrestartowa&aelig; komputer,
eby mu si&ecirc; pami&ecirc;c odwieya.</I>
<P>
<H3>moja drukarka nie bierze papieru z tego zasobnika, z kt&oacute;rego ja chc&ecirc;</H3>

<P>
<P>Domylnie wszystko jest drukowane na papierze ze standardowego
zasobnika. Jeli chcesz tak ustawi&aelig; drukark&ecirc;, aby braa papier z
innego zasobnika ni ze standardowego, to spr&oacute;buj tego:
<P>Zmodyfikuj sw&oacute;j plik <CODE>/usr/local/bin/myif</CODE> i przepu&aelig;
wszystko przez program awk, czy jaki inny, kt&oacute;ry potrafi zapisa&aelig;
dodatkow lini&ecirc; do strumienia po nag&oacute;wku.<BR>
Np. Ja spr&oacute;bowaem tak:
<P>
<PRE>
#!/bin/sh
/usr/local/bin/linebreak $* | awk '{if(NR==1&amp;&amp;$1~"%!"){print;print
"statusdict begin /manualfeed true store end\n";}else{print}}' | /usr/local/atalk/etc/ifpap $*
</PRE>
<P>(upewnij si&ecirc;, e nie ma fizycznych ama&ntilde; linii w linii
drugiej).<BR> A informuje to drukark&ecirc; o tym, e ma wzi&aelig;
papier z podajnika r&ecirc;cznego. Dla innych podajnik&oacute;w zamie&ntilde; tekst w
cuszysowach (<CODE>"statusdict begin /manualfeed true store
end\n"</CODE>) na odpowiednie polecenie z tej listy:
<P>
<PRE>
Podajnik          |             Polecenie PostScriptu
------------------+---------------------------------------------------
przedni           | "statusdict begin 0 setpapertray end"
                  |
tylny             | "statusdict begin 1 setpapertray end"
                  |
automatyczny      | "statusdict begin /manualfeed true store end"
</PRE>
<P>Polecenia PostScriptu do zdefiniowania wyjciowych "szufladek":
<P>
<PRE>
Szufladka         |              Polecenie PostScriptu
------------------+---------------------------------------------------
g&oacute;rna             | "0 statusdict /setoutputtray get exec"
                  |
dolna             | "1 statusdict /setoutputtray get exec"
</PRE>
<P>Oczywicie jeli chcesz zdefiniowa&aelig; podajnik wejciowy <B>i</B>
szufladk&ecirc; wyjciow, to musisz wstawi&aelig; dwie linie do pliku
PostScriptowego.
<P>Chocia to dziaa dla wejcia, kt&oacute;re ju jest PostScriptem. Jeli
chcesz to osign&aelig; dla tekstu, kt&oacute;ry jest dopiero zamieniany na
PostScript, to musisz zmodyfikowa&aelig; plik <CODE>psf.c</CODE> i skompilowa&aelig;
nowy filtr <CODE>psf</CODE>. (nie zapomnij zainstalowa&aelig; go w katalogu
<CODE>/usr/local/atalk/etc</CODE> !). Wszystko co musisz zrobi&aelig;, to
znale&aelig; lini&ecirc; <CODE>%%!PS-Adobe-2.0</CODE> (ok. linii 379, musi to by&aelig;
funkcja <CODE>textps()</CODE>. Dodaj now lini&ecirc;:
<P>
<PRE>
printf( "statusdict begin /manualfeed true store end\n" );
</PRE>
<P>(i znowu - moesz zamieni&aelig; tekst w cudzysowach na ten, kt&oacute;ry ci
odpowiada). Potem skompiluj ponownie <CODE>psf</CODE> i zainstaluj go.
<P>Davis Goodman sko&ntilde;czy na takim skrypcie <CODE>myif</CODE>,
kt&oacute;ry sprawdza czy chcesz drukowa&aelig; w rozmiarach
listowych czy normalnych. Jeli jest to normalny, to
wykonywane jest polecenie PostScriptu powodujce wyb&oacute;r tylnego
podajnika, w innym przypadku papier pobierany jest z podajnika
standardowego.
<P>
<PRE>
#!/bin/sh
bounding=`grep BoundingBox $8 | cut -d" " -f5 `
if [ "$bounding" = "" ]; then
  /usr/bin/awk '{if(NR==1&amp;&amp;$1~"%!"){print;print "statusdict begin 1 setpapertray end\n";}else{print}}' | /usr/local/atalk/etc/ifpap $*
else
  /usr/local/atalk/etc/ifpap $*
fi
</PRE>
<P>To dziaa z Netscape a twoje wasne oprogramowanie moe przyjmowa&aelig;
inne wartoci. Zaczyem ten przykad tylko po to, eby ci
wskaza&aelig;, gdzie naley zacz&aelig; jeli chcesz robi&aelig; podobne sztuczki.
<P>Jeszcze jeden przykad jest od Tomasa Pospiska, kt&oacute;ry zdefiniowa
nazwy drukarek dla r&oacute;nych podajnik&oacute;w w tej samej drukarce w
<CODE>/etc/printcap</CODE>. eby wydrukowa&aelig; na papierze z konkretnego
podajnika wysyasz zadanie na odpowiedni drukark&ecirc;. Jego printcap
wyglda tak:
<P>
<PRE>
# LaserWriter Pro 630 (Default Tray)
lp:\
        :sd=/usr/spool/lp1:\
        :lp=/dev/null:\
        :pl#63:pw#85:\
        :mx#0:\
        :sh:sf:\
        :lf=/var/log/lp-errs:\
        :if=/usr/lib/atalk/filters/myif:\
        :of=/usr/lib/atalk/filters/ofpap:
#
# LaserWriter Pro 630 (Manual Tray)
lpm:\
        :sd=/usr/spool/lpm:\
        :lp=/dev/null:\
        :pl#63:pw#85:\
        :mx#0:\
        :sh:sf:\
        :lf=/var/log/lp-errs:\
        :if=/usr/lib/atalk/filters/myif_manual:\
        :of=/usr/lib/atalk/filters/ofpap:
</PRE>
<P>a filtr <CODE>myif</CODE> wyglda tak:
<P>
<PRE>
#!/bin/sh
/usr/bin/awk '{if(NR==1&amp;&amp;$1~"%!"){print;print "statusdict begin
/manualfeed true store end\n";}else{print}}' |
/usr/lib/atalk/filters/ifpap $*
</PRE>
<P>Jak dotd dostaem konstruktywne komentarze i pytania od ludzi z
<P>
<PRE>
COM domena              11
EDU (USA)               12
US domena (USA)         1
GOV domena USA          2
NET domena              1

Australia               1
Austria                 2
Belgia                  1
Francja                 2
Niemcy                  5
Islandia                1
Wochy                  3
Japonia                 1
Holandia                1
Portugalia              2
Wileka Brytania         1
Szwajcaria              1
</PRE>
<P>&copy; 13 Marca 1997 Werner Eugster (
<A HREF="mailto:eugster@giub.unibe.ch">eugster@giub.unibe.ch</A>)
<P>
<H2><A NAME="s5">5. Od tumacza.</A></H2>

<P>
<P>Tumaczenie to jest chronione prawami autorskimi &copy; Bartosza
Maruszewskiego.
Dozwolone jest rozprowadzanie i dystrybucja na prawach takich
samych jak dokument oryginalny.
<P>Jeli znalaze jakie race b&ecirc;dy ortograficzne, gramatyczne,
skadniowe, techniczne to pisz do mnie:
<P>
<A HREF="mailto:B.Maruszewski@zsmeie.torun.pl">B.Maruszewski@zsmeie.torun.pl</A><P>Oficjaln stron tumacze&ntilde; HOWTO jest
<A HREF="http://www.jtz.org.pl">http://www.jtz.org.pl/</A><P>Aktualne wersje przetumaczonych dokument&oacute;w znajduj si&ecirc; na
teje stronie. Dost&ecirc;pne s take poprzez anonimowe ftp pod adresem
<A HREF="ftp://ftp.ippt.gov.pl/pub/Linux/JTZ/">ftp.ippt.gov.pl</A> w katalogu <CODE>/pub/Linux/JTZ/</CODE>.
<P>Przetumaczone przeze mnie dokumenty znajduj si&ecirc; take na
<A HREF="http://www.zsmeie.torun.pl/~bart/tlumaczenie.html">mojej stronie WWW.</A> S tam te odwoania do Polskiej Strony
Tumaczeniowej.
<P>Kontakt z nasz grup, grup tumaczy moesz uzyska&aelig; poprzez list&ecirc;
dyskusyjn jtz@ippt.gov.pl. Jeli chcesz sie na ni zapisa&aelig;, to
wylij list o treci <CODE>subscribe jtz Imi&ecirc; Nazwisko</CODE> na adres
<CODE>listproc@ippt.gov.pl</CODE>
<P>
</BODY>
</HTML>