View | Details | Raw Unified | Return to bug 42473 | Differences between
and this patch

Collapse All | Expand All

(-)book.sgml.fixes (-69 / +75 lines)
Lines 13-23 Link Here
13
    </author>
13
    </author>
14
14
15
    <copyright>
15
    <copyright>
16
      <year>2000</year>
16
      <year>2001</year>
17
      <holder>Addison-Wesley Longman, Inc</holder>
17
      <holder>Addison-Wesley Longman, Inc (Original English language edition)</holder>
18
    </copyright>
18
    </copyright>
19
19
20
    <isbn>ISBN: 0-201-70481-1</isbn>
20
    <copyright>
21
      <year>2001</year>
22
      <holder>Pearson Educational Japan (Japanese langiage translation)</holder>
23
    </copyright>
24
25
    <isbn>ENGLISH LANGUAGE EDITION ISBN: 0-201-70481-1</isbn>
26
    <isbn>JAPANESE LANGUAGE EDITION ISBN: 4-89471-464-7</isbn>
21
    
27
    
22
    <legalnotice>
28
    <legalnotice>
23
      <para>The eighth chapter of the book, <citetitle>The FreeBSD Corporate
29
      <para>The eighth chapter of the book, <citetitle>The FreeBSD Corporate
Lines 103-109 Link Here
103
	  carriage return character must be added to the end of each line in
109
	  carriage return character must be added to the end of each line in
104
	  raw text print output; otherwise, text prints in a
110
	  raw text print output; otherwise, text prints in a
105
	  <emphasis>stairstep</emphasis> output.  (Some printers have hardware
111
	  <emphasis>stairstep</emphasis> output.  (Some printers have hardware
106
	  or software switches to do the conversion)</para>
112
	  or software switches to do the conversion.)</para>
107
      </sect2>
113
      </sect2>
108
114
109
      <sect2>
115
      <sect2>
Lines 173-179 Link Here
173
	  user.  Although a single company holding control over a standard can
179
	  user.  Although a single company holding control over a standard can
174
	  guarantee compliance, it does significantly raise the cost of the
180
	  guarantee compliance, it does significantly raise the cost of the
175
	  printer.  As a result, PostScript has not met with much success in
181
	  printer.  As a result, PostScript has not met with much success in
176
	  lower-end laser and inkjet Windows printing market, despite the fact
182
	  the lower-end laser and inkjet Windows printing market, despite the fact
177
	  that Adobe distributes PostScript software operating system drivers
183
	  that Adobe distributes PostScript software operating system drivers
178
	  for free.</para>
184
	  for free.</para>
179
185
Lines 396-402 Link Here
396
	    works identically to the external JetDirect units.</para>
402
	    works identically to the external JetDirect units.</para>
397
403
398
	  <figure>
404
	  <figure>
399
	    <title>Printeserver in the printer</title>
405
	    <title>Printserver in the printer</title>
400
406
401
	    <mediaobject>
407
	    <mediaobject>
402
	      <imageobject>
408
	      <imageobject>
Lines 591-605 Link Here
591
	  <title>Network Printing to Remote Spools</title>
597
	  <title>Network Printing to Remote Spools</title>
592
598
593
	  <para>Although several proprietary network printing protocols such
599
	  <para>Although several proprietary network printing protocols such
594
	    as Banyan Vines and NetWare, are tied to proprietary protocols,
600
	    as Banyan Vines and NetWare, are tied to proprietary network protocols,
595
	    FreeBSD Unix can use two TCP/IP network printing protocols to
601
	    FreeBSD UNIX can use two TCP/IP network printing protocols to
596
	    print to remote print spools.  The two print protocols available
602
	    print to remote print spools.  The two print protocols available
597
	    on TCP/IP with FreeBSD are the open LPD protocol and the
603
	    on TCP/IP with FreeBSD are the open LPD protocol and the
598
	    NetBIOS-over-TCP/IP Server Messaging Block (SMB) print protocol
604
	    NetBIOS-over-TCP/IP Server Messaging Block (SMB) print protocol
599
	    first defined by Intel and Microsoft and later used by IBM and
605
	    first defined by Intel and Microsoft and later used by IBM and
600
	    Microsoft.</para>
606
	    Microsoft.</para>
601
607
602
	  <para>The LPD protocol is defined in RFC1179 This network protocol
608
	  <para>The LPD protocol is defined in RFC1179. This network protocol
603
	    is the standard print protocol used on all UNIX systems.  LPD
609
	    is the standard print protocol used on all UNIX systems.  LPD
604
	    client implementations exist for all Windows operating systems and
610
	    client implementations exist for all Windows operating systems and
605
	    DOS.  Microsoft has written LPD for the Windows NT versions, the
611
	    DOS.  Microsoft has written LPD for the Windows NT versions, the
Lines 735-741 Link Here
735
	      <filename>PSCRIP.EXE</filename> which brought the PostScript
741
	      <filename>PSCRIP.EXE</filename> which brought the PostScript
736
	      driver to version 3.58 is no longer publicly available.) WfW
742
	      driver to version 3.58 is no longer publicly available.) WfW
737
	      already uses the more recent PostScript driver, as does Win31
743
	      already uses the more recent PostScript driver, as does Win31
738
	      version A.  Installing the Adobe Postscript driver for Win31 is
744
	      version A.  Installing the Adobe PostScript driver for Win31 is
739
	      also an option.  (see
745
	      also an option.  (see
740
	      <ulink url="http://www.adobe.com/support/downloads/pdrvwin.htm">http://www.adobe.com/support/downloads/pdrvwin.htm</ulink>
746
	      <ulink url="http://www.adobe.com/support/downloads/pdrvwin.htm">http://www.adobe.com/support/downloads/pdrvwin.htm</ulink>
741
	      for the version 3.1.2 Win31 PostScript driver).</para>
747
	      for the version 3.1.2 Win31 PostScript driver).</para>
Lines 744-750 Link Here
744
	  <step>
750
	  <step>
745
	    <para>Look on the network adapter driver disk for the subdirectory
751
	    <para>Look on the network adapter driver disk for the subdirectory
746
	      <filename>nwclient/</filename> and then look for the ODI driver
752
	      <filename>nwclient/</filename> and then look for the ODI driver
747
	      with the adapter card.  For example, on the 3com 3C509/3C579
753
	      for the adapter card.  For example, on the 3com 3C509/3C579
748
	      adapter driver disk, the driver and location are
754
	      adapter driver disk, the driver and location are
749
	      <filename>\NWCLIENT\3C5X9.COM</filename>.  Copy this driver to
755
	      <filename>\NWCLIENT\3C5X9.COM</filename>.  Copy this driver to
750
	      the <filename>c:\nwclient</filename> directory.</para>
756
	      the <filename>c:\nwclient</filename> directory.</para>
Lines 841-847 Link Here
841
<userinput>3c5x9</userinput>
847
<userinput>3c5x9</userinput>
842
<userinput>tcpip</userinput></screen>
848
<userinput>tcpip</userinput></screen>
843
849
844
	    <para>The TCPIP driver should list the IP numbers and other
850
	    <para>The TCP/IP driver should list the IP numbers and other
845
	      information.</para>
851
	      information.</para>
846
	  </step>
852
	  </step>
847
853
Lines 880-887 Link Here
880
886
881
	  <step>
887
	  <step>
882
	    <para>Run <command>setup.exe</command> from the temporary
888
	    <para>Run <command>setup.exe</command> from the temporary
883
	      directory containing the <filename>wlprs</filename> files
889
	      directory containing the <filename>wlprs</filename> files.
884
	      are.</para>
890
	      </para>
885
	  </step>
891
	  </step>
886
892
887
	  <step>
893
	  <step>
Lines 897-903 Link Here
897
	  </step>
903
	  </step>
898
904
899
	  <step>
905
	  <step>
900
	    <para>On the Unix FreeBSD print spooler, make sure that there is
906
	    <para>On the UNIX FreeBSD print spooler, make sure that there is
901
	      an entry in <filename>/etc/hosts.lpd</filename> or
907
	      an entry in <filename>/etc/hosts.lpd</filename> or
902
	      <filename>/etc/hosts.equiv</filename> for the client
908
	      <filename>/etc/hosts.equiv</filename> for the client
903
	      workstation, thereby allowing it to submit jobs.</para>
909
	      workstation, thereby allowing it to submit jobs.</para>
Lines 1011-1017 Link Here
1011
	  <step>
1017
	  <step>
1012
	    <para>If the spooler is not started properly in some
1018
	    <para>If the spooler is not started properly in some
1013
	      installations, there may be a bug.  If placing the icon in the
1019
	      installations, there may be a bug.  If placing the icon in the
1014
	      StartUp group doesen't actually start the spooler, the program
1020
	      Startup group doesn't actually start the spooler, the program
1015
	      name can be placed in the <literal>run=</literal> line of
1021
	      name can be placed in the <literal>run=</literal> line of
1016
	      <filename>win.ini</filename>.</para>
1022
	      <filename>win.ini</filename>.</para>
1017
	  </step>
1023
	  </step>
Lines 1033-1039 Link Here
1033
	  Windows 95, but as a 16-bit program, it is far from an optimal
1039
	  Windows 95, but as a 16-bit program, it is far from an optimal
1034
	  implementation on a 32-bit operating system.  In addition, Win95 and
1040
	  implementation on a 32-bit operating system.  In addition, Win95 and
1035
	  it's derivatives fundamentally changed from Windows 3.1 in the
1041
	  it's derivatives fundamentally changed from Windows 3.1 in the
1036
	  printing subystem.  For these reasons I use a different LPR client
1042
	  printing subsystem.  For these reasons I use a different LPR client
1037
	  program for Win95/98 LPR printing instructions.  It is a full 32-bit
1043
	  program for Win95/98 LPR printing instructions.  It is a full 32-bit
1038
	  print program, and it installs as a <emphasis>Windows 32-bit
1044
	  print program, and it installs as a <emphasis>Windows 32-bit
1039
	    printer</emphasis> <emphasis>port monitor</emphasis>.  The program
1045
	    printer</emphasis> <emphasis>port monitor</emphasis>.  The program
Lines 1085-1091 Link Here
1085
	  starts printing the first page while the rest of the pages are
1091
	  starts printing the first page while the rest of the pages are
1086
	  building, timeouts at the network layer can sometimes cause very
1092
	  building, timeouts at the network layer can sometimes cause very
1087
	  large jobs to abort.  The entire job should be set to completely
1093
	  large jobs to abort.  The entire job should be set to completely
1088
	  spool before the LPR client passes it to the Unix spooler.  The
1094
	  spool before the LPR client passes it to the UNIX spooler.  The
1089
	  problem is partly the result of program design: because ACITS is
1095
	  problem is partly the result of program design: because ACITS is
1090
	  implemented as a local printer port instead of being embedded into
1096
	  implemented as a local printer port instead of being embedded into
1091
	  Win95 networking (and available in Network Neighborhood) the program
1097
	  Win95 networking (and available in Network Neighborhood) the program
Lines 1094-1100 Link Here
1094
	<para>The LPR program can be set to deselect banner/burst page
1100
	<para>The LPR program can be set to deselect banner/burst page
1095
	  printing if a PostScript printer that cannot support ASCII is used.
1101
	  printing if a PostScript printer that cannot support ASCII is used.
1096
	  The burst pages referred to here are NOT generated by the Windows
1102
	  The burst pages referred to here are NOT generated by the Windows
1097
	  machine.  Use the instructions in Exhibit 8.3 to install</para>
1103
	  machine.  Use the instructions in Exhibit 8.3 to install ACITS.</para>
1098
1104
1099
	<procedure>
1105
	<procedure>
1100
	  <title>LPR client on Win95/98 installation instructions</title>
1106
	  <title>LPR client on Win95/98 installation instructions</title>
Lines 1190-1196 Link Here
1190
1196
1191
	  <step>
1197
	  <step>
1192
	    <para>Review how the "send plain text control flag" is set.  With
1198
	    <para>Review how the "send plain text control flag" is set.  With
1193
	      this flag unchecked, the LPR code sent is L, (ie:, print
1199
	      this flag unchecked, the LPR code sent is L, (i.e., print
1194
	      unfiltered) meaning that the <literal>if</literal> filter gets
1200
	      unfiltered) meaning that the <literal>if</literal> filter gets
1195
	      called with the <option>-c</option> option.  This is equivalent
1201
	      called with the <option>-c</option> option.  This is equivalent
1196
	      to the local invocation of <filename>/usr/bin/lpr -l</filename>.
1202
	      to the local invocation of <filename>/usr/bin/lpr -l</filename>.
Lines 1267-1273 Link Here
1267
1273
1268
	  <step>
1274
	  <step>
1269
	    <para>In the Installed Network Software window, "Microsoft TCP/IP
1275
	    <para>In the Installed Network Software window, "Microsoft TCP/IP
1270
	      Printing" should be listed as well as "TCP/IP Protocol".</para>
1276
	      Printing" should be listed as well as "TCP/IP Protocol". If it is, stop here; otherwise continue.</para>
1271
	  </step>
1277
	  </step>
1272
	  
1278
	  
1273
	  <step>
1279
	  <step>
Lines 1390-1396 Link Here
1390
	  </step>
1396
	  </step>
1391
	  
1397
	  
1392
	  <step>
1398
	  <step>
1393
	    <para>3) Select the My Computer radio button, not the Network
1399
	    <para>Select the My Computer radio button, not the Network
1394
	      Print Server button and click <guibutton>Next</guibutton>.  (The
1400
	      Print Server button and click <guibutton>Next</guibutton>.  (The
1395
	      printer <emphasis>is</emphasis> a networked printer, it is
1401
	      printer <emphasis>is</emphasis> a networked printer, it is
1396
	      managed on the local NT system. Microsoft used confusing
1402
	      managed on the local NT system. Microsoft used confusing
Lines 1442-1448 Link Here
1442
	    Q150930.  With Windows NT 3.51, and 4.0 up to service pack 1 the
1448
	    Q150930.  With Windows NT 3.51, and 4.0 up to service pack 1 the
1443
	    change is global.  Starting with NT 4.0 Service pack 2 the change
1449
	    change is global.  Starting with NT 4.0 Service pack 2 the change
1444
	    can be applied to specific print queues, (see Knowledge Base
1450
	    can be applied to specific print queues, (see Knowledge Base
1445
	    article ID Q168457).</para>
1451
	    article ID Q168457). This registry change also works for Windows 2000.</para>
1446
1452
1447
	  <para>Under Windows NT 4.0, the change is:</para>
1453
	  <para>Under Windows NT 4.0, the change is:</para>
1448
1454
Lines 1585-1591 Link Here
1585
    </sect1>
1591
    </sect1>
1586
1592
1587
    <sect1>
1593
    <sect1>
1588
      <title>Printing Postscript and DOS command files</title>
1594
      <title>Printing PostScript and DOS command files</title>
1589
1595
1590
      <para>One problem with printing under Win31 and Win95 with the LPR
1596
      <para>One problem with printing under Win31 and Win95 with the LPR
1591
	methods discussed is the lack of a <quote>raw</quote>
1597
	methods discussed is the lack of a <quote>raw</quote>
Lines 1606-1612 Link Here
1606
1612
1607
      <programlisting>echo \033&amp;k2G &gt; lpt1:</programlisting>
1613
      <programlisting>echo \033&amp;k2G &gt; lpt1:</programlisting>
1608
1614
1609
      <para>This batch file switches a HP LasterJet from CR-LF, MS-DOS
1615
      <para>This batch file switches a HP LaserJet from CR-LF, MS-DOS
1610
	textfile printing into Newline termination UNIX textfile printing.
1616
	textfile printing into Newline termination UNIX textfile printing.
1611
	Otherwise, raw text printed from UNIX on the HP prints with a
1617
	Otherwise, raw text printed from UNIX on the HP prints with a
1612
	stairstep effect.</para>
1618
	stairstep effect.</para>
Lines 1690-1696 Link Here
1690
% printers.
1696
% printers.
1691
/buf 10 string def
1697
/buf 10 string def
1692
/CM {
1698
/CM {
1693
save statusdict/product get (Postscript) anchorsearch
1699
save statusdict/product get (PostScript) anchorsearch
1694
exch pop {length 0 eq
1700
exch pop {length 0 eq
1695
{1}{2}ifelse
1701
{1}{2}ifelse
1696
}
1702
}
Lines 1780-1786 Link Here
1780
	is the default queue.  Most UNIX-supplied printing utilities send
1786
	is the default queue.  Most UNIX-supplied printing utilities send
1781
	print output to this queue if no printer is specified by the user.  It
1787
	print output to this queue if no printer is specified by the user.  It
1782
	should be set to point to the most popular print queue with
1788
	should be set to point to the most popular print queue with
1783
	<emphasis>local</emphasis> UNIX print users, (i.e.: users that have
1789
	<emphasis>local</emphasis> UNIX print users, (i.e., users that have
1784
	shell accounts).</para>
1790
	shell accounts).</para>
1785
1791
1786
      <para>The layout of <filename>/etc/printcap</filename>is covered in the
1792
      <para>The layout of <filename>/etc/printcap</filename>is covered in the
Lines 1829-1835 Link Here
1829
lp|local line printer:\
1835
lp|local line printer:\
1830
    :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
1836
    :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
1831
1837
1832
NEC|NEC Silentwriter 95 Postscript printer:\
1838
NEC|NEC Silentwriter 95 PostScript printer:\
1833
    :lp=/dev/lpt0:sd=/var/spool/output/NEC:lf=/var/log/lpd-errs:
1839
    :lp=/dev/lpt0:sd=/var/spool/output/NEC:lf=/var/log/lpd-errs:
1834
#</programlisting>
1840
#</programlisting>
1835
1841
Lines 1877-1883 Link Here
1877
	    <para>Modify the <literal>sd</literal> capability in the
1883
	    <para>Modify the <literal>sd</literal> capability in the
1878
	      <filename>/etc/printcap</filename> file to point to a spool
1884
	      <filename>/etc/printcap</filename> file to point to a spool
1879
	      directory in a different, larger filesystem, such as
1885
	      directory in a different, larger filesystem, such as
1880
	      <filename>/usr/spool.</filename></para>
1886
	      <filename>/usr/spool</filename>.</para>
1881
	  </listitem>
1887
	  </listitem>
1882
1888
1883
	  <listitem>
1889
	  <listitem>
Lines 1912-1918 Link Here
1912
	  grow far past the default print size of a megabyte.  The original
1918
	  grow far past the default print size of a megabyte.  The original
1913
	  intent of this capability was to prevent errant programs from
1919
	  intent of this capability was to prevent errant programs from
1914
	  stuffing the spool with jobs so large that they would use up all
1920
	  stuffing the spool with jobs so large that they would use up all
1915
	  paper in a printer..  Graphics-heavy print jobs have made it
1921
	  paper in a printer.  Graphics-heavy print jobs have made it
1916
	  impossible to depend on this kind of space limitation, so
1922
	  impossible to depend on this kind of space limitation, so
1917
	  <literal>mx</literal> is usually set to zero, which turns it
1923
	  <literal>mx</literal> is usually set to zero, which turns it
1918
	  off.</para>
1924
	  off.</para>
Lines 2012-2018 Link Here
2012
2018
2013
	<para>The last two important printcap capabilities concern print
2019
	<para>The last two important printcap capabilities concern print
2014
	  filters, <literal>if</literal> (input filter) and
2020
	  filters, <literal>if</literal> (input filter) and
2015
	  <literal>of</literal> (output filter) If defined, incoming print
2021
	  <literal>of</literal> (output filter). If defined, incoming print
2016
	  jobs are run through the filters that these entries point to for
2022
	  jobs are run through the filters that these entries point to for
2017
	  further processing.</para>
2023
	  further processing.</para>
2018
2024
Lines 2034-2040 Link Here
2034
	  want!</para>
2040
	  want!</para>
2035
2041
2036
	<sect3>
2042
	<sect3>
2037
	  <title>Types of filters</title>
2043
	  <title>Types of Filters</title>
2038
2044
2039
	  <para>Three types of filters can be defined in the
2045
	  <para>Three types of filters can be defined in the
2040
	    <filename>/etc/printcap</filename> file.  In this book all filter
2046
	    <filename>/etc/printcap</filename> file.  In this book all filter
Lines 2088-2096 Link Here
2088
	</sect3>
2094
	</sect3>
2089
2095
2090
	<sect3>
2096
	<sect3>
2091
	  <title>Printing raw Unix text with a filter</title>
2097
	  <title>Printing Raw UNIX Text with a Filter</title>
2092
2098
2093
	  <para>One of the first thing that a new Unix user will discover when
2099
	  <para>One of the first things that a new UNIX user will discover when
2094
	    plugging a standard LaserJet or impact printer into a UNIX system
2100
	    plugging a standard LaserJet or impact printer into a UNIX system
2095
	    is the <emphasis>stairstep</emphasis> problem.  The symptom is
2101
	    is the <emphasis>stairstep</emphasis> problem.  The symptom is
2096
	    that the user dumps text to the printer, either through LPR or
2102
	    that the user dumps text to the printer, either through LPR or
Lines 2112-2118 Link Here
2112
	  <para>If the printer is a PostScript printer, and doesn't support
2118
	  <para>If the printer is a PostScript printer, and doesn't support
2113
	    standard ASCII, then dumping UNIX text to it doesn't work.  But
2119
	    standard ASCII, then dumping UNIX text to it doesn't work.  But
2114
	    then, neither would dumping MS-DOS text to it. (Raw text printing
2120
	    then, neither would dumping MS-DOS text to it. (Raw text printing
2115
	    on PostScript printers is discussed later in this chapter) Note
2121
	    on PostScript printers is discussed later in this chapter.) Note
2116
	    also that if the printer is connected over the network to an HP
2122
	    also that if the printer is connected over the network to an HP
2117
	    JetDirect hardware print server, internal or external, the TEXT
2123
	    JetDirect hardware print server, internal or external, the TEXT
2118
	    queue on the hardware print automatically adds the extra Carriage
2124
	    queue on the hardware print automatically adds the extra Carriage
Lines 2126-2132 Link Here
2126
	    which makes the printer supply it's own carriage return.  This
2132
	    which makes the printer supply it's own carriage return.  This
2127
	    solution is ugly in a printer environment with UNIX and Windows
2133
	    solution is ugly in a printer environment with UNIX and Windows
2128
	    machines attempting to share use of the same printer.  Switching
2134
	    machines attempting to share use of the same printer.  Switching
2129
	    the printer to work with Unix disrupts DOS/Windows raw text
2135
	    the printer to work with UNIX disrupts DOS/Windows raw text
2130
	    printouts.</para>
2136
	    printouts.</para>
2131
2137
2132
	  <para>The better solution is to use a simple filter that converts
2138
	  <para>The better solution is to use a simple filter that converts
Lines 2189-2195 Link Here
2189
	</sect3>
2195
	</sect3>
2190
2196
2191
	<sect3>
2197
	<sect3>
2192
	  <title>The pr filter</title>
2198
	  <title>The <literal>pr</literal> filter</title>
2193
	  
2199
	  
2194
	  <para>Although most filters are built by scripts or programs and are
2200
	  <para>Although most filters are built by scripts or programs and are
2195
	    added to the UNIX machine by the administrator, there is one
2201
	    added to the UNIX machine by the administrator, there is one
Lines 2201-2217 Link Here
2201
	    <option>-p</option> option used with the <command>lpr</command>
2207
	    <option>-p</option> option used with the <command>lpr</command>
2202
	    program at the UNIX command prompt.</para>
2208
	    program at the UNIX command prompt.</para>
2203
2209
2204
	  <para>The pr filter is special - it runs <emphasis>in
2210
	  <para>The <literal>pr</literal> filter is special - it runs <emphasis>in
2205
	      addition</emphasis> to any input filters specified for the print
2211
	      addition</emphasis> to any input filters specified for the print
2206
	    queue in <filename>/etc/printcap</filename>,
2212
	    queue in <filename>/etc/printcap</filename>,
2207
	    <emphasis>if</emphasis> the user sets the option for a print job.
2213
	    <emphasis>if</emphasis> the user sets the option for a print job.
2208
	    This allows headers and pagination to be applied in addition to
2214
	    This allows headers and pagination to be applied in addition to
2209
	    any special conversion, such as CR to LF that a specified input
2215
	    any special conversion, such as CR to CR/LF that a specified input
2210
	    filter may apply.</para>
2216
	    filter may apply.</para>
2211
	</sect3>
2217
	</sect3>
2212
2218
2213
	<sect3>
2219
	<sect3>
2214
	  <title>Printing PostScript banner pages with a Filter.</title>
2220
	  <title>Printing PostScript Banner Pages with a Filter.</title>
2215
2221
2216
	  <para>Unfortunately, the canned banner page supplied in the LPD
2222
	  <para>Unfortunately, the canned banner page supplied in the LPD
2217
	    program prints only on a text-compatible printer.  If the attached
2223
	    program prints only on a text-compatible printer.  If the attached
Lines 2343-2349 Link Here
2343
2349
2344
	  <programlisting>#
2350
	  <programlisting>#
2345
lp|local line printer, PostScript, banner:\
2351
lp|local line printer, PostScript, banner:\
2346
  :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
2352
  :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:\
2347
  :if=/usr/local/libexec/psbanner:sh:mx#0:
2353
  :if=/usr/local/libexec/psbanner:sh:mx#0:
2348
2354
2349
lpnobanner|local line printer, PostScript, no banner:\
2355
lpnobanner|local line printer, PostScript, no banner:\
Lines 2399-2407 Link Here
2399
2405
2400
	<listitem>
2406
	<listitem>
2401
	  <para>The username of the submitter can be easily forged, if the job
2407
	  <para>The username of the submitter can be easily forged, if the job
2402
	    is remotely submitted over the network from a client. (practically
2408
	    is remotely submitted over the network from a client (practically
2403
	    all jobs in a Windows client printing environment are remotely
2409
	    all jobs in a Windows client printing environment are remotely
2404
	    submitted) Although some LPR clients can be set to authenticate,
2410
	    submitted). Although some LPR clients can be set to authenticate,
2405
	    and the <literal>rs</literal> capability can be set to enforce
2411
	    and the <literal>rs</literal> capability can be set to enforce
2406
	    authentication, not all can, especially Windows LPR
2412
	    authentication, not all can, especially Windows LPR
2407
	    clients.</para>
2413
	    clients.</para>
Lines 2480-2486 Link Here
2480
	model name of the printer, the "Auto printer driver install" feature
2486
	model name of the printer, the "Auto printer driver install" feature
2481
	of Windows NT and Win95/98 is activated.  This automatically loads the
2487
	of Windows NT and Win95/98 is activated.  This automatically loads the
2482
	correct printer driver if the user clicks on the print queue in
2488
	correct printer driver if the user clicks on the print queue in
2483
	Network Neighborhood under Windows 95 or NT 4.0 The restriction, of
2489
	Network Neighborhood under Windows 95 or NT 4.0. The restriction, of
2484
	course, is that the printer model must be in the Windows client driver
2490
	course, is that the printer model must be in the Windows client driver
2485
	database.</para>
2491
	database.</para>
2486
2492
Lines 2562-2568 Link Here
2562
	<title>Printer entries in configuration files</title>
2568
	<title>Printer entries in configuration files</title>
2563
2569
2564
	<para>Following are listings of sample
2570
	<para>Following are listings of sample
2565
	  <filename>/etc/printcap</filename> file, and
2571
	  <filename>/etc/printcap</filename> and
2566
	  <filename>smb.conf</filename> files used on the system to provide
2572
	  <filename>smb.conf</filename> files used on the system to provide
2567
	  print services.  An explanation of the interaction of these files
2573
	  print services.  An explanation of the interaction of these files
2568
	  follows.</para>
2574
	  follows.</para>
Lines 2572-2578 Link Here
2572
2578
2573
	  <programlisting>#
2579
	  <programlisting>#
2574
#
2580
#
2575
# The printer in lpt0 is a Postscript printer.  The nec-crlf entry
2581
# The printer in lpt0 is a PostScript printer.  The nec-crlf entry
2576
# is for testing the printer when it is switched into HP LaserJet III
2582
# is for testing the printer when it is switched into HP LaserJet III
2577
# mode.
2583
# mode.
2578
#
2584
#
Lines 2583-2589 Link Here
2583
2589
2584
#
2590
#
2585
2591
2586
nec-crlf|NEC Silentwriter 95 in ASCII mode with Unix text filter:\
2592
nec-crlf|NEC Silentwriter 95 in ASCII mode with UNIX text filter:\
2587
  :lp=/dev/lpt0:sd=/usr/lpdspool/nec-crlf:\
2593
  :lp=/dev/lpt0:sd=/usr/lpdspool/nec-crlf:\
2588
  :lf=/var/log/lpd-errs:sh:mx#0:\
2594
  :lf=/var/log/lpd-errs:sh:mx#0:\
2589
  :if=/usr/local/libexec/crlfilter:tr=\f:
2595
  :if=/usr/local/libexec/crlfilter:tr=\f:
Lines 2596-2602 Link Here
2596
2602
2597
#
2603
#
2598
2604
2599
nec-ps-banner|NEC Silentwriter 95 with Postscript banner page created:\
2605
nec-ps-banner|NEC Silentwriter 95 with PostScript banner page created:\
2600
  :lp=/dev/lpt0:sd=/usr/lpdspool/nec-ps-banner:\
2606
  :lp=/dev/lpt0:sd=/usr/lpdspool/nec-ps-banner:\
2601
  :lf=/var/log/lpd-errs:sh:mx#0:if=/usr/local/libexec/psbanner:
2607
  :lf=/var/log/lpd-errs:sh:mx#0:if=/usr/local/libexec/psbanner:
2602
2608
Lines 2646-2652 Link Here
2646
browseable = no
2652
browseable = no
2647
2653
2648
[nec-raw]
2654
[nec-raw]
2649
comment = Main Postscript printer driver for Windows clients
2655
comment = Main PostScript printer driver for Windows clients
2650
printer driver = NEC SilentWriter 95
2656
printer driver = NEC SilentWriter 95
2651
printable = yes
2657
printable = yes
2652
browseable = yes
2658
browseable = yes
Lines 2670-2676 Link Here
2670
Sharename Type    Comment
2676
Sharename Type    Comment
2671
--------------------------------------------------------------------
2677
--------------------------------------------------------------------
2672
nec-crlf  Print   NEC Silentwriter 95 in ASCII mode
2678
nec-crlf  Print   NEC Silentwriter 95 in ASCII mode
2673
nec-raw   Print   Main Postscript printer driver
2679
nec-raw   Print   Main PostScript printer driver
2674
tedm      Disk    User Home Directory
2680
tedm      Disk    User Home Directory
2675
wwwroot   Disk    Internal Web Server
2681
wwwroot   Disk    Internal Web Server
2676
2682
Lines 2681-2688 Link Here
2681
	  on the FreeBSD server.  The first is <literal>lp</literal>, the
2687
	  on the FreeBSD server.  The first is <literal>lp</literal>, the
2682
	  generic local line printer.  Since this print queue generally has a
2688
	  generic local line printer.  Since this print queue generally has a
2683
	  filter placed on it to format jobs from the UNIX print queue
2689
	  filter placed on it to format jobs from the UNIX print queue
2684
	  properly, it should not be visible on the SMB network.  (ie: visible
2690
	  properly, it should not be visible on the SMB network (i.e., visible
2685
	  in Network Neighborhood) The second queue,
2691
	  in Network Neighborhood). The second queue,
2686
	  <literal>nec-crlf</literal>, has a filter that converts UNIX text to
2692
	  <literal>nec-crlf</literal>, has a filter that converts UNIX text to
2687
	  text that prints without stairstepping, so it also should be hidden
2693
	  text that prints without stairstepping, so it also should be hidden
2688
	  from the SMB network.  The third, <literal>nec-raw</literal>, should
2694
	  from the SMB network.  The third, <literal>nec-raw</literal>, should
Lines 2705-2711 Link Here
2705
	  <literal>nec-ps-banner</literal> is not. <literal>lp</literal> is
2711
	  <literal>nec-ps-banner</literal> is not. <literal>lp</literal> is
2706
	  not visible because there is a specific entry,
2712
	  not visible because there is a specific entry,
2707
	  <literal>[lp]</literal> in the <filename>smb.conf</filename> file
2713
	  <literal>[lp]</literal> in the <filename>smb.conf</filename> file
2708
	  that blocks it. <literal>nec-ps-banner</literal> doesen't have such
2714
	  that blocks it. <literal>nec-ps-banner</literal> doesn't have such
2709
	  an entry, but because the print queue name is not a legal length for
2715
	  an entry, but because the print queue name is not a legal length for
2710
	  a SMB name, it isn't shared out either.</para>
2716
	  a SMB name, it isn't shared out either.</para>
2711
2717
Lines 2728-2734 Link Here
2728
	and Windows NT printing interoperability with NT as a print client
2734
	and Windows NT printing interoperability with NT as a print client
2729
	passing jobs to the FreeBSD system.  What happens if the situation is
2735
	passing jobs to the FreeBSD system.  What happens if the situation is
2730
	reversed and the FreeBSD system is itself a printing client of another
2736
	reversed and the FreeBSD system is itself a printing client of another
2731
	LPD server? This situation can arise in a mixed UNIX/Netware or
2737
	LPD server? This situation can arise in a mixed UNIX/NetWare or
2732
	UNIX/NT environment.  The administrator may elect to forgo the use of
2738
	UNIX/NT environment.  The administrator may elect to forgo the use of
2733
	Samba, and use an NT server to provide print services.  Alternatively,
2739
	Samba, and use an NT server to provide print services.  Alternatively,
2734
	the administrator may have existing DOS Novell IPX clients that they
2740
	the administrator may have existing DOS Novell IPX clients that they
Lines 2772-2782 Link Here
2772
    </sect1>
2778
    </sect1>
2773
2779
2774
    <sect1>
2780
    <sect1>
2775
      <title>Printing from Unix</title>
2781
      <title>Printing from UNIX</title>
2776
2782
2777
      <para>Two commands used at the FreeBSD command prompt are intended as
2783
      <para>Two commands used at the FreeBSD command prompt are intended as
2778
	general-purpose print commands: <command>lp</command> and
2784
	general-purpose print commands: <command>lp</command> and
2779
	<command>lpr.</command>.</para>
2785
	<command>lpr</command>.</para>
2780
2786
2781
      <sect2>
2787
      <sect2>
2782
	<title><command>lp</command></title>
2788
	<title><command>lp</command></title>
Lines 2806-2812 Link Here
2806
	  administrator usually sets the <literal>lp</literal> queue to print
2812
	  administrator usually sets the <literal>lp</literal> queue to print
2807
	  through a filter that allows raw UNIX text sent to it to print
2813
	  through a filter that allows raw UNIX text sent to it to print
2808
	  properly.  For example, if an HP LaserJet printer that doesn't have
2814
	  properly.  For example, if an HP LaserJet printer that doesn't have
2809
	  Postscript is connected to the server, the
2815
	  PostScript is connected to the server, the
2810
	  <literal>lp</literal>queue specifies in the
2816
	  <literal>lp</literal>queue specifies in the
2811
	  <filename>/etc/printcap</filename> file the CRLF filter listed
2817
	  <filename>/etc/printcap</filename> file the CRLF filter listed
2812
	  earlier.  On the other hand, if an Apple Laserwriter that doesn't
2818
	  earlier.  On the other hand, if an Apple Laserwriter that doesn't
Lines 2823-2829 Link Here
2823
      </sect2>
2829
      </sect2>
2824
2830
2825
      <sect2>
2831
      <sect2>
2826
	<title>Managing the Unix Print Queue</title>
2832
	<title>Managing the UNIX Print Queue</title>
2827
2833
2828
	<para>Once the print jobs coming in from clients are received on the
2834
	<para>Once the print jobs coming in from clients are received on the
2829
	  FreeBSD system and placed in the print spool, they are metered out
2835
	  FreeBSD system and placed in the print spool, they are metered out
Lines 2833-2839 Link Here
2833
	  However, a busy network printer running at an optimal rate of speed
2839
	  However, a busy network printer running at an optimal rate of speed
2834
	  usually has a backlog of unprinted jobs in the queue waiting for
2840
	  usually has a backlog of unprinted jobs in the queue waiting for
2835
	  print time.  To keep all users happy and to provide for the
2841
	  print time.  To keep all users happy and to provide for the
2836
	  occasional rush print job, the Unix LPD/LPR printing system has
2842
	  occasional rush print job, the UNIX LPD/LPR printing system has
2837
	  several administration commands which are described here.</para>
2843
	  several administration commands which are described here.</para>
2838
2844
2839
	<sect3>
2845
	<sect3>
Lines 2850-2856 Link Here
2850
	    queues are on and view them there.</para>
2856
	    queues are on and view them there.</para>
2851
2857
2852
	  <para>The UNIX shell command used to view the queue is the
2858
	  <para>The UNIX shell command used to view the queue is the
2853
	    <command>lpq</command> command It is frequently run as
2859
	    <command>lpq</command> command. It is frequently run as
2854
	    <userinput>lpq -a</userinput> which shows jobs in all queues.  The
2860
	    <userinput>lpq -a</userinput> which shows jobs in all queues.  The
2855
	    following is a sample output of the command:</para>
2861
	    following is a sample output of the command:</para>
2856
2862
Lines 2873-2879 Link Here
2873
	  <para>Deleting unwanted print jobs that haven't yet printed from the
2879
	  <para>Deleting unwanted print jobs that haven't yet printed from the
2874
	    queue can be done by the remote workstations that submitted the
2880
	    queue can be done by the remote workstations that submitted the
2875
	    job if their LPR implementations have the necessary commands.  The
2881
	    job if their LPR implementations have the necessary commands.  The
2876
	    Windows 3.1 LPR client I detailed earlier this capability.  Many
2882
	    Windows 3.1 LPR client I detailed earlier has this capability.  Many
2877
	    LPR clients don't, however, which means that the administrator
2883
	    LPR clients don't, however, which means that the administrator
2878
	    must Telnet into the UNIX machine that the print queues are on and
2884
	    must Telnet into the UNIX machine that the print queues are on and
2879
	    delete the jobs there.</para>
2885
	    delete the jobs there.</para>
Lines 2975-2981 Link Here
2975
	  <para>Just as the root user can manipulate remotely submitted jobs
2981
	  <para>Just as the root user can manipulate remotely submitted jobs
2976
	    in the print queue, print jobs can be remotely managed by regular
2982
	    in the print queue, print jobs can be remotely managed by regular
2977
	    users with the LPR clients that created them. Unfortunately, some
2983
	    users with the LPR clients that created them. Unfortunately, some
2978
	    LPR clients, such as Win95, don't have enough programming to be
2984
	    LPR clients, such as the ACITS LPR client for Win95, don't have enough programming to be
2979
	    able to do this.  Others, like the Win31 client, can manipulate
2985
	    able to do this.  Others, like the Win31 client, can manipulate
2980
	    the print jobs remotely.</para>
2986
	    the print jobs remotely.</para>
2981
2987
Lines 3016-3022 Link Here
3016
	<para>The Ghostscript home page is located at
3022
	<para>The Ghostscript home page is located at
3017
	  <ulink url="http://www.cs.wisc.edu/~ghost/">http://www.cs.wisc.edu/~ghost/</ulink>
3023
	  <ulink url="http://www.cs.wisc.edu/~ghost/">http://www.cs.wisc.edu/~ghost/</ulink>
3018
	  and contains the most current version of the program.  A prebuilt
3024
	  and contains the most current version of the program.  A prebuilt
3019
	  FreeBSD binary of Ghostscript located in the Packages section of the
3025
	  FreeBSD binary of Ghostscript is located in the Packages section of the
3020
	  FreeBSD CDROM.  This can be installed on the FreeBSD system by
3026
	  FreeBSD CDROM.  This can be installed on the FreeBSD system by
3021
	  selecting the package from the prepackaged software list that is
3027
	  selecting the package from the prepackaged software list that is
3022
	  accessed through the <command>/stand/sysinstall</command>
3028
	  accessed through the <command>/stand/sysinstall</command>
Lines 3044-3050 Link Here
3044
3050
3045
	<procedure>
3051
	<procedure>
3046
	  <step>
3052
	  <step>
3047
	    <para>Change to the root user with su.</para>
3053
	    <para>Change to the root user with <command>su</command>.</para>
3048
	  </step>
3054
	  </step>
3049
3055
3050
	  <step>
3056
	  <step>
Lines 3052-3058 Link Here
3052
	      <filename>lprsetup.sh</filename>,
3058
	      <filename>lprsetup.sh</filename>,
3053
	      <filename>unix-lpr.txt</filename>, and
3059
	      <filename>unix-lpr.txt</filename>, and
3054
	      <filename>unix-lpr.sh</filename> files to
3060
	      <filename>unix-lpr.sh</filename> files to
3055
	      <filename>/usr/local/share/ghostscript/5.03</filename></para>
3061
	      <filename>/usr/local/share/ghostscript/5.03</filename>.</para>
3056
	  </step>
3062
	  </step>
3057
3063
3058
	  <step>
3064
	  <step>
Lines 3065-3071 Link Here
3065
	  <step>
3071
	  <step>
3066
	    <para>Modify the <literal>DEVICES=</literal> entries
3072
	    <para>Modify the <literal>DEVICES=</literal> entries
3067
		to list your selected printer driver definitions per the
3073
		to list your selected printer driver definitions per the
3068
		instructions in <filename>unix-lpr.txt.</filename></para>
3074
		instructions in <filename>unix-lpr.txt</filename>.</para>
3069
	  </step>
3075
	  </step>
3070
3076
3071
	  <step>
3077
	  <step>
Lines 3106-3112 Link Here
3106
	  <step>
3112
	  <step>
3107
	    <para>Set the execute bit on <filename>lprsetup.sh</filename> with
3113
	    <para>Set the execute bit on <filename>lprsetup.sh</filename> with
3108
	      chmod and run the file by typing
3114
	      chmod and run the file by typing
3109
	      <userinput>./lprsetup.sh</userinput></para>
3115
	      <userinput>./lprsetup.sh</userinput>.</para>
3110
	  </step>
3116
	  </step>
3111
3117
3112
	  <step>
3118
	  <step>
Lines 3146-3152 Link Here
3146
      <sect2>
3152
      <sect2>
3147
	<title>a2ps filter</title>
3153
	<title>a2ps filter</title>
3148
3154
3149
	<para>Another handy utility is the <command>a2ps</command>, short for
3155
	<para>Another handy utility is the <command>a2ps</command> filter, short for
3150
	  ASCII-to-PostScript.  This program takes an incoming ASCII
3156
	  ASCII-to-PostScript.  This program takes an incoming ASCII
3151
	  datastream and converts it into PostScript.  It can also print
3157
	  datastream and converts it into PostScript.  It can also print
3152
	  multiple pages on a single sheet of paper by shrinking them down. It
3158
	  multiple pages on a single sheet of paper by shrinking them down. It
Lines 3176-3182 Link Here
3176
3182
3177
	  <programlisting>#!/bin/sh
3183
	  <programlisting>#!/bin/sh
3178
#
3184
#
3179
# Simple filter that converts ASCII to Postscript for basic stuff like
3185
# Simple filter that converts ASCII to PostScript for basic stuff like
3180
# directory listings.
3186
# directory listings.
3181
#
3187
#

Return to bug 42473