File: Printing-HOWTO-NL.sgml

package info (click to toggle)
doc-linux-nl 20051127-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 16,408 kB
  • ctags: 94
  • sloc: xml: 47,403; makefile: 312; perl: 193; sh: 116; ansic: 12; csh: 9
file content (2285 lines) | stat: -rw-r--r-- 85,790 bytes parent folder | download | duplicates (2)
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
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
<!doctype linuxdoc system>
<linuxdoc>

<!--
     src.sgml,v 3.29 1999/11/19 06:00:35 gtaylor Exp
 -->

<article>
<titlepag>
<title>De Linux Afdruk HOWTO</title>

<author><name>Grant Taylor <tt/&lt;gtaylor+pht@picante.com>/<newline>
Vertaald door: Ellen Bokhorst <tt>bokkie@nl.linux.org</tt></name></author>
<date>Versie 3.30, 19/11/1999 06:00:35</date>

<abstract>
Dit is de Linux Afdruk HOWTO, een verzameling met informatie over hoe je
alle afdrukken onder Linux (en andere Unices in het algemeen) kunt genereren,
bekijken en faxen.
</abstract>
</titlepag>
<toc>

<sect><heading>Introductie</heading>
<p>
In de Afdruk HOWTO zou alles moeten staan wat je moet weten om
je op weg te helpen bij het instellen van afdrukservices op je
Linuxbox(en). Het is echter gecompliceerder dan in de aanwijs-en-klik
wereld van Microsoft en Apple, maar het is ook flexibeler, en zeker
gemakkelijker te beheren voor groot opgezette LAN's.
</p>
<p>
Dit document is zo opgezet dat de meeste mensen slechts ongeveer de eerste
helft ervan nodig zullen hebben. Veel van de meer onbekende en 
situatie-afhankelijke informatie staat in het laatste gedeelte van dit
document en kan eenvoudig worden opgezocht via de inhoudsopgave. 
Daarentegen zal waarschijnlijk bijna iedereen de meeste informatie
uit paragraaf 9 of 10 nodig hebben.
</p>
<p>
Aangezien versie 3.x volledig is herschreven, is veel van de
informatie van vorige edities verloren gegaan. Dit komt door
het ontwerp. De voorgaande HOWTO's hadden een grootte van ca
60 gedrukte pagina's en dit was niet prettig leesbaar.
Als je geen oplossing in dit document vindt voor de problemen
die je ondervindt, word je aangemoedigd om
a) de voorgaande versie door te nemen, te vinden bij de
<url
url="http://www.picante.com/~gtaylor/pht/" name="Printing HOWTO HomePage">
en b) een bericht achter te laten, waarin je aangeeft wat in dit document
zou moeten staan, maar er niet in staat.
</p>
<p>
De <url name="Printing HOWTO Home Page"
url="http://www.picante.com/~gtaylor/pht/"> is een goede plek om
naar de laatste versie te zoeken; het wordt natuurlijk ook gedistribueerd
vanaf Metalab (<tt/metalab.unc.edu/) en je vriendelijke lokale LDP mirror.
</p>


<sect1><heading>Historie</heading>
<p>
Dit is de derde generatie van de Printing HOWTO, dus voor de 
derde keer compleet herschreven.
De historie van de PHT kan op deze manier te boek worden gesteld:
<enum>
<item>Ik schreef de printing-howto in 1992 als reactie op de te vele
      vragen met betrekking tot het afdrukken in comp.os.linux en postte het.
      Dit dateerde het HOWTO project voor een paar maanden vervroegd en 
      was de eerste FAQlet die een `howto' werd genoemd. Deze uitgave was
      in plain ascii.
</item>
<item>Na me te hebben aangesloten bij het HOWTO-project, werd de 
      Printing-HOWTO samengevoegd met een lpd FAQ van
      Brian McCauley <tt/&lt;B.A.McCauley@bham.ac.uk>/; we waren
      voor ongeveer twee jaar mede-auteur van de PHT.
      Op een bepaald moment voegden we het samen met het werk van
      Karl Auer <tt/&lt;Karl.Auer@anu.edu.au>/. Deze generatie
      van de PHT was in TeXinfo, en beschikbaar in PS, HTML, Ascii, en Info.  
</item>
<item>Na de PHT voor meer dan een jaar te hebben laten rotten en vallen,
en een niet succesvolle poging om iemand anders te krijgen om het te 
beheren, vond deze omwerking plaats. Deze generatie van de PHT is geschreven
in SGML door gebruik te maken van de LinuxDoc DTD en het SGML-Tools-1
package. Beginnend met versie 3.27, is het verenigd met een samenvatting
van een bijbehorende printerondersteunings database; voor 3.27 stond er
in deze HOWTO nooit een printer-compatibiliteitenlijst (!).
</item>
</enum>
</p>
</sect1>

<sect1><heading>Copyright</heading>
<p>
Dit document valt onder het Copyright (c) 1992-1999 door Grant Taylor. 
Voel je vrij dit document te kopi&euml;ren en te herdistribueren 
overeenkomstig de voorwaarden van de GNU General Public License, revisie
2 of later.
</p>
</sect1>
</sect>


<sect><heading>Hoe af te drukken</heading>
<p>
Als je reeds lpd hebt ingesteld om naar je printer af te drukken,
of je systeembeheerder heeft dit al gedaan, of je verkoper deed dit
voor je, dan hoef je alleen nog te leren hoe je het commando lpr
kunt gebruiken.
De <url name="Printing Usage HOWTO"
url="http://metalab.unc.edu/LDP/HOWTO/Printing-Usage-HOWTO.html"> gaat
hierover, en een paar andere wachtrij-manipulatie-commando's die je
waarschijnlijk zou moeten kennen.
</p>
<p>
Als je echter een nieuw systeem of nieuwe printer hebt, dan zul je,
op wat voor manier dan ook, je afdrukservices in moeten stellen voordat
je af kunt drukken. Lees verder!
</p>
</sect>


<sect><heading>Kernel afdrukapparaten</heading>
<p>
Er zijn twee compleet verschillende device-drivers voor de parallelle
poort; welke je gebruikt is afhankelijk van je kernelversie (je kunt
achter je versie komen via het commando <tt>uname -a</tt>). De driver
is in Linux 2.1.33 gewijzigd.
</p>
<p>
Een paar details zijn hetzelfde voor beide stijlen drivers.
Hetgeen veel mensen hebben gemerkt, is dat Linux
hun parallelle poort niet zal detecteren tenzij ze in hun PC BIOS
"Plug en Play" de-activeren.
(Dit is geen verrassing; de waarnemingsreputatie van PnP of niet-PCI devices 
onder Windows en elders is een ramp gebleken).
</p>

<sect1><heading>Het lp device (kernels &lt;=2.1.32)</heading>
<p>
De Linux kernel (&lt;=2.1.32), waarbij er van uit wordt gegaan dat je het 
lp device in hebt gecompileerd of geladen 
(in de uitvoer van <tt>cat /proc/devices</tt> zou het device
lp voor moeten komen als het is geladen), voorziet in &eacute;&eacute;n of
meer <em>/dev/lp0</em>, <em>/dev/lp1</em>, en <em>/dev/lp2</em>. Deze
worden NIET dynamisch toegewezen, maar corresponderen ieder met een
specifiek hardware I/O adres. Dit betekent dat je eerste printer,
afhankelijk van je hardware, <em/lp0/ of <em/lp1/ kan zijn. Probeer 
gewoon beiden.
</p>
<p>
Een paar gebruikers rapporteerden dat hun bi-directionele lp poorten niet
werden gedetecteerd als zij een oudere uni-directionele printerkabel 
gebruikten. Controleer of je een behoorlijke kabel hebt.
</p>
<p>
Men kan de plip en lp drivers niet tegelijkertijd op een gegeven poort
gebruiken (in ieder geval niet onder 2.0). Je kunt echter de ene of de andere
driver op ieder moment zowel handmatig hebben geladen als door kerneld
met versie 2.x (en latere 1.3.x) kernels. Door zorgvuldig de interrupts
en dergelijke in te stellen, kun je naar men mag aannemen plip op de 
ene poort en lp op de andere poort gebruiken.
Iemand deed dit door de drivers te wijzigen; Ik wacht met spanning
op een succesvol rapport van iemand die dit slechts door middel van
een slimme commando-regel doet.
</p>
<p>
Er is een kleine utility met de naam <tt><htmlurl
url="http://www.picante.com/~gtaylor/pht/man/tunelp.8.html"
name="tunelp"></tt> in omloop gebracht waar je het
Linux 2.0 interrupt-gebruik, de polling-snelheid, en andere opties van het
Linux 2.0 lp-device, als root, mee af kunt stellen.

</p>
<p>
Als de lp-driver in de kernel is ingebouwd, zal de kernel een
<tt>lp=</tt> optie accepteren om de interrupts en io-adressen in te stellen:
<tscreen><verb>
Als de lp driver in de kernel is ingebouwd, zou je de LILO/LOADLIN
commando-regel kunnen gebruiken om de poortadressen en interrupts in te
stellen, waarvan de driver gebruik zal gaan maken.

Syntax:      lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]

Bijvoorbeeld:   lp=0x378,0   of   lp=0x278,5,0x378,7 **

Merk op dat als dit kenmerk wordt gebruikt, je *alle* poorten die
je zult gaan gebruiken, moet specificeren, er zijn geen standaards.
Je kunt een ingebouwde driver met lp=0 de-activeren.
</verb></tscreen>
</p>
<p>
Geladen als een module, is het mogelijk io-adressen en interrupts
op de insmod commando-regel (of in
<em>/etc/conf.modules</em> om kerneld te be&iuml;nvloeden) op te geven
door gebruik te maken van de gebruikelijke argumentensyntax van
een module. De parameters zijn <tt/io=port0,port1,port2/
en <tt/irq=irq0,irq1,irq2/. Lees de manpage van <em><htmlurl
url="http://www.picante.com/~gtaylor/pht/man/insmod.1.html"
name="insmod"></em> voor meer informatie hierover.
</p>
<p>
**Voor degenen onder jullie die (me aardig vinden) nooit de standaard 
poortnummers kunnen vinden als je ze nodig hebt,
ze zijn als in het tweede voorbeeld hierboven.
De andere poort (<em/lp0/) bevindt zich op 0x3bc. Ik zou niet weten van welk
interrupt het gewoonlijk gebruik maakt.
</p>
<p>
De source-code voor de Linux 2.0 parallelle poort-driver staat in
/usr/src/linux/drivers/char/lp.c.
</p>
</sect1>


<sect1><heading>Het parport-device (kernels &gt= 2.1.33)</heading>
<p>
Beginnend met kernel 2.1.33 (en beschikbaar als een patch voor kernel
2.0.30), is het lp-device slechts een client van het nieuwe parport-device.
De aanvulling van het parport device corrigeert een aantal problemen die
bij het oude lp-device optraden - het kan de poort met andere drivers
delen, het wijst dynamisch beschikbare parallelle poorten toe aan
device-nummers in plaats van dat het een vaste 
communicatie-verbinding tussen I/O adressen en poortnummers, enz. forceert.
</p>
<p>
De komst van het parport-device heeft voor een hele schare nieuwe
parallelle poortdrivers gezorgd, voor zaken als Zipdrives, Backpack
CD-ROM's en disks, enzovoort. Een aantal hiervan zijn ook beschikbaar
in versies voor 2.0 kernels; kijk hiervoor rond op het web.
</p>
<p>
Het belangrijkste verschil dat je op zal vallen, zover het printen betreft
is, dat kernels die op de parport zijn gebaseerd, de lp-devices dynamisch aan
parallelle poorten toewijzen. Dus wat lp1 onder Linux 2.0 was, kan 
onder Linux 2.2 heel goed lp0 zijn. Zorg ervoor dat je dit controleert, 
als je een upgrade van een lp-driver-kernel naar een parport-driver-kernel
uitvoert.
</p>
<p>
Het meest voorkomende probleem dat zich met dit device schijnt voor te 
doen heeft te maken met een onjuiste configuratie:
<descrip>
<tag/De Distributie/<p>Een aantal Linux-distributies worden met een onjuiste
setup van /etc/modules.conf (of /etc/conf.modules) geleverd, waardoor de
driver niet juist wordt geladen als je het nodig hebt. Met een recente
modutils schijnen de juiste magische regels in modules.conf als volgt te
moeten zijn:
<verb>
alias		/dev/printers	lp
alias		/dev/lp*	lp
alias	parport_lowlevel parport_pc
</verb></p>
<tag>De BIOS</tag>
<p>In de BIOS van veel PC's is de parallelle poort als een
Plug &amp; Play device ingesteld. Hiermee wordt het een perfect eenvoudig
apparaat, dat bijna altijd aanwezig is, onnodig gecompliceerd gemaakt;
schakel de PnP instelling voor je parallelle poort uit ("LPT1" in veel
BIOS'sen) als je parallelle poort niet door de Linux-driver wordt herkend.
De juiste instelling wordt vaak "legacy", "ISA" of "0x378" genoemd, maar
waarschijnlijk niet "disabled".
</p>
</descrip>


Je kunt ook het bestand
<htmlurl url="http://www.cyberelk.demon.co.uk/parport/parport.txt"
name="Documentation/parport.txt"> in je kernel sources lezen, 
of de <url url="http://www.cyberelk.demon.co.uk/parport.html"
name="parport website"> bekijken.
</p>
</sect1>

<sect1><heading>Seri&euml;le devices</heading>
<p>
Seri&euml;le devices worden onder Linux iets dergelijks als <em>/dev/ttyS1</em>
genoemd. Het utility <tt><htmlurl
url="http://www.picante.com/~gtaylor/pht/man/stty.1.html"
name="stty"></tt> staat je toe om de instellingen voor een seri&euml;le
poort interactief te bekijken of in te stellen;
<tt><htmlurl name="setserial"
url="http://www.picante.com/~gtaylor/pht/man/setserial.8.html"></tt>
staat je toe een aantal uitgebreide kenmerken te beheren en IRQ's
en I/O adressen te configureren voor de niet-standaard poorten.
Een verdere bespreking van seri&euml;le poorten onder Linux kun je 
vinden in de <url url="http://metalab.unc.edu/mdw/HOWTO/Serial-HOWTO.html"
name="Serial-HOWTO">.
</p>
<p>
Als je gebruik maakt van een langzame seri&euml;le printer met flow control,
kan het zijn dat je bemerkt dat een aantal van je afdruktaken worden
afgebroken. Dit kan te wijten zijn aan de seri&euml;le poort, wiens 
standaardgedrag is om alle niet verzonden tekens te wissen, die zich 
na 30 seconden nadat het poortdevice is gesloten nog in de buffer 
bevinden. De buffer kan 4096 tekens vasthouden. Als je printer 
flow control gebruikt en het langzaam is, kan het alle data uit 
de buffer niet binen 30 seconden
nadat de afdruksoftware de seri&euml;le poort heeft gesloten, verwerken. 
Het laatste deel van de inhoud van de buffer zal hierdoor verloren gaan. 
Als het commando <tt>cat file &gt; /dev/ttyS2</tt> voor korte bestanden
volledige afdrukken produceert, maar langere 
bestanden afbreekt, kan het zijn dat hiervan sprake is.
</p>
<p>
De 30 seconden-interval kan via de commando-regeloptie
"closing_wait" van setserial (versie 2.12 en later) worden aangepast.
De seri&euml;le poorten van een computer worden gewoonlijk door een 
aanroep van setserial in het opstartbestand rc.serial ge&iuml;nitialiseerd.
De aanroep voor de seri&euml;le afdrukpoort kan worden gewijzigd
door de closing_wait tegelijkertijd in te stellen met de andere
parameters van de poort.
</p>
</sect1>
</sect>

<sect><heading>Ondersteunde Printers</heading>
<p>
De Linux kernel ondersteunt in het algemeen iedere printer die je in een 
seri&euml;le of parallelle poort kunt pluggen, maar er zijn dingen om op
te letten, en printers die je niet zult kunnen gebruiken, zelfs al kunnen ze 
(elektronisch gesproken) met Linux communiceren.
Hoofdzakelijk bevinden zich tussen deze incompatibele printers,  
printers waarnaar als "Windows" of "GDI" printers wordt gerefereerd. 
Ze worden zo genoemd, 
omdat een deel of de gehele printerbesturingstaal en de ontwerpdetails 
van het afdrukmechanisme niet zijn gedocumenteerd.
De verkoper zal in een Windows-driver voorzien en
met veel genoegen alleen aan Windows gebruikers verkopen; daarom worden 
ze Winprinters genoemd. In een aantal gevallen voorziet de verkoper 
ook in drivers voor NT, OS/2 of andere besturingssystemen.
</p>
<p>
Veel van deze printers <em>werken niet</em> met Linux.
Een paar daarvan doen dit wel, en een aantal daarvan werken slechts een
beetje (meestal omdat iemand aan de details, die nodig waren om
een driver te schrijven, is gekomen, met behulp van
reverse engineering).
Zie de printerondersteuningslijst hieronder voor details
over specifieke printers.
</p>
<p>
Een paar printers zitten daar tussenin.
Een aantal van de modellen van NEC implementeren bijvoorbeeld een 
eenvoudige vorm van de standaard printertaal PCL, waarmee
met PCL-sprekende software is toegestaan tot 300dpi af te drukken, maar 
alleen NEC weet hoe het de volledige 600dpi uit deze printers kan halen.
</p>
<p>
Merk op dat als je al &eacute;&eacute;n van deze Winprinters hebt, er
omslachtige manieren zijn om het voor elkaar te krijgen dat Linux ernaar kan
printen, maar ze veroorzaken nogal wat narigheid en ik heb het zelf 
nooit geprobeerd. Zie Sectie 12 van dit
document voor een verdere bespreking van printers die alleen voor
Windows zijn bestemd.
</p>

<sect1><heading>Postscript</heading>
<p>
Voor wat betreft de printers die <em>wel</em> onder Linux werken, is
de beste keuze een printer met ingebouwde PostScript ondersteuning te kopen. 
Bijna alle Unix software waarmee afdrukbare uitvoer wordt geproduceerd, 
produceert het in PostScript, dus uiteraard zou het fijn zijn om aan een printer
te komen die PostScript direct ondersteunt.
Helaas is de ondersteuning voor Postscript buiten het 
laserprinter domain schaars, en soms is het een kostbare uitbreiding.
</p>
<p>
Unix software, en de publicerende industrie in het algemeen, hebben
Postscript algemeen erkend als de printerbesturingstaal van hun keuze.
Dit gebeurde om verscheidene redenen:
<descrip>
 <tag/Keuze van het tijdstip/
 <p>Postscript kwam als onderdeel van de 
   Apple Laserwriter, een perfecte combinatie met de Macintosh, het systeem
   dat op grote schaal verantwoordelijk is voor de desktop publishing revolutie
   van de 80'r jaren.</p>
 <tag/Z'n device-onafhankelijkheid/
 <p>Postscript programma's kunnen worden 
   uitgevoerd om uitvoer te genereren op een pixel-scherm, een vector 
   scherm, een faxmachine, van bijna alle soorten afdrukmechanismen, zonder
   dat het originele programma daarvoor nodig is.
   De Postscript uitvoer ziet er op ieder Postscript device hetzelfde
   uit, op z'n minst binnen de beperkingen van de capaciteiten van 
   het device. Voor de aanmaak van PDF, wisselden
   mensen online complexe documenten als Postscript-bestanden uit. De enige
   reden dat deze standaard het niet "uithield", was omdat Windows-computers
   meestal niet waren voorzien van een Postscript previewer, 
   dus Adobe specificeerde
   hyperlinks en compressie voor Postscript, noemde het resultaat PDF,
   distribueerde er previewers voor, en vond een markt voor hun
   "distiller" tools (de functionaliteit waar ook door
   ghostscript's ps2pdf en pdf2ps programma's in is voorzien).</p>
 <tag/Het is een echte programmeertaal/
 <p>Postscript is een complete
   programmeertaal; je kunt software schrijven om er bijna alles mee te
   doen. Dit is vooral handig voor het defini&euml;ren van subroutines 
   aan het begin van je programma, om complexe zaken te herproduceren
   telkens weer het hele document door,
   zoals een logo of een grote "CONCEPT" op de achtergrond.</p>
 <tag/Het is open/
 <p>Postscript is volledig gespecificeerd in een voor het
   publiek beschikbare serie boeken (die je bij iedere goede boekwinkel 
   kunt kopen). 
   Alhoewel Adobe het uitvond en in de dominante commerci&euml;le
   implementatie voorziet, produceren andere verkopers, zoals Aladdin, ook nog
   onafhankelijke gecodeerde implementaties.   </p>
</descrip>
</p>
</sect1>

<sect1><heading>Niet-Postscript</heading>
<p>
Als je het (grotere) budget niet hebt, dat nodig is om een Postscript-printer
te kopen, kun je elke printer gebruiken die door Ghostscript wordt ondersteund. 
Ghostscript is de vrij-verkrijgbare Postscript interpreter,
die in de plaats van de feitelijke printer Postscript ondersteuning, 
wordt gebruikt. Op de
<url url="http://www.cs.wisc.edu/~ghost/" name="Ghostscript Home
Page"> staat een lijst met ondersteunde printers en informatie over de status
van nieuwe en experimentele drivers. Merk op dat op deze pagina ondersteunde
printers van de laatste versie van Ghostscript staan, terwijl de meeste Linux
distributies slechts een wat verouderde versie van Ghostscript mee kunnen
leveren vanwege de licentie. Gelukkig bestaat er een voorverpakt en up-to-date
package Ghostscript dat in ieder contributiegebied beschikbaar wordt gesteld.
Help alsjeblieft de Ghostscript printerondersteunings pagina door 
je successen en mislukkingen te rapporteren, waar om wordt gevraagd.
</p>
<p> 
Adobe heeft nu een nieuwe printertaal met de naam "PrintGear". Ik denk
dat het een sterk vereenvoudigde taal in binair formaat is, met wat Postscript
erfenissen, maar zonder Postscript compatibiliteit. En ik weet niet
of Ghostscript het ondersteunt. Maar het schijnt dat een aantal PrintGear
printers een andere taal zoals PCL ondersteunen, en deze printers zullen
met Linux werken (als de PCL in de printer is ge&iuml;mplementeerd en
niet in een Windows-driver).
</p>
</sect1>


<sect1><heading>Welke printers werken?</heading>

<p>
Als je een printer wilt kopen, kun je op verscheidene plaatsen kijken,
om er achter te komen of het zal werken.
De co&ouml;peratieve beheerde Printing HOWTO printer
<url url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="database"> streeft ernaar een uitgebreide lijst met de stand van
Linux printer ondersteuning te zijn. Een samenvatting ervan staat hieronder; 
controleer het online voor meer details en informatie
voor welke driver je moet gebruiken.
</p>
<p>
Ghostscript's <url url="http://www.cs.wisc.edu/~ghost/printer.html"
name="printer compatibiliteitenpagina"> bevat een lijst met een aantal
werkende printers, als ook links naar andere pagina's.
En Dejanews bevat honderden
"het werkt" en "het werkt niet" verklaringen.  Probeer ze alle drie
en als je dit gedaan hebt, controleer dan of je printer aanwezig is
en klopt in de <url url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="database">, zodat het in de toekomst juist in dit document zal
worden weergegeven.
</p>


<sect2><heading>Printer compatibiliteitenlijst</heading>
<p>
Deze sectie is een samenvatting van de online versie. De online versie
bevat ook de basisspecificaties, opmerkingen, links naar driver-informatie,
gebruikers-beheerde documentatie, webpages van fabrikanten, enzovoort.
De online versie van deze lijst is ook interactief; mensen kunnen 
continue printers toevoegen en doen dit ook, dus zorg ervoor dat
je deze ook controleert.
Als laatste, als je printer niet in de lijst staat, voeg deze dan toe!
</p>
<p>
Printers staan hier in vier categori&euml;n onderverdeeld:
<descrip>
<tag/Perfectly/<p>Perfect printers werken perfect - je kunt afdrukken met
de volledige mogelijkheden van de printer,
inclusief kleur, de volledige resolutie, enz.
In een paar gevallen staan printers, met ongedocumenteerde
"resolutie vergroting" modes die niet werken, als perfect weergegeven; 
in het algemeen is het verschil in de afdrukkwaliteit klein genoeg dat 
het niet waard is om je druk om te maken.</p>
<tag/Mostly/
<p>Je kunt prima afdrukken, maar er zijn kleine beperkingen van
bepaalde aard met betrekking tot afdrukken of andere faciliteiten.</p>
<tag/Partially/<p>Je kunt afdrukken, maar misschien niet in kleur, of alleen
in een lage resolutie. Zie de online kolom met opmerkingen voor informatie
over de beperking.</p>
<tag/Paperweight/<p>Je kunt geen ene moer afdrukken; dit zal typisch te wijten 
zijn aan het ontbreken van een driver
en/of documentatie over hoe er &eacute;&eacute;n geschreven kan worden.</p>
</descrip>
Aangezien in deze informatie door dozijnen mensen is voorzien, wordt in
geen van de gevallen gegarandeerd dat ze correct is.
Het zou echter makkelijk te bevestigen moeten zijn vanaf de webpages van
de driver en websites van de fabrikanten.
</p>
<p>En zonder verdere ophef is hier de printer-compatibiliteitenlijst:
<descrip>
 <tag/Apple/<p>
  <descrip>
   <tag/Perfectly/<p>LaserWriter 16/600,
       LaserWriter IINTX,
       LaserWriter Select 360.</p>
   <tag/Mostly/<p>12/640ps.</p>
   <tag/Paperweight/<p>StyleWriter 2500.</p>
  </descrip></p>
 <tag/Avery/<p> 
  <descrip>
   <tag/Perfectly/<p>Personal Label Printer+.</p>
   <tag/Mostly/<p>Personal Label Printer.</p>
  </descrip></p>
 <tag/Brother/<p>
  <descrip>
   <tag/Perfectly/<p>HL-1070,
       HL-10V,
       HL-10h,
       HL-1260,
       HL-2060,
       HL-4Ve,
       HL-630,
       HL-660,
       HL-720,
       HL-730,
       HL-760,
       HL-8.</p>
   <tag/Mostly/<p>HJ-400,
       HL-1040,
       HL-1050,
       HL-1060,
       HL-1250,
       MFC 6550MC.</p>
   <tag/Partially/<p>MC-3000,
       MFC 7150C.</p>
   <tag/Paperweight/<p>HL-820.</p>
  </descrip></p>
 <tag/Canon/<p>
  <descrip>
   <tag/Perfectly/<p>BJ-10e,
       BJ-20,
       BJ-200,
       BJ-330,
       BJ-5,
       BJC-210,
       BJC-250,
       BJC-4000,
       BJC-4100,
       BJC-4200,
       BJC-4300,
       BJC-4400,
       BJC-600,
       BJC-6000,
       BJC-610,
       BJC-620,
       BJC-70,
       BJC-800,
       LBP-1260,
       LBP-1760,
       LBP-4+,
       LBP-4U,
       LBP-8A1,
       LBP-8II,
       LIPS-III.</p>
   <tag/Mostly/<p>BJ-300,
       BJC-1000,
       BJC-2000,
       BJC-240,
       BJC-4310SP,
       BJC-7004,
       BJC-80,
       LBP-4sx.</p>
   <tag/Partially/<p>BJC-4550,
       BJC-7000,
       BJC-7100,
       MultiPASS C2500,
       MultiPASS C3500,
       MultiPASS C5000,
       Multipass C3000,
       Multipass C5500.</p>
   <tag/Paperweight/<p>BJC-5000,
       LBP-460,
       LBP-660,
       Multipass L6000.</p>
  </descrip></p>
 <tag/Citizen/<p>
  <descrip>
   <tag/Perfectly/<p>ProJet II,
       ProJet IIc.</p>
   <tag/Partially/<p>printiva600C.</p>
  </descrip></p>
 <tag/DEC/<p> 
  <descrip>
   <tag/Perfectly/<p>DECWriter 500i,
       DECwriter 110i,
       DECwriter 520ic,
       LN03.</p>
   <tag/Partially/<p>1800.</p>
  </descrip></p>
 <tag/Dymo-CoStar/<p>
  <descrip>
   <tag/Perfectly/<p>ASCII 250,
       ASCII+,
       EL40,
       EL60,
       LabelWriter II,
       LabelWriter XL,
       LabelWriter XL+,
       SE250,
       SE250+,
       Turbo.</p>
  </descrip></p>
 <tag/Epson/<p>
  <descrip>
   <tag/Perfectly/<p>ActionLaser 1100,
       LP 8000,
       LQ 850,
       SQ 1170,
       Stylus Color,
       Stylus Color 400,
       Stylus Color 440,
       Stylus Color 640,
       Stylus Color 800,
       Stylus Color 850,
       Stylus Color II,
       Stylus Color IIs,
       Stylus Pro XL.</p>
   <tag/Mostly/<p>EPL 5700,
       Stylus 300,
       Stylus Color 3000,
       Stylus Color 500,
       Stylus Color 740.</p>
   <tag/Partially/<p>Stylus Color 300,
       Stylus Color 900,
       Stylus Photo 700,
       Stylus Photo 750,
       Stylus Photo EX.</p>
  </descrip></p>
 <tag/Fujitsu/<p>
  <descrip>
   <tag/Perfectly/<p>PrintPartner 10V,
       PrintPartner 16DV,
       PrintPartner 20W,
       PrintPartner 8000.</p>
  </descrip></p>
 <tag/HP/<p>
  <descrip>
   <tag/Perfectly/<p>2000C,
       2500C,
       Color LaserJet 4500,
       DeskJet 1200C,
       DeskJet 1200C/PS,
       DeskJet 1600C,
       DeskJet 1600Cm,
       DeskJet 310,
       DeskJet 400,
       DeskJet 420C,
       DeskJet 500,
       DeskJet 500C,
       DeskJet 510,
       DeskJet 520,
       DeskJet 540,
       DeskJet 550C,
       DeskJet 600,
       DeskJet 610C,
       DeskJet 610CL,
       DeskJet 612C,
       DeskJet 660C,
       DeskJet 670C,
       DeskJet 672C,
       DeskJet 682C,
       DeskJet 690C,
       DeskJet 694C,
       DeskJet 697C,
       DeskJet 810C,
       DeskJet 812C,
       DeskJet 850C,
       DeskJet 855C,
       DeskJet 882C,
       DeskJet 890C,
       DeskJet 970Cxi,
       LaserJet 1100,
       LaserJet 1100A,
       LaserJet 2 w/PS,
       LaserJet 2100M,
       LaserJet 2P,
       LaserJet 3,
       LaserJet 3P w/PS,
       LaserJet 4,
       LaserJet 4 Plus,
       LaserJet 4050N,
       LaserJet 4L,
       LaserJet 4M,
       LaserJet 4P,
       LaserJet 5,
       LaserJet 5000,
       LaserJet 5L,
       LaserJet 5M,
       LaserJet 5MP,
       LaserJet 5P,
       LaserJet 6L,
       LaserJet 6MP,
       LaserJet 6P,
       LaserJet 8000,
       LaserJet 8100,
       Mopier 320,
       PaintJet XL300.</p>
   <tag/Mostly/<p>DesignJet 650C,
       Designjet 750 C Plus,
       DeskJet 1120C,
       DeskJet 870C,
       DeskJet 880C,
       DeskJet 895C,
       DeskJet 895Cxi,
       DeskJet 970Cse,
       LaserJet 2,
       LaserJet 2100.</p>
   <tag/Partially/<p>DeskJet 1000C,
       DeskJet 710C,
       DeskJet 712C,
       DeskJet 720C,
       DeskJet 722C,
       DeskJet 820C,
       OfficeJet 500,
       OfficeJet 600,
       OfficeJet 625,
       OfficeJet Pro 1150C.</p>
   <tag/Paperweight/<p>LaserJet 3100.</p>
  </descrip></p>
 <tag/IBM/<p> 
  <descrip>
   <tag/Perfectly/<p>4019,
       4029 10P,
       4303 Network Color Printer,
       Page Printer 3112,
       ProPrinterII.</p>
  </descrip></p>
 <tag/Kyocera/<p>
  <descrip>
   <tag/Perfectly/<p>F-3300,
       FS-1700+,
       FS-600,
       FS-800,
       P-2000.</p>
   <tag/Mostly/<p>FS-3500.</p>
  </descrip></p>
 <tag/Lexmark/<p>
  <descrip>
   <tag/Perfectly/<p>4039 10plus,
       Optra Color 1200,
       Optra Color 1275,
       Optra Color 40,
       Optra Color 45,
       Optra E,
       Optra E+,
       Optra E310,
       Optra Ep,
       Optra K 1220,
       Optra R+,
       Optra S 1250,
       Optra S 1855,
       Valuewriter 300.</p>
   <tag/Mostly/<p>1000,
       1100,
       2070,
       5000,
       5700,
       7000,
       7200.</p>
   <tag/Partially/<p>1020 Business,
       2030,
       Winwriter 400,
       Z51.</p>
   <tag/Paperweight/<p>1020,
       2050,
       3000,
       3200,
       Winwriter 100,
       Winwriter 150c,
       Winwriter 200,
       Z11.</p>
  </descrip></p>
 <tag/Minolta/<p>
  <descrip>
   <tag/Perfectly/<p>PagePro 6,
       PagePro 6e,
       PagePro 6ex,
       PagePro 8.</p>
   <tag/Partially/<p>PagePro 8L.</p>
  </descrip></p>
 <tag/NEC/<p>
  <descrip>
   <tag/Perfectly/<p>P2X,
       SilentWriter LC 890,
       Silentwriter2 model 290,
       SuperScript 660i.</p>
   <tag/Partially/<p>SuperScript 100C,
       SuperScript 1260,
       SuperScript 150C,
       SuperScript 650C,
       SuperScript 750C,
       SuperScript 860,
       SuperScript 870.</p>
   <tag/Paperweight/<p>SuperScript 610plus,
       SuperScript 660,
       SuperScript 660plus.</p>
  </descrip></p>
 <tag/Oce/<p>
  <descrip>
   <tag/Perfectly/<p>3165.</p>
  </descrip></p>
 <tag/Okidata/<p>
  <descrip>
   <tag/Perfectly/<p>8p,
       OL 410e,
       OL 600e,
       OL 610e/PS,
       OL 800,
       OL 810e/PS,
       OL400ex,
       OL810ex,
       OL830Plus,
       Okipage 10e,
       Okipage 12i,
       Okipage 20DXn,
       Okipage 6e,
       Okipage 6ex,
       Okipage 6w,
       Okipage 8c.</p>
   <tag/Mostly/<p>OL 400w,
       Okipage 4w,
       Super 6e.</p>
   <tag/Partially/<p>ML 192+,
       OL 610e/S.</p>
   <tag/Paperweight/<p>Okijet 2010,
       Okijet 2500,
       Okipage 8w.</p>
  </descrip></p>
 <tag/Olivetti/<p>
  <descrip>
   <tag/Perfectly/<p>JP350S,
       JP450,
       PG 306.</p>
  </descrip></p>
 <tag/PCPI/<p>
  <descrip>
   <tag/Perfectly/<p>1030.</p>
  </descrip></p>
 <tag/Panasonic/<p>
  <descrip>
   <tag/Perfectly/<p>KX-2135,
       KX-P1123,
       KX-P1124,
       KX-P1150,
       KX-P2023,
       KX-P2150,
       KX-P4410,
       KX-P4450,
       KX-P5400,
       KX-P8420,
       KX-P8475.</p>
   <tag/Mostly/<p>KX-P2123,
       KX-P6150.</p>
   <tag/Partially/<p>KX-P6500.</p>
   <tag/Paperweight/<p>KX-P6100,
       KX-P6300 GDI,
       KX-P8410.</p>
  </descrip></p>
 <tag/Printrex/<p>
  <descrip>
   <tag/Partially/<p>820 DL.</p>
  </descrip></p>
 <tag/QMS/<p>
  <descrip>
   <tag/Perfectly/<p>2425 Turbo EX.</p>
   <tag/Mostly/<p>ps-810.</p>
  </descrip></p>
 <tag/Ricoh/<p>
  <descrip>
   <tag/Perfectly/<p>4801,
       6000.</p>
   <tag/Paperweight/<p>Aficio Color 2206,
       Afico FX10.</p>
  </descrip></p>
 <tag/Samsung/<p>
  <descrip>
   <tag/Perfectly/<p>ML-5000a.</p>
   <tag/Paperweight/<p>ML-85G.</p>
  </descrip></p>
 <tag/Seiko/<p>
  <descrip>
   <tag/Perfectly/<p>SpeedJET 200.</p>
   <tag/Mostly/<p>SLP,
       SLP 120,
       SLP 220,
       SLP EZ30,
       SLP Plus,
       SLP Pro.</p>
  </descrip></p>
 <tag/Sharp/<p>
  <descrip>
   <tag/Perfectly/<p>AR-161.</p>
  </descrip></p>
 <tag/Star/<p>
  <descrip>
   <tag/Perfectly/<p>NL-10.</p>
   <tag/Mostly/<p>LC 90,
       LC24-200.</p>
   <tag/Paperweight/<p>WinType 4000.</p>
  </descrip></p>
 <tag/Tally/<p>
  <descrip>
   <tag/Perfectly/<p>MT908.</p>
  </descrip></p>
 <tag/Tektronix/<p>
  <descrip>
   <tag/Perfectly/<p>4696,
       4697,
       Phaser 780,
       Phaser IISX,
       Phaser PX.</p>
  </descrip></p>
 <tag/Xerox/<p>
  <descrip>
   <tag/Perfectly/<p>DocuPrint 4508,
       DocuPrint C55,
       DocuPrint N17,
       DocuPrint N32.</p>
   <tag/Mostly/<p>DocuPrint P12,
       DocuPrint P8e,
       Document Homecentre,
       XJ6C.</p>
   <tag/Partially/<p>WorkCentre 450cp,
       XJ8C.</p>
   <tag/Paperweight/<p>DocuPrint P8,
       WorkCentre XD120f.</p>
  </descrip></p>
</descrip>
</p>
</sect2>
</sect1>


<sect1><heading>Hoe koop je een printer?</heading>
<p>
Het is tegenwoordig wat moeilijk een printer uit te kiezen; er zijn nogal
wat modellen om uit te kiezen. Hier zijn een aantal tips:
<descrip>
<tag/Kosten/<p>Je krijgt waarvoor je betaalt. De meeste printers onder de
$200 zullen redelijk goed afdrukken, maar de kosten per pagina zijn erg
hoog. Bij een aantal printers heb je voor &eacute;&eacute;n of twee
cartridges al weer een nieuwe printer! De goedkoopste printers gaan
echter niet erg lang mee. De minst dure printers hebben een MTBF van
ongeveer 3 maanden!</p>
<tag/Inkjets/<p>De printkoppen van een Inkjet zullen op den duur verstopt
raken, wat niet te repareren is, dus heb je de mogelijkheid de kop op
&eacute;&eacute;n of andere manier te vervangen. De printkoppen van Inkjets
zijn duur, dus je kunt de kop beter maar alleen vervangen wanneer het echt
nodig is. Het schijnt dat de Epson Stylus printers koppen hebben die hersteld
kunnen worden, en dat HP DeskJets de koppen in de cartridges hebben 
ge&iuml;ntegreerd. Canons hebben cartridges bestaande uit drie delen die
onafhankelijk van elkaar vervangbare inktreservoirs; ik vind dit ontwerp
wel prettig. OTOH, de HP cartridges zijn niet zoveel duurder, en HP is
over de gehele linie beter; Canon is vaak de derde keus vanuit het oogpunt
van kwaliteit. </p>
<tag/Lasers/<p>Laserprinters consumeren een drum en toner. Het goedkoopste
ontwerp heeft de toner en drum in &eacute;&eacute;n grote cartridge;
deze ontwerpen zijn het duurst in het gebruik. De beste ontwerpen voor
grote hoeveelheden maken gebruik van gewone tonerpoeder of tenminste
aparte tonercartridges en drums.</p>
<tag/Fotografie/<p>De beste kleurenuitvoer van foto's komt van doorlopende
tone-printers zoals de Tektronix Phasers (waxy dye) of de Alps series
(&eacute;&eacute;n of ander droog inkt-proces). Een paar van de Alps
units zijn werkelijk te veroorloven, maar deze werken nog niet onder Linux
(IIRC ze zijn gedocumenteerd). De meer algemene voor foto gespeciliseerde
inkjets maken meestal gebruik van 6 kleuren CMYKcm afdrukken of zelfs van een
7 kleuren CMYKcmy proces; alleen modellen met Postscript ondersteuning 
werken onder Linux, aangezien Ghostscript deze kleuren modellen niet schijnt
te ondersteunen. Goede CMYK uitvoer is echter niet te versmaden. Alle
printers gespecialiseerd in foto's zijn duur in het gebruik; &oacute;f
je blauw raakt altijd op en je moet de gehele cartridge vervangen, of
je betaalt nogal veel aan de individuele kleurnavullingen voor je
dure foto-printer.</p>
<tag/Snelheid/<p>Snelheid is evenredig aan verwerkingskracht, bandbreedte,
en in het algemeen de kosten van de printer. De snelste printers zijn
netwerk postscript printers met krachtige interne processors. Printers
voor de gewone consument zijn deels afhankelijk van de snelheid van
Ghostscript, wat je nog iets kunt be&iuml;nvloeden met een redelijk
goede krachtige computer; in het bijzonder kunnen volledige kleurenpagina's
grote hoeveelheden host-memory consumeren.</p>
<tag/Dot Matrix/ <p>Als je op carbonformulieren af wilt drukken, heb je 
een impact printer nodig; veel bedrijven produceren nog steeds dot
matrix printers, de meeste daarvan emuleren traditionele Epson modellen
en werken dus prima.</p>
<tag/Labels/<p>Er zijn twee series ondersteunde labelprinters; zoek naar
de Dymo-Costar en de Seiko SLP modellen. Het kan zijn dat andere modellen
niet werken. Avery maakt ook diverse groottes sticheretiketten in
8.5x11 formaat die je voor je gewone printer kunt gebruiken.</p>
<tag/Plotting/<p>Grote conceptformaten worden tegenwoordig meestal door
monster inkjets ondersteund; HP is een populaire keuze. Middelgrote
(11x17) inkjets worden gewoonlijk ook voor kleinere afdrukken gebruikt.
Veel plotting van deze soort wordt gedaan met de talen RTL, HP-GL, en
HP-GL/2, wat allen eenvoudige HP's eigen vector-talen zijn die gewoonlijk
direct door applicatie-software worden gegenereerd.</p>
</descrip>
</p>
</sect1>
</sect>


<sect><heading>Welke spooling software?</heading>
<p>
Tot voor kort, was de keuze voor Linux gebruikers eenvoudig - iedereen draaide
hetzelfde oude lpd dat voornamelijk letterlijk afkomstig is van de Net-2 code
van BSD. Zelfs nu nog leveren de meeste verkopers deze software. Maar dit 
is op SVR4 lijkende systemen - waaronder Sun's Solaris - aan het wijzigen.
Ze komen met een volledig ander print spooling package, geconcentreerd rondom
lpsched. En er zijn tekenen dat een aantal verkopers van Linux over 
zullen stappen op de levering van LPRng,
een veel minder oude printspooling implementatie dat vrij-verkrijgbaar
is. LPRng is voor grote installaties veel gemakkelijker te beheren.
(lees: meer dan &eacute;&eacute;n printer, elke seri&euml;le printer, van
of elke bijzondere niet-lpd netwerkprinter) en heeft een minder ontzaglijk
willekeurige codebase dan het stereotiepe lpd. Er kan zelfs eerlijk van
worden beweerd dat het veilig is
- er zijn geen SUID binaries, en het ondersteunt authenticatie via PGP
van Kerberos.
</p>
<p> 
Een interessante nieuwkomer is "CUPS", een implementatie van het
Internet Printing Protocol, een RFC-gedefinieerde vervangend protocol
voor het eerbiedwaardige <!--(en klunky)--> lpd-protocol. De primaire
implementatie hiervan is de open-source component van het commerci&euml;le
product "Easy Print", welke bestaat uit een intelligente spooler en een
verzameling commerci&euml;le printerdrivers gebouwd rond Ghostscript.
</p>
<p>
Voor het moment, zelfs in het licht van de nieuwe opties, is lpd 
voor de meeste Linux-gebruikers waarschijnlijk prima. Ondanks dat het
niet het geweldigste systeem is, werkt het prima zodra het 
&eacute;&eacute;nmaal is ingesteld, het wordt goed begrepen en is
uitgebreid in Unix-boeken van derden gedocumenteerd.
</p>
<p>
Als je graag meer informatie over LPRng zou willen hebben, 
kijk dan op de <url name="LPRng
Web Page" url="http://www.astart.com/lprng/LPRng.html">. In toekomstige
versies van deze HOWTO zal informatie over het gebruik van zowel LPRng
als de gewone lpd worden opgenomen.
</p>
</sect>


<sect><heading>Hoe het werkt, basis</heading>
<p>

Om het afdrukken goed te kunnen laten werken, zul je moeten begrijpen hoe het
lpd-systeem werkt.
</p>
<p>
Lpd staat voor Line Printer Daemon, en verwijst in verschillende contexten
naar zowel de daemon als de gehele verzameling programma's waarmee
print spooling wordt gedraaid. Dit zijn:
</p>
<p>
<descrip>
<tag><tt><htmlurl name="lpd" url="http://www.picante.com/~gtaylor/pht/man/lpd.8.html"></tt>De spooling daemon.</tag><p> &Eacute;&eacute;n hiervan draait 
om alles op een computer te besturen, EN &eacute;&eacute;n
                       draait per printer op het moment dat de printer aan 't
                       afdrukken is.</p>
<tag><tt><htmlurl name="lpr" url="http://www.picante.com/~gtaylor/pht/man/lpr.1.html"></tt></tag><p>Het gebruikers spooling commando.  Lpr zoekt contact met lpd
                       en brengt een nieuwe afdruktaak in de spool.</p>
<tag><tt><htmlurl name="lpq" url="http://www.picante.com/~gtaylor/pht/man/lpq.1.html"></tt></tag><p>Toont de taken in een wachtrij.</p>
<tag><tt><htmlurl name="lpc" url="http://www.picante.com/~gtaylor/pht/man/lpc.8.html"></tt></tag><p>Het Lpd systeem beheercommando. Met lpc kun je
                       de afdrukwachtrijen stoppen, starten, opnieuw ordenen, enz.</p>
<tag><tt><htmlurl name="lprm" url="http://www.picante.com/~gtaylor/pht/man/lprm.1.html"></tt></tag><p><tt/lprm/ zal een taak uit de print spool verwijderen.
</p>
</descrip>
</p>
<p>
Maar hoe valt dit nu samen?  Als het systeem wordt opgestart, wordt
lpd uitgevoerd.
Het scant het bestand <em>/etc/printcap</em> om kennis te nemen van de
printers waar het spools voor zal gaan beheren.
Iedere keer als iemand lpr opstart, zoekt lpr contact met
lpd via de named socket <em>/dev/printer</em>, en geeft
lpd zowel het bestand dat moet worden afgedrukt en wat informatie over
wie aan het afdrukken is en hoe het moet worden afgedrukt.
Lpd drukt op zijn beurt vervolgens het bestand af op de daarvoor bestemde
printer.
</p>
<p>
Het lp-systeem werd van origine ontworpen toen de meeste printers nog
regelprinters waren
- dat hield in dat mensen meestal plain ascii afdrukte. Waar het op
neer komt, is dat er slechts wat extra scriptwerk voor nodig is om te zorgen
dat lpd heel goed werkt voor de hedendaagse afdruktaken, die vaak in
PostScript, of tekst, of dvi, of.... staan.
</p>
</sect>


<sect><heading>Hoe zaken in te stellen, basis</heading>
<sect1><heading>Traditionele lpd configuratie</heading>
<p>
De minimale setup voor lpd resulteert in een systeem 
die de bestanden in een wachtrij kan plaatsen en ze kan afdrukken.
Het zal er geen enkele aandacht aan schenken, of je printer ze
zal begrijpen of niet, en zal je waarschijnlijk geen aantrekkelijke uitvoer
laten produceren. Toch is het de eerste stap naar begrip, dus lees verder!
</p>
<p>
Om een afdrukwachtrij aan lpd toe te voegen, moet je een record in 
<em>/etc/printcap</em>, en de nieuwe spooldirectory onder
<em>/var/spool/lpd</em> aanmaken.
</p>
<p>
Een record in <em>/etc/printcap</em> ziet er ongeveer zo uit:
<tscreen><verb>
# LOCAL djet500
lp|dj|deskjet:\
	:sd=/var/spool/lpd/dj:\
	:mx#0:\
	:lp=/dev/lp0:\
	:sh:
</verb></tscreen>
Hiermee wordt een spool met de naam <em/lp/, <em/dj/, of <em/deskjet/
gedefinieerd, tijdelijke opslag in de directory <em>/var/spool/lpd/dj</em>, 
zonder een maximumlimiet per taak, die afdrukt naar het device
<em>/dev/lp0</em>, en zonder bannerpage
(met de naam van de persoon die het afdrukte, enz)
aan het begin van de afdruktaak toegevoegd.
</p>
<p>
Lees nu de manpage voor <em><htmlurl name="printcap"
url="http://www.picante.com/~gtaylor/pht/man/printcap.5.html"></em>.
</p>
<p>
Het bovenstaande lijkt zeer eenvoudig, maar
er is een valstrik - tenzij ik bestanden verstuur die een DeskJet 500
kan begrijpen, zal deze DeskJet vreemde dingen afdrukken.
Het versturen van bijvoorbeeld een gewoon Unix-tekstbestand
naar een Deskjet resulteert in letterlijk ge&iuml;nterpreteerde
newlines, en geeft me:
<tscreen><verb>
Dit is regel &eacute;&eacute;n.
                 Dit is regel twee.
                                  Dit is regel drie.
</verb></tscreen>
Het afdrukken van een PostScript bestand naar deze spool
zou resulteren in een prachtige lijst met PostScript-commando's,
afgedrukt met dit "staircase effect", maar geeft geen bruikbare uitvoer.
</p>
<p>
Er is duidelijk meer voor nodig, en dit is het doel van filteren.
De oplettenden onder jullie, die de printcap manpage hebben gelezen,
is misschien de kenmerken <em/if/ en <em/of/ opgevallen.
<em/if/, of de invoerfilter, is nu net wat we hier nodig hebben.
</p>
<p>
Als we een klein shell-script met de naam <em/filter/ schrijven
waarmee carriage returns voor de newlines worden ingevoegd, kan het 
trapsgewijze afdrukken worden uitgeschakeld. Dus we moeten een <em/if/ regel
aan ons printcap-record van hierboven toevoegen:
<tscreen><verb>
lp|dj|deskjet:\
	:sd=/var/spool/lpd/dj:\
	:mx#0:\
	:lp=/dev/lp0:\
	:if=/var/spool/lpd/dj/filter:\
	:sh:
</verb></tscreen>
Een eenvoudig filterscript zou kunnen zijn:
<tscreen><verb>
#!perl
# In de regel hierboven zou het hele pad naar perl moeten worden opgenomen
# Dit script moet uitvoerbaar zijn: chmod 755 filter
while(<STDIN>){chop $_; print "$_\r\n";};
# Je wilt misschien ook nog met een form feed eindigen: print "\f";
</verb></tscreen>
Als we het bovenstaande zouden doen, zouden we een spool hebben waarnaar
we reguliere Unix tekstbestanden zouden kunnen printen om zinvolle
resultaten te verkrijgen.
(Ja, er zijn vier miljoen betere manieren om dit filter te schrijven, 
maar weinig zo illustratief. Je wordt aangemoedigd dit effici&euml;nter
te doen.)
</p>
<p>
Het enige resterende probleem is het afdrukken van plain tekst
- zeker het zou beter zijn om PostScript en andere geformatteerde
grafische uitvoer te kunnen afdrukken.
Ja, dat is zo, en het is makkelijk te doen. 
De methode is eenvoudig een uitbreiding van het
hierbovenstaande linefeed-herstel filter. Als je een filter schrijft dat 
willekeurige bestandstypes als invoer accepteert en
DeskJet-uitvoer voor iedere situatie produceert, dan heb je inderdaad
een slimme print spooler!
</p>
<p>
Een dergelijk filter wordt een <em/magic/ filter genoemd.
Doe geen moeite om er zelf &eacute;&eacute;n te schrijven, tenzij
je nogal bizarre zaken afdrukt - 
er zijn er al vele goede voor je geschreven en op het net verkrijgbaar.
APS Filter behoort tot de beste, of er moet zich in je Linux-distributie
een printersetup-tool bevinden die het je allemaal nogal makkelijk maakt.
</p>
</sect1>


<sect1><heading>Bestandspermissies</heading>
<p>
Op veler verzoek, voeg ik hieronder een lijst in van de permissies van
de interessante bestanden op mijn systeem. Er zijn wat betere manieren
om dit te doen, ideaal gezien door alleen gebruik te maken van SGID
binaries en niet alles als SUID root in te stellen,
maar zo kwam mijn systeem uit de verpakking, en voor mij werkt het.
(Eerlijk gezegd, als je verkoper zelfs geen werkende lpd kan leveren,
heb je nog wat te doorstaan).
<tscreen><verb>
-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/
</verb></tscreen>
</p>
<p>
Lpd moet thans als root worden gedraaid zodat het verbonden kan worden met
de laag-genummerde lp service poort. Het zou waarschijnlijk ingesteld moeten
staan met UID lp.lp of iets dergelijks na binding, maar ik denk niet dat dit
zo is. 
</p>
</sect1>
</sect>


<sect><heading>Verkrijgen van Afdruksoftware</heading>
<p>
Veel reeds geschreven filterpackages (en andere printer-gerelateerde software)
is beschikbaar vanaf <tt><url name="Metalab"
url="ftp://metalab.unc.edu/pub/Linux/system/printing/"></tt>. Dergelijke
utility's zoals psutils, a2ps, mpage, dvitodvi, flpr, enz zijn daar
allemaal te vinden.
</p>
<p>
Er verschenen zelfs verscheidene packages die allen probeerden de 
printerconfiguratie makkelijker te maken.
Ze bestaan waarschijnlijk allemaal nog, maar &eacute&eacute;n van de beste en
meest up-to-date is het APS Filter package van Andreas Klemm,
welke een menugestuurd printcap configuratieprogramma heeft en praktisch
alle denkbare typen invoer afhandelt.
Als je verkoper je geen mooi afdruksetuptool levert, is APS Filter
de manier om het te doen.
</p>
</sect>


<sect><heading>Verkopers Oplossingen</heading>
<p>
Deze sectie is, per definitie, onvolledig. Stuur gerust details
in van je favoriete distributie.
</p>


<sect1><heading>Red Hat</heading>
<p>
Red Hat heeft een GUI afdrukbeheertool (in de control panel)
waarmee remote printers en printers op lokale devices kunnen worden
ingesteld. Je kunt er een door ghostscript ondersteund printertype
mee uitkiezen en een Unix apparaatbestand om naar af te drukken, 
vervolgens installeert het een afdrukwachtrij in
<em>/etc/printcap</em> en schrijft een kort PostScript-en-ascii magicfilter
gebaseerd rondom <tt/gs/ en <tt><htmlurl name="nenscript"
url="http://www.picante.com/~gtaylor/pht/man/nenscript.1.html"></tt>.
Deze oplossing werkt tamelijk goed, en is voor het instellen van alledaagse
situaties erg simpel.
</p>
<p>
Waar Red Hat niet in slaagt is, als je een printer hebt, die niet door
hun standaard Ghostscript (welke GNU is in plaats van Aladdin Ghostscript,
en welke minder printers ondersteunt) wordt ondersteund.
Controleer de printer-compatibiliteitenlijst hierboven (of <url
url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="online">) als je bemerkt dat je geen juiste afdrukken met de
Red Hat software kunt produceren.
Als je printer niet door de tools van Red Hat
wordt ondersteund, zul je misschien een versie van Aladdin Ghostscript moeten
installeren. Je zult waarschijnlijk ook beter af zijn als je het
apsfilter package gebruikt, welke bekend is met de printers die door 
de late modellen van Ghostscripts worden ondersteund.
</p>
</sect1>

<sect1><heading>Debian</heading>
<p>
Debian biedt een keuze uit plain lpd en LPRng; LPRng is waarschijnlijk
een betere keuze. Ik geloof dat Debian ook een keuze uit configuratietools
voor de printer biedt; apsfilter versie 5 of later is waarschijnlijk je
beste kans, aangezien die versie ondersteuning toevoegt voor LPRng en
Ghostscript's uniprint driver schema.
</p>
</sect1>


<sect1><heading>Andere Distributies</heading>
<p>
Stuur me alsjeblieft informatie op over wat andere distributies doen!
</p>
</sect1>
</sect>

<sect><heading>Ghostscript</heading>
<p>
<htmlurl name="Ghostscript" url="http://www.cs.wisc.edu/~ghost/"> is
een ongelofelijk veelbetekenend programma voor het afdrukken onder Linux.
De meeste afdruksoftware onder Unix genereert PostScript,
wat typisch een &dollar;100 optie voor een printer is.
Ghostscript is echter vrij-verkrijgbaar en zal de taal van je printer
vanuit PostScript genereren.
Wanneer verbonden met je <tt/lpd/ input filter, geeft het je een virtuele
PostScript printer en vereenvoudigt het 't leven enorm.
</p>
<p>
Ghostscript is in twee vormen beschikbaar. De commerci&euml;le versie van
Ghostscript, met de naam Aladdin Ghostscript, mag vrij worden gebruikt voor
persoonlijk gebruik, maar mag niet door commerci&euml;le Linux distributies
worden gedistribueerd.
Het loopt gewoonlijk ongeveer een jaar vooruit op de vrij-verkrijgbare
Ghostscript; op het moment ondersteunt het bijvoorbeeld veel kleuren
inktjets die de oudere Ghostscripts niet ondersteunen.
</p>
<p>
De vrij verkrijgbare versie van Ghostscript is GNU Ghostscript, en is
gewoon een verouderde versie van Aladdin ghostscript 
aan GNU geschonken.  (Roem aan
Aladdin voor deze regeling; meer verkopers van software zouden vrije
software op deze manier moeten ondersteunen, als het niet mogelijk is
dat ze hun geheel ontwikkelde code distribueren). 
</p>
<p>
Wat je ook doet met <tt><htmlurl name="gs"
url="http://www.picante.com/~gtaylor/pht/man/gs.1.html"></tt>, wees er
heel erg zeker van dat je het met de optie voor het deactiveren van 
bestandstoegang (<tt/-dSAFER/) uitvoert. PostScript is een volledig 
functionele taal, en een slecht PostScript programma zou je een aardige
hoofdpijn kunnen bezorgen.
</p>
<p>
PDF, het Portable Document Format van Adobe is in feite
niet veel meer dan 
georganiseerd PostScript in een gecomprimeerd bestand. Ghostscript kan
PDF invoer afhandelen net als het dat met PostScript doet.  
Dus je kunt de eerste van je groep zijn met een PDF-capabele printer.
</p>


<sect1><heading>Ghostscript Aanroepen</heading>
<p>
Ghostscript zal draaien met wat voor magic filter je ook installeert
(ik raad je apsfilter aan als je verkoper je niet iets leverde waar
je wat aan hebt), maar voor het opsporen van fouten is het vaak
handig het direct uit te voeren.
</p>
<p>
<tt>gs -help</tt> zal een beknopte informatieve lijst met opties en
beschikbare drivers geven (merk op dat dit de lijst met drivers is die is 
ingecompileerd, niet de hoofdlijst met alle beschikbare drivers).
</p>
<p>
Misschien wil je gs wel draaien voor testdoeleinden zoals:
<tt>gs <em>options</em> -q -dSAFER -sOutputFile=/dev/lp1 test.ps</tt>.
</p>
</sect1>


<sect1><heading>Ghostscript uitvoer fijnafstemmen</heading>
<p>
Er zijn een aantal dingen die je kunt doen als de uitvoer van gs niet
naar je tevredenheid is (eigenlijk kun je alles doen wat je maar wilt,
aangezien je de source hebt).
</p>

<sect2><heading>Uitvoer lokatie en grootte</heading>
<p>
De lokatie, grootte en breedte/hoogte-verhouding van de afbeelding op een
pagina wordt bepaald door de printer-specifieke driver in ghostscript. 
Als je bemerkt dat je pagina's er te vroeg afgebroken, of te lang,
of te groot met een factor twee uitkomen, wil je misschien eens kijken
in de source module van je driver en de parameters erin aanpassen.
Helaas is iedere driver anders, dus ik kan je niet echt zeggen wat je
aan moet passen, maar de meeste zijn redelijk goed gedocumenteerd.
</p>
</sect2>


<sect2><heading>Gamma, dotsizes, enz.</heading>
<p>
De meeste niet-laser printers hebben als nadeel dat hun dots
nogal groot zijn. Dit resulteert in te donkere afbeeldingen. Als je
dit probleem ervaart zou je je eigen transportfunctie moeten gebruiken.
Maak gewoon het volgende bestand aan in de ghostscript lib-dir en voeg
de naam ervan toe aan de gs call vlak voor het eigenlijke bestand. 
Misschien dat je de feitelijke waarden aan je printer aan moet passen.
Hoe lager de waarde hoe helderder de afdruk.
Vooral als je driver gebruik maakt van een Floyd-Steinberg
algoritme om kleuren in rasters in te delen, zijn lagere waarden ( 0.2 - 0.15 )
waarschijnlijk een goede keus.
 
<tscreen><verb>
---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<---
</verb></tscreen>
</p>
 
<p>
Het is ook mogelijk printers met wat colour fault te verbeteren
door deze waarden aan te passen. Als je iets dergelijks doet, raad ik je
aan het bestand colorcir.ps te gebruiken, dat bij ghostscript zit
(in de examples/ subdir), als een testpagina.

</p>
<p>
Voor veel van de nieuwere kleuren-inkjetdrivers bestaan commando-regel
opties of verschillende upp driver files, welke gamma en andere wijzingen
implementeren om de printer voor verschillende papiersoorten aan te passen.
Je zou hiernaar moeten kijken voordat je met Postscript aan de gang gaat
om zaken te herstellen.
</p>
</sect2>
</sect1>
</sect>


<sect><heading>Hoe afdrukken naar een printer over het netwerk</heading>
<p>
&Eacute;&eacute;n van de mogelijkheden van lpd is dat het afdrukken over het
netwerk naar printers ondersteunt, die fysiek met een andere machine zijn
verbonden. Je kunt er voor zorgen dat lpr transparant naar printers op alle
soorten netwerken af kan drukken, als je zorgt voor een zorgvuldige combinatie
van filterscripts en bij elkaar passende utility's.
</p>


<sect1><heading>Naar een Unix/lpd host</heading>
<p>
Om remote computers toe te staan naar je printer af te drukken, 
moet je de lijst met computers
in <em>/etc/hosts.equiv</em> of <em>/etc/hosts.lpd</em> bijwerken.
(Merk op dat <em/hosts.equiv/ nog heel wat andere effecten heeft; wees er
zeker van dat je weet wat je aan het doen bent als je je computer hier i
vermeldt). Je kunt alleen bepaalde gebruikers op de andere computers toestaan
om naar je printer af te drukken door het specificeren van de
<em/rs/ attribuut; lees de <tt><htmlurl name="lpd"
url="http://www.picante.com/~gtaylor/pht/man/lpd.8.html"></tt> man page
voor informatie hierover.
</p>

<sect2><heading>Met <tt>lpd</tt></heading>
<p>
Om naar een andere machine af te drukken, voeg je als volgt
gegevens toe aan <em>/etc/printcap</em>:
<tscreen><verb>
# REMOTE djet500
lp|dj|deskjet:\
	:sd=/var/spool/lpd/dj:\
	:rm=machine.out.there.com:\
	:rp=printername:\
	:lp=/dev/null:\
	:sh:
</verb></tscreen>
Noot: Er bevindt zich op de lokale computer nog steeds een spooldirectory
die door <tt/lpd/ wordt beheerd. Als de remote machine bezet of offline is,
kunnen afdruktaken van de lokale computer in het spoolgebied wachten tot ze
kunnen worden verzonden.
</p>
</sect2>

<sect2><heading>Met <tt>rlpr</tt></heading>
<p>
Je kunt <em>rlpr</em> ook gebruiken een afdruktaak direct naar een
wachtrij op een remote computer te sturen.
Dit is vooral handig in situaties waar je slechts bij gelegenheid naar
een diversiteit aan printers afdrukt.
Vanuit de aankondiging voor <em>rlpr</em>:
</p>

<p>
Rlpr gebruikt TCP/IP om taken naar lpd-servers, waar dan ook op een netwerk,
af te drukken.
</p>

<p>
In tegenstelling tot lpr, vereist het *niet* dat de remote printers
expliciet bekend zijn bij de machine vanwaar je af wilt drukken, 
(d.w.z. door <em>/etc/printcap</em>) en is dus aanmerkelijk flexibeler
en vereist minder beheer.
</p>

<p>
rlpr kan overal worden gebruikt waar ook een traditionele lpr zou kunnen 
worden gebruikt, en het is backwards compatibel met de traditionele BSD lpr.
</p>
<p>
De belangrijkste kracht die door rlpr wordt bereikt is de kracht om
op afstand *van overal naar iedere plaats* af te drukken zonder rekening
te houden met hoe het systeem vanwaar je wilt afdrukken werd geconfigureerd.
Rlpr kan net als de traditionele lpr als een filter werken, zodat
clients die op een remote computer worden uitgevoerd, zoals netscape, xemacs,
enz., enz., zonder al te veel moeite naar je lokale computer af kunnen drukken.
</p>
<p>
Rlpr is beschikbaar vanaf <tt><url name="Metalab"
url="ftp://metalab.unc.edu/pub/Linux/system/printing/"></tt>.
</p>
</sect2>
</sect1>


<sect1><heading>Naar een Win95, WinNT, LanManager, of Samba printer</heading>
<p>
Er is een Printing naar Windows mini-HOWTO waarin meer informatie
staat dan hierin is te vinden.
</p>
<p>
Het is mogelijk een lpd wachtrij te besturen via de <tt><htmlurl
name="smbclient"
url="http://www.picante.com/~gtaylor/pht/man/smbclient.1.html"></tt>
programma (onderdeel van de samba suite) naar een op TCP/IP gebaseerde SMB
print service.
Samba bevat hiervoor een script met de naam <tt/smbprint/. In het kort komt
het erop neer dat je een configuratiebestand voor de specifieke printer waar
het om gaat in de spooldirectory plaatst, en het <tt>smbprint</tt>-script
als de <em>if</em> installeert.
</p>
<p>
Het <em>/etc/printcap</em> record ziet er ongeveer zo uit:
<tscreen><verb>
lp|remote-smbprinter:\
    :lp=/dev/null:sh:\
    :sd=/var/spool/lpd/lp:\
    :if=/usr/local/sbin/smbprint:
</verb></tscreen>
</p>
<p>
Je zou de documentatie in het <tt/smbprint/ script moeten lezen, voor
meer informatie over hoe je dit in kunt stellen.
</p>
<p>
Je kunt ook de <tt>smbclient</tt> gebruiken, om een bestand direct aan
een SMB afdrukservice aan te leveren zonder dat <tt>lpd</tt> daarbij 
betrokken is. Zie de man page.
</p>
</sect1>

<sect1><heading>Naar een NetWare Printer</heading>
<p>
In de ncpfs suite bevindt zich een utility genaamd <tt/nprint/ welke in
dezelfde functionaliteit voorziet als
<tt/smbprint/ maar dan voor NetWare. Je kunt ncpfs verkrijgen bij
<htmlurl name="Metalab" url="ftp://metalab.unc.edu/pub/Linux/system/filesystems/ncpfs/">.
Vanuit het LSM record voor versie 0.16:

<quote>
Met ncpfs kun je volumes van je netwareserver onder Linux mounten.
Je kunt ook naar een netware afdrukwachtrij afdrukken en 
spool netware afdrukwachtrijen naar het Linux afdruk systeem. 
Je hebt kernel 1.2.x of 1.3.54 en hoger nodig. ncpfs werkt NIET met
enige 1.3.x kernels lager dan 1.3.54.
</quote>
</p>

<p>
Om ervoor te zorgen dat <tt/nprint/ via lpd werkt, schrijf je een klein
shell-script om stdin op de NetWare printer af te drukken, en dat installeer je
als de <em/if/ voor een lpd afdrukwachtrij.
Je zult iets krijgen als:
<tscreen><verb>
sub2|remote-NWprinter:\
	:lp=/dev/null:sh:\
	:sd=/var/spool/lpd/sub2:\
	:if=/var/spool/lpd/nprint-script:
</verb></tscreen>
Bij benadering kan het <tt>nprint-script</tt> er ongeveer zo uitzien:
<tscreen><verb>
#! /bin/sh
# Je zou eerst de guest account zonder wachtwoord moeten proberen!
/usr/local/bin/nprint -S net -U name -P passwd -q printq-name -
</verb></tscreen>
</p>
</sect1>


<sect1><heading>Naar een EtherTalk (Apple) printer</heading>
<p>
Het netatalk package bevat iets degelijks als <tt/nprint/ en
<tt/smbclient/. Anderen hebben de procedure voor het afdrukken van en
naar een Apple netwerk veel beter beschreven dan ik dat ooit zal kunnen;
zie de <url name="Linux Netatalk-HOWTO"
url="http://thehamptons.com/anders/netatalk/">.
</p>
</sect1>


<sect1><heading>Naar een HP of andere ethernet printer</heading>
<p>
HP's en een aantal andere printers worden met een ethernet interface
geleverd waarnaar je met gebruik van lpd direct af kunt drukken.
Je zou de instructies die met je printer
werden meegeleverd of de netwerk adaptor moeten lezen,
maar in het algemeen, "draaien" dergelijke printers lpd, en voorzien in
&eacute;&eacute;n of meer wachtrijen waarnaar je kunt afdrukken.
Een HP zou bijvoorbeeld met een volgend printcap kunnen werken:
<tscreen><verb>
lj-5|remote-hplj:\
        :lp=/dev/null:sh:\
        :sd=/var/spool/lpd/lj-5:\
        :rm=printer.name.com:rp=raw:
</verb></tscreen>
</p>
<p>
HP Laserjet printers met Jet Direct interfaces ondersteunen in het algemeen twee
ingebouwde lpd wachtrijen - "raw" welke PCL accepteren (en mogelijk
Postscript) en "text" welke recht toe recht aan ascii accepteert (en
automatisch het staircase effect bestrijdt).
Als je een JetDirect Plus3 three-port box hebt, worden de wachtrijen "raw1",
"text2", enzovoort genoemd.
</p>
<p>
Merk op dat de ISS-organisatie een verzameling denial of service attacks
heeft herkend waardoor HP Jetdirect interfaces vastlopen.
De meeste daarvan zijn in de herfst van 98 aangepakt.
</p>
<p>
Op grote schaal, vooral in een grote omgeving waar een
aantal printers geen Postscript ondersteunen, kan het nuttig zijn
een toegewezen printserver in te stellen waarnaar alle computers
afdrukken en waarop alle ghostscripts taken worden gedraaid.
</p>
<p>
Hierdoor is het ook mogelijk dat je Linux-box als een spoolserver voor de
printer fungeert zodat je netwerkgebruikers hun afdruktaken snel kunnen
volbrengen en verder kunnen gaan zonder op de printer te wachten totdat
enige andere taak is afgedrukt welke door een ander was gezonden.
Dit is ook aan te bevelen als je oudere niet te herstellen HP Jetdirects
hebt; het vermindert de kans dat de printers vast komen te zitten.
</p>
<p>
Stel hiervoor een wachtrij in op je linux-box welke naar de ethernet toegeruste
HP LJ verwijst (zoals hierboven). Stel nu alle clients op je LAN zo in dat
ze naar de Linux wachtrij verwijzen (bv lj-5 in het voorbeeld hierboven).
</p>
<p>
Een aantal HP netwerk-printers slaan blijkbaar geen acht op de banner page
instelling die door clients wordt gezonden; je kunt hun intern gegenereerde
banner page uitschakelen door naar de printer te telnetten, tweemaal een
return te geven, in te tikken
"banner: 0" gevolgd door "quit". Er zijn bovendien nog andere instellingen die
je op deze manier kunt wijzigen; tik een "?" in voor een lijst.
</p>
<p>
De volledige range aan instellingen kan worden beheerd door HP's <url
url="http://www.hp.com/go/webjetadmin" name="WebJet"> software. Dit
package draait als een daemon, en accepteert via een toegewezen poort
http-verzoeken.
Het voorziet in formulieren en Java-applets waarmee de HP-printers op het
netwerk kunnen worden bestuurd. In theorie kan het ook Unix afdrukwachtrijen
beheren, maar het doet dit door gebruik te maken van de rexec service,
welke volledig onveilig is. Ik adviseer je die mogelijkheid niet te gebruiken.
</p>

<sect2><heading>Naar oudere HP's</heading>
<p>
Een aantal printers (en printer netwerk "black boxen") ondersteunen alleen
goedkope kleine zonder protocol ingesloten TCP-verbindingen. 
In deze categorie bevinden zich de vroege modellen van de JetDirect 
(waaronder een aantal JetDirectEx) kaarten. Eigenlijk moet je een verbinding
met de printer op een specifieke poort openen om naar de printer af te drukken
(typisch een 9100, of 9100, 9101 en 9102 voor three-port boxes) en je
afdruktaak ernaar toe sturen. LPRng (wat je eigenlijk daarvoor in de plaats
zou moeten gebruiken, als je deze sectie leest) heeft ingebouwde ondersteuning
voor het opzetten van afdruktaken naar willekeurige TCP-poorten, maar met BSD
lpd is het niet zo gemakkelijk. Het beste is waarschijnlijk het kleine
utility genaamd netcat te verkrijgen en te gebruiken. Als dat niet lukt, 
kan het onder andere in Perl worden ge&iuml;mplementeerd:

<tscreen><verb>
#!/usr/bin/perl
# Met dank aan Dan McLaughlin voor het schrijven van de originele versie van
# dit script (En aan Jim W. Jones voor het naast Dan zitten toen hij me
# schreef voor hulp ;-)

$fileName = @ARGV[0];

open(IN,"$fileName") || die "Kan het bestand $fileName niet openen";

$dpi300     = "\x1B*t300R";
$dosCr      = "\x1B&ero;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 $!;
}
# Geef de socket een adres.
if (bind(S, $this)) {
#    print "bind ok\n";
}
else {
    die $!;
}

# Roep de server aan.

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;
}
</verb></tscreen>
</p>
</sect2>
</sect1>


<sect1><heading>Een <em/if/ voor remote printers uitvoeren</heading>
<p>
&Eacute;&eacute;n eigenaardigheid van lpd is dat de <em/if/ niet voor
remote printers wordt uitgevoerd.
Als je bemerkt dat je een <em/if/ nodig hebt, kun je dit doen door 
een dubbele wachtrij in te stellen en de taak opnieuw in de wachtrij te
plaatsen. Zie de volgende <em>printcap</em> voor een voorbeeld:
<tscreen><verb>
lj-5:\
        :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=printer.name.com:\
	:rp=raw:sd=/var/spool/lpd/lj-5-raw:
</verb></tscreen>
rekening houdend met dit <tt/filter-lj-5/ script:
<tscreen><verb>
#!/bin/sh
gs <options> -q -dSAFER -sOutputFile=- - | \
	lpr -Plj-5-remote -U$5
</verb></tscreen>
</p>
<p>
De <em/-U/ optie van lpr werkt alleen als lpr als een daemon wordt uitgevoerd,
en het stelt de naam juist in van degene die de afdrukopdracht gaf.
Je zou waarschijnlijk een meer robuuste methode moeten
gebruiken om de gebruikersnaam te verkrijgen,
aangezien het in een aantal gevallen niet argument 5 is. 
Zie de man page van <em><htmlurl name="printcap"
url="http://www.picante.com/~gtaylor/pht/man/printcap.5.html"></em>.
</p>
</sect1>

<sect1><heading>Vanaf Windows</heading>
<p>
Afdrukken vanaf een Windows (of waarschijnlijk, OS/2) client naar een Linux
server wordt direct ondersteund via SMB door middel van het gebruik van het
SAMBA package, waarmee ook het delen van bestanden van je Linux bestandssysteem
naar Windows clients wordt ondersteunt.
</p>
<p>
Samba bevat tamelijk complete documentatie, en er is tevens een goede
Samba FAQ die daarop van toepassing is. Je kunt zowel een magic filter
op de Linux-box configureren en er PostScript naar afdrukken, als 
printer-specifieke drivers op alle Windows-computers installeren en
daar wachtrijen voor instellen zonder dat daar filters voor nodig zijn.
Op de Windows drivers vertrouwen kan in een aantal gevallen betere uitvoer
produceren, maar is wat meer administratief gedoe als er veel Windows boxen
zijn. Dus probeer eerst Postscript.
</p>
</sect1>

<sect1><heading>Vanaf een Apple</heading>
<p>
Netatalk ondersteunt het afdrukken vanaf Apple clients over EtherTalk. 
Zie de <url name="Netatalk HOWTO Page"
url="http://thehamptons.com/anders/netatalk/"> voor meer informatie.
</p>
</sect1>

<sect1><heading>Vanaf Netware</heading>
<p>
Het ncpfs package bevat een daemon genaamd pserver welke kan worden gebruikt
om in een service te voorzien naar een
NetWare afdrukwachtrij. Van wat ik ervan heb begrepen,
vereist dit systeem een op Bindery gebaseerde NetWare, bv 2.x, 3.x, of 4.x met
bindery toegang geactiveerd.
</p>
<p>
Zie
<url url="ftp://ftp.gwdg.de/pub/linux/misc/ncpfs/" name="de ncpfs FTP site">
voor meer informatie over ncpfs en zijn pserver-programma.
</p>
</sect1>
</sect>

<sect><heading>Printers die alleen voor Windows zijn bestemd</heading>

<p>
Zoals eerder besproken, wordt een aantal printers als zodanig niet
ondersteund, omdat ze geen normale printertaal spreken, en in plaats daarvan
gebruik maken van de computer's CPU om een bitmap weer te geven, die dan
vervolgens weer op een vastgestelde snelheid naar de printer wordt doorgegeven.
In een paar gevallen, spreken deze printers ook nog iets normaals, zoals
PCL, maar vaak kunnen ze dat niet. In een aantal (werkelijk goedkope)
gevallen, maakt de printer zelfs geen gebruik van een gewone parallelle
verbinding maar is afhankelijk van de driver van de verkoper om datgeen
te emuleren wat hardware gedrag zou moeten zijn (als belangrijkste flow
control).
</p>
<p>
In ieder geval zijn er een paar mogelijk tijdelijke oplossingen als je met een
dergelijke strop zit opgescheept.
</p>

<sect1><heading>De Ghostscript Windows redirector</heading>
<p>
Er is nu een Windows printerdriver beschikbaar
(met de naam mswinpr2) waarmee een afdruktaak door Ghostscript gaat
voordat het uiteindelijk wordt afgedrukt.
(Lijkt nogal op een if filter in LDP van Unix). Er is ook een nieuwe
Ghostscript driver die afdrukt door gebruik te maken van GDI-calls.
Dit alles bijelkaar zou(tm) het mogelijk moeten maken dat een Windows
computer, via de driver van de verkoper, PostScript kan printen naar een
printer die alleen voor Windows is bestemd.
</p>
<p>
Als je dat werkend hebt, kun je de instructies hierboven voor het 
afdrukken naar een Windows printer over het netwerk vanuit Linux volgen
om Unix (en andere Windows, Mac, enz) hosts naar je printer te laten
afdrukken.
</p>
<p>
Ik heb dit nooit gebruikt aangezien ik geen winprinter heb, dus
het kan voor jou anders uitpakken. Alle software die je ervoor nodig hebt
zou beschikbaar moeten zijn vanaf de home page van Ghostscript.
(zie de links in de Ghostscript sectie van dit document).
</p>
</sect1>

<sect1><heading>Lexmarks</heading>
<p>
Een aantal HP printers gebruiken "Printing Performance Architecture"
(marketingstaal voor "we waren te goedkoop om PCL te implementeren"). 
Dit wordt via een omweg ondersteund via de pbm2ppa translator geschreven
door Tim Norman. Eigenlijk maak je gebruik van ghostscript om PostScript
in een bitmapped image in pbm formaat weer te geven en gebruik je vervolgens
pbm2ppa om dit in een printer-specifiek ppa-bitmapformaat te vertalen, klaar
om naar de printer te worden gedumpt. Het kan zijn dat dit programma er 
inmiddels ook in een ghostscript driverformaat is.
</p>
<p>
Er zijn nu ook drivers voor de 5700, 1000, 1100, 2070 en anderen. Zie de
lijst met ondersteunde printers hierboven en mijn website voor meer
informatie over het verkrijgen van deze drivers.

</p>
<p>
De ppa-software kan worden gehaald vanaf <url
url="http://www.rpi.edu/~normat/technical/ppa/" name="de ppa home
page">; pbm2ppa ondersteunt een aantal modellen van de HP 720, 820, en 1000;
lees de documentatie die met het package wordt meegeleverd, 
voor meer details over de ppa printerondersteuning.
</p>
</sect1>

<sect1><heading>Het pbm2l7k programma</heading>
<p>
De meeste goedkope Lexmark-inkjets maken gebruik van een 
eigen taal en heten daarom Winprinters. Henryk Paluch heeft
echter een programma geschreven waarmee op een Lexmark 7000 in zwart  
kan worden afgedrukt.
Hopelijk zal hij in staat zijn er achter te komen hoe in kleur af te drukken
en de ondersteuning naar andere Lexmark-inkjets uit te breiden.
Zie <url url="http://bimbo.fjfi.cvut.cz/~paluch/l7kdriver/"
name="http://bimbo.fjfi.cvut.cz/~paluch/l7kdriver/"> voor meer informatie.
</p>
</sect1>
</sect>

<sect><heading>Hoe naar een fax machine af te drukken</heading>
<sect1><heading>Een faxmodem gebruiken</heading>
<p>
Er zijn een aantal faxprogramma's waarmee je kunt faxen en
documenten kunt ontvangen.
&Eacute;&eacute;n van de meest complexe is <em/HylaFax/ van Sam Leffler,
beschikbaar vanaf <tt/ftp.sgi.com/. Het ondersteunt van alles,
van meerdere modems tot broadcasting.
</p>
<p>
SuSE levert een Java HylaFax client, waarvan wordt beweerd dat het op elk
Java platform werkt (waaronder Windows en Linux). Voor de meeste platformen
zijn er ook niet-Java fax-clients;
Linux kan bijna zeker al je netwerk faxbehoeften afhandelen.
</p>
<p>
Ook beschikbaar en voor de meeste Linux-boxen een betere keuze is
<tt><htmlurl name="efax"
url="http://www.picante.com/~gtaylor/pht/man/efax.1.html"></tt>, een
eenvoudig programma waarmee faxen kunnen worden verzonden. 
Het getty programma <tt/mgetty/ kan
faxen ontvangen (en op een aantal modems zelfs voicemail!).
</p>
</sect1>


<sect1><heading>Gebruiken van Remote Printing Service</heading>
<p>
Er wordt een experimentele service geboden die je een emailbericht 
laat zenden met hetgeen je afgedrukt zou willen hebben, 
zodanig dat het elders op een fax-machine verschijnt.
Er worden mooie formaten zoals postscript ondersteund,
dus zelfs al zou de globale dekking ongelijkmatig zijn, dan kan dit nog steeds
een zeer nuttige service zijn. Zie de 
<url url="http://www.tpc.int/" name="Remote Printing WWW Site"> voor meer
informatie over het afdrukken via de remote afdrukservice.
</p>
</sect1>
</sect>

<sect><heading>Hoe genereer je iets dat waard is om af te drukken</heading>
<p>
Hier belanden we in een echt rattennest met software. Eigenlijk kan Linux
vele typen bibliotheken met vari&euml;rende graden van succes draaien:
Linux/x86, Linux/Alpha, Linux/Sparc, Linux/foo, iBCS, Win16/Win32s (met dosemu
en, ooit, met Wine), Mac/68k (met Executor), en Java. Ik zal slechts
native Linux en algemene Unix software bespreken.
</p>
<p>
Voor Linux zelf, zijn de mogelijkheden voornamelijk beperkt tot datgene wat
voor Unix in het algemeen beschikbaar is:
</p>

<sect1><heading>Markup languages</heading>
<p>
De meeste markup languages zijn meer geschikt voor grote of herhalende
projecten, waar je de computer de layout van de tekst wilt laten beheren
om uniformiteit te verkrijgen.
</p>
<p>
<descrip>
<tag><tt>nroff</tt></tag><p>Dit was &eacute;&eacute;n van de eerste Unix markup
talen. Man pages zijn de meest algemene voorbeelden van hetgeen in *roff macros
is geformatteerd; veel mensen zweren erbij, maar nroff heeft, vind ik in
ieder geval, een geheimzinniger syntax dan nodig is, en het is voor nieuwe
werken waarschijnlijk een magere keuze.
Het is echter waard om te weten dat je met
groff een man page direct in postscript kan zetten.
De meeste man commando's zullen dit voor je doen met
<tt/man -t foo | lpr/.</p>
<tag/TeX/<p>TeX, en het macropackage LaTeX, is &eacute;&eacute;n van de
meest gebruikte markup languages onder Unix.
Technische werkstukken worden vaak in LaTeX
geschreven omdat het de layout zaken sterk vereenvoudigd en  
het <em/nog steeds/ &eacute;&eacute;n van de weinige tekstverwerkings
systemen is die wiskunde zowel compleet als goed ondersteunen.
Het uitvoerformaat van TeX is
<tt/dvi/, en wordt geconverteerd naar PostScript of Hewlett Packard's PCL met
<tt/dvips/ of <tt/dvilj/. Als je TeX of LaTeX wilt installeren,
installeer dan de gehele teTeX groep aan packages; het bevat alles.</p>
<tag/SGML/<p>Er bestaat tenminste &eacute;&eacute;n vrij-verkrijgbare
sgml parser die zowel beschikbaar is voor Unix als voor Linux;
het vormt de basis van het Linuxdoc-SGML's homegrown document
systeem. Het kan bovendien andere DTD's ondersteunen.</p>
<tag/HTML/<p>Iemand deed de suggestie dat het voor eenvoudige projecten,
voldoende zou kunnen zijn, het in HTML te schrijven en het met Netscape
af te drukken. Ik ben het daar niet mee eens, maar YMMV.</p>
</descrip>
</p>
</sect1>

<sect1><heading>WYSIWYG Tekstverwerkers</heading>
<p>
Er is niet langer enig tekort aan WYSIWYG tekstverwerkings software.
Verscheidene complete office suites zijn beschikbaar, inclusief
&eacute;&eacute;n die vrij in het gebruik is voor persoonlijk gebruik
(StarOffice).
<descrip>
<tag/StarOffice/<p>De organisatie Sun Microsystes distribueert StarOffice voor
Linux vrij over het net.
  Deze volledig ontwikkelde office suite heeft alle faciliteiten die je zou
  verwachten, en om de prijs hoef je het niet te laten. Er is een mini-HOWTO die
  beschrijft hoe je het kunt verkrijgen en installeren.
  Het genereert PostScript of PCL, dus zou met de meeste printers die
  op andere wijze onder Linux werken, moeten kunnen werken.
  Klaarblijkelijk is het een Office-kloon en is het nogal opgeblazen; dit
  zijn waarschijnlijk twee equivalente feiten!.</p>
<tag/WordPerfect/<p>Corel distribueert een basisversie van Word Perfect 8
  vrij voor Linux, en ze hebben gesuggereerd dat ze bovendien ook Corel
  Draw en Quattro Pro zullen gaan distribueren, zodra ze zijn geport.
  Dit is waarschijnlijk de beste optie als je een ARM computer hebt;
  Corel fabriceert de op ARM- gebaseerde
  Netwinder Linux computers en het is bijna zeker dat ze overal ARM Linux 
  versies van aanbieden. Je kunt ook de geheel ontwikkelde versie en support,
  tegelijkertijd of apart kopen. De <url
  url="http://www.channel1.com/users/rodsmith/wpfonts.html" name="Linux 
  WordPerfect Fonts and Printers"> pagina heeft informatie over het
  configureren van WordPerfect voor gebruik met Ghostscript of z'n
  ingebouwde printerdrivers
  (welke klaarblijkelijk identiek zijn aan de
  WordPerfect drivers voor DOS, als je printer niet in de WP8-distributie
  voorkomt).</p>
<tag/Applix/<p>Applix is een cross-platform (d.w.z., diverse Unices, Windows,
  en anderen) office suite die door het Applix bedrijf wordt verkocht.  
  Red Hat en SuSE verkochten het zelf toen het nog het enige was wat te
  verkrijgen was; nu worden de verkopen weer door Applix geregeld.</p>
<tag/AbiWord/<p>AbiWord is &eacute;n&eacute;n van de verscheidene GPL
  WYSIWYG tekstverwerkers-projecten; deze heeft een functioneel 
  basisprogramma geproduceerd. Er wordt gewerkt aan integratie
  met de Gnome desktop.</p>
<tag/LyX/<p>LyX is een front-end naar LaTeX wat er veelbelovend uitziet. Zie
  de <url name="LyX Homepage" url="http://www.lyx.org/"> voor meer
  informatie. Er is een versie van LyX in KDE-styl, genaamd Klyx; de
  auteur van LyX en de aanstichter van KDE zijn &eacute;&eacute;n en
  dezelfde persoon.</p>
  <tag/Maxwell/<p>Maxwell is een eenvoudige op MS RTF-formaat gebaseerde
  tekstverwerker welke als een commercieel produkt begon, maar nu
  onder de GPL wordt gedistribueerd.  </p>
<tag/Het Andrew User Interface System/<p>AUIS bestaat uit een
  WYSIWYG-style editor met de meeste basis tekstverwerkingsmogelijkheden, HTML
  mogelijkheden, en volledige MIME email en newsgroup ondersteuning.
  Helaas wordt AUIS niet langer beheerd.</p>
<tag/Koffice/<p>Het KDE project werkt aan een volledige office suite.
  Ik denk dat het nog geen tijd is voor de eerste uitgave. De tekstverwerker
  zal waarschijnlijk een afgeleide van LyX zijn.</p>
<tag/GNOME/<p>Het GNOME project werkt ook hard aan diverse onder GNU 
  gelicentieerde office tools. Er zijn er echter nog geen beschikbaar.</p>
</descrip>
</p>
<p>
Andere verkopers zouden gerust een berichtje bij me achter kunnen laten
met hun aanbiedingen.
</p>
</sect1>
</sect>


<sect><heading>Van te voren op scherm bekijken van afdrukbare zaken</heading>
<p>
Bijna alles wat je kunt printen, kan ook op het scherm worden bekeken.
</p>


<sect1><heading>PostScript</heading>
<p>
Ghostscript heeft een X11-driver die het beste kan worden gebruikt onder
het beheer van de PostScript previewer <htmlurl name="gv"
url="http://www.picante.com/~gtaylor/pht/man/gv.1x.html">. Met de
laatste versies van deze programma's zou je bovendien PDF-bestanden
moeten kunnen bekijken.
Merk op dat gv z'n oudere previewer "Ghostview" heeft vervangen; de
nieuwe gebruikersinterface is mooier en heeft meer faciliteiten dan
de gewone oude Athena gui van ghostview.
</p>
</sect1>

<sect1><heading>TeX dvi</heading>
<p>
TeX DeVice Independant bestanden kunnen van tevoren onder X11 worden bekeken
met <htmlurl
name="xdvi" url="http://www.picante.com/~gtaylor/pht/man/xdvi.1.html">.
Moderne versies van xdvi roepen ghostscript aan om
de bijzonderheden van PostScript weer te geven.
</p>
<p>
Er bestaat bovendien een VT100 driver. Het wordt <tt/dgvt/ genoemd. <tt/Tmview/
werkt met Linux en svgalib.
</p>
</sect1>

<sect1><heading>Adobe PDF</heading>
<p>
Adobe's Acrobat Reader is beschikbaar voor Linux; download het gewoon vanaf
hun website <url url="http://www.adobe.com/">.
</p>
<p>
Je kunt ook xpdf gebruiken, het is freeware en de source wordt
meegeleverd, en ik denk dat Ghostview het bekijken van PDF-bestanden
met gs onder X11 inmiddels ondersteunt.
</p>
</sect1>
</sect>

<sect><heading>Seri&euml;le printers onder lpd</heading>
<sect1><heading>Instelling in printcap</heading>
<p>
Lpd voorziet in vijf attributen die je in <em>/etc/printcap</em> in kunt
stellen om alle instellingen van de seri&euml;le poort waarop de printer
is aangesloten, te beheren.
Lees de <em><htmlurl name="printcap"
url="http://www.picante.com/~gtaylor/pht/man/printcap.5.html"></em> man
page en let op de betekenissen van <em/br&num;/, <em/fc&num;/,
<em/xc&num;/, <em/fs&num;/ en <em/xs&num;/.  De laatste vier van deze
attributen zijn bitmaps die de instellingen voor de poorten aangeven. Het
<em/br&num;/ attribuut is gewoon de baud rate, bv `<tt/br&num;9600/'.
</p>
<p>
Het is erg makkelijk te vertalen van <htmlurl name="stty"
url="http://www.picante.com/~gtaylor/pht/man/stty.1.html"> instellingen
naar printcap flag instellingen. Als je dit moet doen, kijk dan nu
in de man page van stty.
</p>
<p>
Gebruik stty om de printerpoort in te stellen zodanig dat je er met cat een
bestand naar kunt sturen en het correct af kunt drukken.
Zo ziet mijn `<em/stty -a/' voor mijn printerpoort eruit:
<tscreen><verb>
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
</verb></tscreen>
De enige wijzigingen hiertussen en de wijze waarop de poort 
tijdens het opstarten wordt ge&iuml;nitialiseerd 
zijn <tt/-clocal/, <tt/-crtscts/, en <tt/ixon/. Je poort kan echter heel
goed anders zijn, afhankelijk van hoe je printer flow control afhandelt.
</p>
<p>
Je gebruikt stty eigenlijk op een wat vreemde manier. Aangezien stty
op de terminal opereert naar zijn standaardinvoer, gebruik je het om
een gegeven seri&euml;le poort te manipuleren door gebruik te maken van het
`<tt/&lt;/' teken als hierboven.
</p>
<p>
Zodra je stty-instellingen goed staan, zodanig dat `<em>cat file >
/dev/ttyS2</em>' (in mijn geval) het bestand naar de printer stuurt, kijk
dan naar het bestand
/usr/src/linux/include/asm-i386/termbits.h. Hierin staan een heleboel
&num;defines en een paar structs. Je wilt dit bestand met cat misschien wel
naar de printer sturen, (je hebt dat nu werkend, toch?) en het als
kladpapier gebruiken. Ga naar de sectie die begint met

<tscreen><verb>
/* c_cflag bit meaning */
#define CBAUD   0000017
</verb></tscreen>
Deze sectie geeft een opsomming van de betekenis van de <em/fc&num;/ en 
<em/fs&num;/ bits. Je
zult merken dat de namen daar (na de baud rates) overeenkomen met
&eacute;&eacute;n van de regels van de uitvoer van stty. 
Zei ik niet dat dit makkelijk zou zijn?
</p>
<p>
Let op welke van die instellingen door een - in je stty uitvoer worden
voorafgegaan. Tel al die nummers bijelkaar op (ze staan in het octale stelsel).
Hiermee worden de bits die je wilt schonen voorgesteld, dus het resultaat
is je <em/fc&num;/ capaciteit. Denk er uiteraard aan dat je
direct na het schonen de bits in zal gaan stellen,
dus je kan gewoon gebruiken `<tt/fc&num;0177777/' (zo doe ik het).
</p>
<p>
Doe nu hetzelfde voor die instellingen (opgesomd in deze sectie)
die in je stty uitvoer geen - ervoor hebben.
In mijn voorbeeld zijn de belangrijkste CS8 (0000060), HUPCL (0002000), 
en CREAD (0000200). Let ook op de flags voor je baud rate (de mijne is
0000015). Tel deze allemaal bijelkaar op, en in mijn voorbeeld krijg je 
0002275. Dit gaat in je <em/fs&num;/ capaciteit (`<tt/fs&num;02275/' werkt
in mijn voorbeeld prima).
</p>

<p>
Doe hetzelfde met set en clear voor de volgende sectie van het include
bestand, "c_lflag bits". In mijn geval hoefde ik niets in te stellen, dus ik
gebruik gewoon `<tt/xc&num;0157777/' en `<tt/xs&num;0/'.
</p>
</sect1>


<sect1><heading>Oudere seri&euml;le printers die tekens weglaten</heading>
<p>
Jon Luckey wijst erop dat een aantal oudere seri&euml;le printers met ten-cent
seri&euml;le interfaces en kleine buffers <em/echt/ stop bedoelen als ze dit
zeggen met flow control. Hij kwam erachter dat het de-activeren van de FIFO
in zijn 16550 seri&euml;le poort van zijn Linux box met 
<tt><htmlurl name="setserial" url="http://www.picante.com/~gtaylor/pht/man/setserial.8.html"></tt>
het probleem met de weggevallen tekens corrigeerde (je specificeert het
uart-type kennelijk als een 8250 om dit te doen).
</p>
</sect1>
</sect>

<sect><heading>Credits</heading>
<p>
De <tt/smbprint/ informatie komt van een artikel door Marcel Roelofs
<tt/&lt;marcel@paragon.nl>/.
</p>
<p>
In de <tt/nprint/ informatie over het gebruik van Netware printers is voorzien 
door Michael Smith <tt/&lt;mikes@bioch.ox.ac.uk>/.
</p>

<p>
De seri&euml;le printers onder de lpd sectie komt van Andrew Tefft
<tt/&lt;teffta@engr.dnet.ge.com>/.
</p>

<p>
Het stuk over gamma's en dergelijke voor gs werd ingezonden door Andreas
<tt/&lt;quasi@hub-fue.franken.de>/.
</p>

<p>
De twee paragrafen over de 30 seconden closing_wait van de seri&euml;le
driver is bijgedragen door Chris Johnson <tt/&lt;cdj@netcom.com>/.
</p>

<p>
Robert Hart zond een paar uitstekende paragrafen over het instellen
van een printserver naar netwerk HP's die ik woordelijk gebruikte.
</p>

<p>
En speciale dank aan de velen van jullie die in de loop der
jaren hebben gewezen op typfouten, slechte url's en fouten in het document.
</p>
</sect>
</article>
</linuxdoc>