home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd2.bin / docu / ascii / suselxen / slxen-12.txt < prev    next >
Text File  |  2000-03-11  |  54KB  |  1,177 lines

  1.                                                                          Chapter 12
  2.                                                                            Printers
  3.  
  4. In the context of installing with YaST, you have probably already carried out
  5. your first printer configuration in Linux (see Section 3.6.1 page 90). This
  6. chapter will explain the essential processes going on "behind the scenes": not
  7. every detail, but enough for you to be able to understand the basic scheme of
  8. the printing process.
  9.  
  10. 12.1 Overview: Interfaces, Queues and Spooling
  11.  
  12. The Parallel Ports
  13. A printer is normally connected via the parallel port in Linux.
  14.  
  15. The Current 2.2.xx Kernel
  16. From kernel version 2.2.x onwards, the parport sub-system is included.
  17. This sub-system needs to know what kind of parallel port device you have
  18. attached, so that it can load additional drivers required for the specific com-
  19. puter architecture. (cf. Section 10.4.3 page 267 pp.). Now, multiple devices,
  20. all connected to the same parallel port, may be used simultaneously. More-
  21. over, the numbering of the parallel ports now starts with /dev/lp0 (It is no
  22. longer /dev/lp1!) To be able to print via the first parallel port you need to
  23. load the modules parport, parport_pc and lp into the standard SuSE
  24. kernel. This is normally done automatically by the kmod "kernel module
  25. loader" (see Section 13.2 page 319), as soon as a print job is sent to the
  26. queue. If the parallel devices are not found, you might need to add some
  27. kernel parameters. See also page 355.
  28. You can test the printer and its interface, but only as user `root' ( System
  29. administrator), by sending data directly to the printer, with a command such
  30. as:
  31.        earth: # echo hello > /dev/lp0
  32. or
  33.        earth: # cat TEXTFILE > /dev/lp0
  34. Although this method works, it is not recommended to print in this fashion.
  35. Instead, it is preferable to send your printing jobs to a print queue. Printing
  36. queues allow multiple users to share one printer, and administer the print jobs
  37. in an orderly fashion.
  38.  
  39.                                                                                    293
  40.  
  41.  
  42.  
  43. 12. Printers
  44.  
  45.                 The ports are by default set to polling mode (the CPU must regularly en-
  46.                 quire if a data transfer is waiting). The system administrator, `root' can,
  47.                 when loading the parport system, change this to the more favourable in-
  48.                 terrupt operation, via the /proc filesystem, as well as make further changes
  49.                 to improve performance, with the program tunelp. Refer to the manpage
  50.                 for tunelp (man tunelp) and also the documents for the kernel sources
  51.                 mentioned in Section 10.4.3 page 267 pp. But before you do this, check the
  52.                 IRQ and port settings for the port hardware (usually done in the BIOS, or
  53.                 with jumpers).
  54.  
  55.                 Spooling Mode and Printer Queues
  56.                 Printers are accessed in Linux via a spooling mechanism, meaning, printer
  57.                 jobs are temporarily saved in a file and are processed in the order they were
  58.                 received by a job control program, called a daemon. This ensures that many
  59.                 users can send printer jobs simultaneously to the printer without risk of con-
  60.                 flicts. After sending the printer a job, you can resume work as normal.
  61.                 A printer queue consists of:
  62.                  * an entry in /etc/printcap; where the queue is defined;
  63.                  * a directory, typically a subdirectory of /var/spool/lpd; where each
  64.                    printer job has a data file and a control file.
  65.                 Each queue is processed by one printer only. There can be several printer
  66.                 queues for the same printer.
  67.                 SuSE Linux includes the BSD spooling system from the University of Cali-
  68.                 fornia at Berkeley, which is included in package lprold. Traditionally, it is
  69.                 designed for use over a network and assumes that TCP/IP has been config-
  70.                 ured and is running. Whether queues are set to local or remote makes little
  71.                 difference to the configuration.
  72.                 Processing a print job takes place in three steps:
  73.                  * The data file is copied to the queue's directory and is assigned to a freshly
  74.                    created control file.
  75.                  * This data file has now to pass through a filter program which converts it to
  76.                    the printer-specific format (e. g., PostScript), i.e the filter program creates
  77.                    a data stream in the printer-specific format (e.g. PostScript, PCL, Esc/P2
  78.                    etc.). This conversion may consist of more than one step and in SuSE
  79.                    Linux is taken care of by apsfilter (package aps); see below, Section 12.3
  80.                    page 298 pp.
  81.                    ....This conversion can consist of several individual steps.
  82.                  * The printer-specific file is now queued and printed in order.
  83.  
  84.                 12.2 Printer Queues: Running and Configuring
  85.                 Let's examine the stages a print job has to pass through before being printed,
  86.                 and also the programs that take care of the job.
  87.                 Many more details on the printing process can be found in the lpr(1), lpd(8)
  88.                 and printcap(5) manpages.
  89.  
  90. 294
  91.  
  92.  
  93.  
  94.                                               12.2. Printer Queues: Running and Configuring
  95.  
  96. lpr: Please Line up!
  97. lpr is your "interface" to the printer queues on your machine. Normally a job
  98. is started using:
  99.     newbie@earth: > lpr [-Pqueue] text-file
  100. If you omit the option -P ( for "Printer", the queue's name), the default is
  101. taken from the PRINTER environment variable. If this is not set, the default
  102. name lp is used. The same applies for the commands lpq, lprm and lpc
  103. (see below).
  104.  
  105.  There must not be a space between the option -P and the printer name
  106.  queue.
  107.  
  108. lpr checks whether this queue exists by reading /etc/printcap. If this is
  109. the case, a control file (cf file) and a copy of the data file are created in the
  110. spool directory.
  111. If this is a very large job, it might be useful just to link the file instead of
  112. copying it. This can be done with lpr -s. You should not write to this file
  113. again until the job has been processed.
  114. lpr allows you to set a specific filter (printer driver) for your job by hand, but
  115. this is hardly ever required. More on this can be found in man lpr, and in
  116. Section 12.3 page 298.
  117.  
  118. Additional Control Tools: Overview
  119. Any of the commands described in this section will accept the -P option for
  120. passing a job to a named queue, just as lpr does. more detailed information
  121. can be found in the corresponding manpages.
  122.  
  123.  You need to have `root'-permissions to be able to manipulate the printer
  124.  queues, i.e. if you want to delete other people's print jobs, for example, you
  125.  must work as `root'.
  126.  
  127.  * lpq shows your own jobs in the queue: For example:
  128.         newbie@earth: > lpq -Pqueue
  129.  
  130. queue is ready and printing
  131. Rank     Owner          Job Files             Total Size
  132. active newbie           676 Hello.txt         259420 bytes
  133. 1st      newbie         677 letter.dvi          11578 bytes
  134. 2nd      newbie         683 picture.gif         37464 bytes
  135.  
  136.         Screen output 12.2.1: Example output of the command lpq.
  137.  
  138.  * lprm removes your own jobs from a queue. Thus entering this:
  139.         newbie@earth: > lprm -Pqueue 676
  140.  
  141.     will produce the following output:
  142.     If no job number is given, the current active job is removed-if it is your
  143.     own job.
  144.  
  145.                                                                                        295
  146.  
  147.  
  148.  
  149. 12. Printers
  150.  
  151.                 dfA676Aa05005 dequeued
  152.                 cfA676Aa05005 dequeued
  153.  
  154.                        Screen output 12.2.2: Example output of the command lprm.
  155.  
  156.                  * ....lpc executes control commands for queues. Most of these commands
  157.                    can only be performed by the user "root".
  158.                  * lpc (with the path /usr/sbin/lpc) Controls the queues. For queue
  159.                    names you can also specify all. The most important options are:
  160.                     ¡ status queue Provides a status report. If the queue argument is
  161.                       missing then this functions like all, i. e. Status report for all queues.
  162.                     ¡ disable queue Stops new jobs being moved to the queue.
  163.                     ¡ enable queue Releases the queue to accept new jobs.
  164.                     ¡ stop queue Stops jobs from the queue being printed (the job cur-
  165.                       rently being printed is completed).
  166.                     ¡ start queue Starts printing jobs again from the queue.
  167.                     ¡ down queue Is the same as disable plus stop.
  168.                     ¡ up queue Is the same as enable plus start.
  169.                     ¡ abort queue Is the same as down, except that a job currently being
  170.                       printed is interrupted immediately. The jobs remain, however, and
  171.                       printing can be continued after the queue is re-started (up).
  172.                    You can pass these commands on to lpc directly in the command line
  173.                    (e. g. lpc status). Or you can run lpc without parameters: then the
  174.                    dialog mode with its own prompt, lpc> is started, awaiting the entry of
  175.                    lpc-commands. You can end the dialog with quit or exit.
  176.  
  177.                  Printing jobs remain in the queues even when you shut down the computer
  178.                  during printing, and then start Linux again. A printing job which might
  179.                  have gone wrong must be removed from the queue with the commands
  180.                  shown above.
  181.  
  182.                 lpd: the Print Manager in the Background
  183.                 The lpd Line Printer Daemon is launched by /sbin/init.d/
  184.                 lpd and runs in the background, assuming the corresponding option
  185.                 START LPD=yes has been set in /etc/rc.config (see Section 3.6.11
  186.                 page 101).
  187.                 lpd checks /etc/printcap to see which printer queues are defined. Its
  188.                 job is to organize the execution of spooled jobs:
  189.                  * it manages local printer queues: it sends every job's data file through the
  190.                    appropriate filter-which is assigned by the entry in /etc/printcap
  191.                    and by an explicit setting in the control file-and then to the printer inter-
  192.                    face;
  193.                  * it takes care of the order of the jobs;
  194.                  * it checks the status of queues and printers in the local spool directories;
  195.  
  196. 296
  197.  
  198.  
  199.  
  200.                                                        12.2. Printer Queues: Running and Configuring
  201.  
  202.  * it sends jobs to an lpd on a remote machine;
  203.  * it accepts requests from remote machines for local queues or refuses them
  204.      if authorization fails.
  205. Authorization: Only requests from hosts who are listed in /etc/hosts.
  206. lpd are executed. It is also possible to enter the name in /etc/hosts.
  207. equiv, but this has far-reaching consequences as far as access and security
  208. are concerned and, therefore, should be avoided (refer also to the security
  209. capital, Section 18.2.2 page 425). Additional definitions of the queue can
  210. restrict access to certain users, or users with an account on the local machine.
  211.  
  212. Filter: the Workaholics
  213. The job of the filter programs is to transfer the jobs into a printer-specific
  214. format. They have to be able to do almost everything. They more or less
  215. resemble the printer drivers on other systems, such as Windows or OS/2.
  216. But, unlike them, they are also used to count jobs (number, resources used,
  217. etc.) (see Section 12.3 on the next page).
  218.  
  219. /etc/printcap: Configuration of the Queue
  220. In /etc/printcap, each queue is defined by an entry of its own, ter-
  221. minated by a line feed. The entry starts with one or more names for the
  222. queue (separated by | ), followed by a list of specifications1, such as
  223. abbreviation=<value> (separated by : ). "Empty" lines, or those
  224. starting with a `#', are regarded as comments.
  225. There are a couple of example entries (commented) in /etc/printcap. A
  226. simple entry might look like this:
  227.  
  228. ascii|deskjet:lp=/dev/lp1:sd=/var/spool/ascii:sh:mx#10240
  229.  
  230.          File contents 12.2.1: /etc/printcap for a simple local queue
  231.  
  232. This queue can be accessed either by ascii or by deskjet. Its spool
  233. directory is /var/spool/ascii. Its printer is /dev/lp0. It does not
  234. show a header page at the beginning (sh = suppress header) and accepts jobs
  235. up to a size of 10240 bytes. ¡ An example for the queue on a remote computer
  236. can be found in File contents 12.2.2 on the following page; to configure this,
  237. refer to Section 12.4 page 304 pp.2
  238. The queue has the names lp1 and HP-4P. Instead of device informa-
  239. tion, reference is made here to the host helios.cosmos.com and its
  240. queue, HP. Details of filters are unnecessary ¡ for these, the queue for
  241. helios.cosmos.com is responsible ¡ so that here only the spooling direc-
  242. tory /var/spool/lpd/lp1 and the size limitation for jobs (mx#0 means:
  243. no limit) have been defined.
  244. 1 All abbreviations, their meanings and default settings, are described in the printcap man-
  245. page.
  246. 2 the backslash directly before the line break "hides" this ¡ just as when entering shell commands
  247. ¡, so that the entry counts just as one line.
  248.  
  249.                                                                                                       297
  250.  
  251.  
  252.  
  253. 12. Printers
  254.  
  255.                 lp1|HP-4P:\
  256.                              :rm=helios.cosmos.com:\
  257.                              :rp=HP:\
  258.                              :sd=/var/spool/lpd/lp1:\
  259.                              :mx#0:sh
  260.  
  261.                        File contents 12.2.2: /etc/printcap: Simple remote queues
  262.  
  263.                 If you use the apsfilter, the new printer queues needed are automatically
  264.                 entered into the /etc/printcap. For more details, see Section 12.3
  265.                 page 300.
  266.                 If you install apsfilter with YaST, it creates three new queues in /etc/
  267.                 printcap. Further information can be found in Section 12.3 page 300.
  268.  
  269.                 12.3 Printer Filters
  270.  
  271.                 What is a Filter and How Does it Work?
  272.                 As mentioned above, the job of a filter is to convert the data file of a print job
  273.                 into a suitable format for the printer.
  274.                 Only the paper size, login name, host name (local), and name of the file for
  275.                 the count is passed to lpd. Being a UNIX filter, it gets the data file via STDIN
  276.                 (standard input) and sends the printable output through STDOUT (standard
  277.                 output).
  278.                 The filter has to know the format of the file (ASCII, DVI, PostScript, etc.), of
  279.                 course, to be able to convert it. There are two ways of accomplishing this:
  280.  
  281.                  * The filter is "intelligent" enough to recognize the file format, and consists
  282.                     of a "pre-filter" to do this, and many other programs which actually handle
  283.                     the conversion.
  284.                     This is roughly how apsfilter works, which is installed by default with
  285.                     SuSE Linux.
  286.                  * There are different filters for different file formats. These filters are as-
  287.                     signed to a specific queue by entering them in /etc/printcap. You
  288.                     have to specify an additional option when using lpr. There are eight op-
  289.                     tions available:
  290.                       printcap Entry if= cf= df= gf= nf= rf= tf= vf=
  291.                       lpr Option                    -c     -d      -g     -n     -f     -t     -v
  292.                     By convention, these options3 are assigned to special file formats. Only
  293.                     the option for lpr needs to be set.4 if= refers to the standard filter,
  294.                     whereas df= refers to DVI files (that come from TEX and LATEX). Thus
  295.                     you might make your own DVI filter for the HP LaserJet 4, with an entry
  296.                     in the File contents 12.3.1 on the facing page, if the package package
  297.                     te dvilj is installed (nowadays, however, it is recommended, even for
  298.                     this printer, to use the relevant Ghostscript-"driver" ljet4 instead).
  299.                 3 see the lpr manpage.
  300.                 4 Thus, a so-called "zero-filter entry", e.g., cf=/bin/cat, is allowed and is used with
  301.                 lpr -c.
  302.  
  303. 298
  304.  
  305.  
  306.  
  307.                                                           12.3. Printer Filters ¡ the "apsfilter"
  308.  
  309. df="/usr/bin/dvilj4 -e- -"
  310.  
  311.           File contents 12.3.1: DVI filter entry in /etc/printcap
  312.  
  313. apsfilter
  314. The package aps includes a very convenient filter, apsfilter. apsfilter is
  315. especially useful under the following circumstances:
  316.  
  317.  * If the standard format for printable files in UNIX is PostScript.
  318.  * If there are many separate tools that convert other formats, such as TEX
  319.     and pictures, into PostScript files (e. g.dvips for DVI files and a2ps for
  320.     ASCII files).
  321.  * Then there is Ghostscript, which is capable of converting PostScript files
  322.     to a variety of printer-specific formats for non-PostScript printers (a col-
  323.     lection of printer drivers, so to speak).
  324.  
  325. apsfilter combines almost all of these separate tools, including the tools for
  326. recognizing a specific format (file) and decompression tools, into one. It
  327. sends the result of the format recognition through the appropriate tools, and,
  328. finally, to the printer.
  329. In /var/lib/apsfilter/apsfilter (the central shell script), the fol-
  330. lowing file formats and compression types are available:
  331.  
  332.  * ASCII, DVI, PS, Data (PCL, etc.), GIF, TIFF, PBM, Sun Raster, X11
  333.     Bitmap
  334.  * Compression types: compress, gzip, freeze
  335.  
  336. apsfilter can either be configured with YaST, or with its own menu-driven
  337. script, SETUP (lprsetup).
  338.  
  339. The apsfilter Printer Queues
  340. The program apsfilter provides the following queues for a local printer:
  341.  
  342. lp ¡ the standard printer queue for all file formats
  343. lp-mono ¡ only used with color printers and prints in black and white,
  344.     otherwise processes all formats, like lp
  345. ascii ¡ prints files as ASCII text files, even if the spooling system expects
  346.     a different format 5
  347. raw ¡ prints files which are already in a printer-specific format: no conver-
  348.     sion takes place.
  349.  
  350. You can also configure further local printers; to differentiate between them,
  351. the queue names contain the name of the relevant Ghostscript-printer driver,
  352. such as djet500, djet500-ascii, djet500-raw etc.
  353. ASCII files:
  354. Default settings for filtering are located in the file /etc/apsfilterrc:
  355. 5 for example, if German umlauts are present.
  356.  
  357.                                                                                              299
  358.  
  359.  
  360.  
  361. 12. Printers
  362.  
  363.                  * convert ASCII files with a2ps to PostScript;
  364.                  * a2ps format: 2 ASCII-pages next to each other in oblong format, on one
  365.                     printed page.
  366.  
  367.                 You can change the format by setting the variable FEATURE in /etc/
  368.                 apsfilterrc, to a different value suggested in the commentary. If you
  369.                 want to avoid the conversion to PostScript completely and print using the
  370.                 ASCII mode of the printer, just remove the hash sign, "#", at the beginning
  371.                 of the line USE RECODE NOT A2PS=yes, and make sure that the package
  372.                 recode, series ap, is installed.
  373.  
  374.                 apsfilter: Configuration
  375.  
  376.                 apsfilter can be configured with YaST or with its own, menu-driven SETUP
  377.                 script.
  378.  
  379.                  The configuration will only work correctly if the reference characters in
  380.                  /etc/printcap at the beginning and end of the apsfilter entries are left
  381.                  unchanged (cf. File contents 12.3.2 on the next page)!
  382.  
  383.                 Configuration Using YaST
  384.  
  385.                 the normal way to set up a local printer is by configuring the printer with
  386.                 YaST  If another apsfilter configuration exists, YaST will ask at the beginning
  387.                 if you want to overwrite the old configuration, or if the new configuration
  388.                 should be written in addition. What you do next has already been described
  389.                 in YaST, Section 3.6.1 page 90 pp.
  390.                 If you want to install your new configuration, this happens in the following
  391.                 sequence (irrespective of whether you used YaST or SETUP to configure):
  392.  
  393.                  * Create the new printer queues in /etc/printcap (cf. on the page
  394.                     before).
  395.                  * Create the spool directories for these in /var/spool/lpd/.
  396.                  * Create the relevant printer filters in /var/lib/apsfilter/bin/
  397.                     (these are symbolic links to the file /var/lib/apsfilter/apsfilter).
  398.                  * Create the global configuration file /etc/apsfilterrc (if this
  399.                     doesn't exist) and a printer-specific configuration file,
  400.                     /etc/apsfilterrc.<gs mode>. The following example is the
  401.                     <gs mode> for the Ghostscript-printername, e. g. bjc800.
  402.  
  403.                 File contents 12.3.2 on the facing page, shows an example for the newly
  404.                 created printer queue of the Canon BubbleJet 800.
  405.                 In this example, the three entries are constructed in the same way. This is why
  406.                 we have shortened them. They specify the device (lp=), the spool directory
  407.                 (sd=), the log file (lf=), the count file (af=) and the standard filter (if=).
  408.                 The header at the beginning (sh), and the formfeed (sf), at the end of a job,
  409.                 are suppressed.
  410.  
  411. 300
  412.  
  413.  
  414.  
  415.                                                               12.3. Printer Filters ¡ the "apsfilter"
  416.  
  417. ### BEGIN apsfilter: ### bjc800 a4 mono 360 ###
  418. #      Warning: Configured for apsfilter, do not edit the labels!
  419. #                  apsfilter setup Thu Sep 18 11:40:40 MEST 1997
  420. #ascii|lp1|bjc800-a4-ascii-mono-360|bjc800 a4 ascii mono 360:\
  421.             :lp=/dev/lp0:\
  422.             :sd=/var/spool/lpd/bjc800-a4-ascii-mono-360:\
  423.             :lf=/var/spool/lpd/bjc800-a4-ascii-mono-360/log:\
  424.             :af=/var/spool/lpd/bjc800-a4-ascii-mono-360/acct:\
  425.             :if=/var/lib/apsfilter/bin/bjc800-a4-ascii-mono-360:\
  426.             :la@:mx#0:\
  427.             :sh:sf:
  428. #lp|lp2|bjc800-a4-auto-mono-360|bjc800 a4 auto mono 360:\
  429. #      [ ... abbreviated ... ]
  430. #raw|lp3|bjc800-a4-raw|bjc800 a4 raw:\
  431. #      [ ... abbreviated ... ]
  432. ##### END apsfilter: ### bjc800 a4 mono 360 ###
  433.       File contents 12.3.2: apsfilter printer queues in /etc/printcap
  434.  
  435.  
  436. Configuration with SETUP
  437.  
  438. The package aps contains the configuration program /var/lib/apsfilter/SETUP.
  439. This offers the following services:
  440.  
  441.  * A list of all apsfilter printer configurations
  442.  * Allows insertion and deletion of apsfilter printer configurations
  443.  
  444. When inserting local printers, SETUP does (almost) the same as YaST. In
  445. addition, SETUP can also create and delete printer queues which point to
  446. remote hosts ("remote printer queues", cf. File contents 12.2.2 page 298),
  447. and also prepare a pre-filter for network printers, in an intelligent manner.
  448. SETUP is menu-driven and ¡ once you are familiar with it ¡ easy to operate.
  449.  
  450. 1. Start SETUP:
  451.         earth: # /var/lib/apsfilter/SETUP
  452.  
  453.      If you have trouble seeing things in an xterm in the X Window System
  454.      (keyword: yellow on a light-gray background), then you should start
  455.      SETUP at the command level. ¡ A welcome screen appears, describing
  456.      the above-mentioned procedures for the creation of new apsfilter printers.
  457.              
  458.      Press      and you will reach the main menu:
  459.                EXIT         Exit apsfilter setup
  460.                LISTING List all apsfilter entries
  461.                ENTRY        Add/Overwrite/Delete an apsfilter entry
  462.                DELETE       Fast delete an apsfilter entry
  463.  
  464.                                                                                                  301
  465.  
  466.  
  467.  
  468. 12. Printers
  469.  
  470.                                                                                                 
  471.                   To choose the confirmation tabs `OK' and `Cancel', you can use  Tab  
  472.                                                                 
  473.                   (=  Tab  
  474.                               ) in all the menus; use the     and     to move through the selection
  475.                   lists.
  476.                   `EXIT' ¡ end SETUP.
  477.                   `LISTING' ¡ list all existing queues.
  478.                   `ENTRY' ¡ To add a new printer the menu item `ENTRY' is used.
  479.                      This leads to another menu, `Choose your printer defini-
  480.                      tion', in which you define your printer.
  481.                   `DELETE' ¡ To delete an existing apsfilter- printer, select `DELETE',
  482.                      and you will receive a list of current apsfilter-printers to choose from.
  483.                 2. Then select `ENTRY'. For a local printer you are asked for the same
  484.                   details as in the configuration with YaST. First, you are asked for the
  485.                   `DEVICE' (interface); for a local printer on the parallel port you should
  486.                   answer with /dev/lp0 for a kernel 2.2.xx.
  487.                 3. Now you should see the following:
  488.                                   RETURN             Back to previous menu
  489.                                   DEVICE             Change printer interface
  490.                                   PRINTER            Which printer driver
  491.                                   PAPER              Which paper type
  492.                                   COLOR              Monochrome/color
  493.                                   SPECIAL            Settings for your printer
  494.                                   RESET              Reset the printer definition
  495.                                   ADD                Add the printer definition
  496.                                   OVERWRITE Overwrite the printer definition
  497.                                   DELETE             Delete the printer definition
  498.                   `DEVICE' ¡ We have already chosen this.
  499.                   `PRINTER' ¡ Let's now take a look at the `PRINTER'. Here, the
  500.                      relevant Ghostscript device definition ("driver") is selected. This is
  501.                      performed in two steps:
  502.                     (a) First, select your printer type from the options:
  503.                             * `PostScript'
  504.                             * `HEWLETT-PACKARD' (HP Deskjets)
  505.                             * `OTHER' (other, non-PostScript compatible printers)
  506.                             * `FREEDEF' (free definition)
  507.                     (b) For genuine PostScript-printers you only need to define the reso-
  508.                             lution in a dialog window. For other printers, you will find a list
  509.                             of possible Ghostscript-drivers in the menu item `COMMIT'. Use
  510.                             Section 12.6 page 307 here for reference. After you have selected
  511.                             a Ghostscript-driver you should define the resolution of your printer
  512.                             in the dialog window which then appears. With `RETURN' you can
  513.                             move back to the previous menu.
  514.                   `PAPER' ¡ The paper format.
  515.                   `COLOR' ¡ Color or black and white.
  516.                   `SPECIAL' ¡ Usually these details are not needed.
  517.  
  518. 302
  519.  
  520.  
  521.  
  522.                                                              12.3. Printer Filters ¡ the "apsfilter"
  523.  
  524. 4. You should now be back in the menu `Choose your printer de-
  525.     finition'. If you have made any mistakes in your definition, you can
  526.     go back to the relevant sub-menus and make corrections.
  527. 5. Important: Pressing `ADD' will finally install the new printer.
  528.  
  529. Take a look ¡ for example, with less6 ¡ in the file /etc/printcap
  530. for the names of your new printer queues. Each apsfilter-printer queue has
  531. several names: detailed ones, describing the files of their definition, and short
  532. ones, for convenience (see File contents 12.3.2 page 301). In addition, lp,
  533. lp-mono, ascii, and raw are the printer queues for the first local printer.
  534.  
  535. The Configuration Files, apsfilterrc
  536.  
  537. The files /etc/apsfilterrc* allow you the option of controlling de-
  538. tails of the operation of the apsfilter-shell scripts more closely, by means of
  539. certain shell variables. The following variables are set up by default, during
  540. installation:
  541.  
  542.  * a global /etc/apsfilterrc,
  543.  * printer¡specific files, /etc/apsfilterrc.<gs mode>, in each
  544.     case for the queues with the Ghostscript-printer driver <gs mode> (for
  545.     example, for the Canon BubbleJet 800: /etc/apsfilterrc.bjc800).
  546.  
  547.  The pre-installed versions of these files contain commented-out sample
  548.  entries for all standard variables. In the global /etc/apsfilterrc,
  549.  the meaning of each variable is also explained in detailed commentaries,
  550.  well-worth reading . . .
  551.  
  552. The variables themselves, in the printer-specific files, are the same as in the
  553. global /etc/apsfilterrc, and are numbered in order (by commentaries;
  554. currently 6.2, from 0 to 12). The apsfilter for each job first reads in the
  555. global, and then the printer-specific, apsfilterrc: If there is any doubt,
  556. the settings in the latter have priority. Thus you can make normal settings in
  557. /etc/apsfilterrc (for example, for printer resolution), and yet replace
  558. these default settings for specific printers with other specifically customized
  559. values. Changes to the apsfilterrc files take effect immediately.
  560. Instead of reproducing the entire /etc/apsfilterrc, we will just men-
  561. tion the most frequently used variables:
  562.  
  563.  * FEATURE and USE RECODE NOT A2PS control the filtering of ASCII-
  564.     files (already described on page 299).
  565.  * REMOTE PRINTER is used for the pre-filtering of jobs for network print-
  566.     ers. If this is set to true, jobs in the relevant printer queues will be sent
  567.     to the special remote printer queues after they have been filtered. If you
  568.     select a different value, this will be interpreted as the name of the remote
  569.     printer. See Section 12.4 on the following page.
  570.  
  571. 6 How to use less is described in Section 19.7.3 page 434
  572.  
  573.                                                                                                 303
  574.  
  575.  
  576.  
  577. 12. Printers
  578.  
  579.                  * PRINT RAW SETUP PRINTER is available in case an escape se-
  580.                    quence is needed to initialize the printer for jobs in the raw printer
  581.                    queue. Its contents are sent to the printer before a raw printer job.
  582.                    /etc/apsfilterrc includes an example, as well as syntax details.
  583.                  * GS RESOL allows you to set a different resolution for the Ghostscript
  584.                    filter than was originally configured for the printer.
  585.                  * DO ACCOUNTING should be set to yes if an accounting file is to be cre-
  586.                    ated. At the same time you must write the entry :la@: instead of :la:
  587.                    in the /etc/printcap; then the file defined by af will be supplied
  588.                    with information. In order to be able to use this feature, you should use
  589.                    the program plp; replace the package lprold with the package plpn.
  590.  
  591.                 User-specific settings: The version of apsfilter in SuSE Linux also sup-
  592.                 ports your own  /.apsfilterrc in your home directory. This is
  593.                 evaluated after the system-wide apsfilterrc files, and can therefore
  594.                 overwrite these settings. For security reasons ¡ evaluations are made
  595.                 with the permissions of the printer daemon which is running ¡ only
  596.                 those directions in  /.apsfilterrc will be obeyed which set one
  597.                 of the following variables to a new value: TEXINPUTS, PRINT DVI,
  598.                 GS FEATURES, USE RECODE NOT A2PS, FEATURE, A2PS OPTS,
  599.                 DVIPS MODE, GS RESOL.7 All other directions there will be ignored.
  600.                 If you need a HOME/.apsfilterrc, then you should copy the system-
  601.                 wide apsfilterrc files there and edit them to your requirements.
  602.  
  603.                 12.4 Network Printers with apsfilter
  604.                 A network printer with its own TCP/IP network interface is regarded by the
  605.                 BSD-Spooling-System as a remote host with its own printer queues (for their
  606.                 names: see the printer handbook, often LPT1, etc.) As such, it can, without
  607.                 further ado, be addressed by a remote printer queue, for example, with the
  608.                 name remote, by the local computer.
  609.                 If, however, you need a filter for the printing job, things are complicated by
  610.                 the fact that the printer daemon lpd (package lprold) does not perform any
  611.                 pre-filtering for remote printer queues, and also ignores filtering details in
  612.                 the /etc/printcap. Therefore jobs for this remote printer queue must
  613.                 already contain printer-specific data; this can be achieved with pre-filtering,
  614.                 by means of the "bypass" feature of the SuSE-version of the apsfilter.
  615.                 If you configure this with YaST, a little adjustment by hand is necessary;
  616.                 The SETUP program is somewhat more convenient. Start SETUP, then, as
  617.                 described above in Section 12.3 page 301 pp.; you will then be asked for the
  618.                 `DEVICE'(cf. page 302):
  619.  
  620.                                   PARALLEL        Parallel printer interface
  621.                                   SERIAL          Serial printer interface
  622.                                   PREFILTER to another queue (bypass)
  623.                                   REMOTE          printer forwarding queue
  624.  
  625.                 7 See the variable allowed in /var/lib/apsfilter/apsfilter.
  626.  
  627. 304
  628.  
  629.  
  630.  
  631.                                                                      12.5. Some Words on Ghostscript
  632.  
  633. 1. First you should create a printer queue with `REMOTE', which refers to
  634.     the remote network printer: then you are asked for the remote host to
  635.     which the printer is connected, (in this example: helios), and for the
  636.     remote printer there (as a rule: lp ¡ but if in doubt, check with your
  637.     network administrator!) The definition of the remote printer queue is not
  638.     complete; don't forget to actually install this printer queue by pressing
  639.     `ADD' . . .
  640.     The entry in the /etc/printcap should now appear as shown in the
  641.     File contents 12.4.1.
  642.  
  643. remote|lp1|helios-lp|helios lp:\
  644.               :lp=:\
  645.               :rm=helios:\
  646.               :rp=lp:\
  647.               :sd=/var/spool/lpd/helios-lp:\
  648.               :lf=/var/spool/lpd/helios-lp/log:\
  649.               :af=/var/spool/lpd/helios-lp/acct:\
  650.               :ar:bk:mx#0:\
  651.               :sh:
  652.  
  653.              File contents 12.4.1: /etc/printcap: Network printer
  654.  
  655. 2. Now it is the turn of the "local pre-filtering". This time when you
  656.     are asked for `DEVICE', you should select the item `PREFILTER'.
  657.     SETUP is now intelligent enough to suggest the previously installed net-
  658.     work printer:
  659.             remote remote=helios queue=lp
  660.     You can take care of the rest as if you wanted to set up a nor-
  661.     mal local printer; cf. above, page 302 pp. When you finally press
  662.     on `ADD', you will find, in addition to /etc/apsfilterrc
  663.     (cf.      File contents 12.3.2 page 301), a new file by the name of
  664.     /etc/apsfilterrc.<gs mode> (here in the example in /etc/apsfilterrc.bjc800),
  665.     with the entry:
  666.             REMOTE_PRINTER="remote"
  667.     This entry refers to the network printer; if there are several network print-
  668.     ers, the names of the printers in the net are used instead of "remote"8.
  669.  
  670. Cf. the graphical representation of such a configuration (Figure 12.1 on the
  671. following page).
  672.  
  673. 12.5 Some Words on Ghostscript
  674.  
  675. If you don't own a PostScript printer, Ghostscript is the most popular choice
  676. for a filter. Ghostscript accepts PostScript files and contains many printer
  677. drivers for conversion purposes. Ghostscript (gs) is an extensive tool with
  678. many command line options. If you invoke Ghostscript from the command
  679.  
  680. 8 If you configure with YaST this entry must be "enabled" by hand, and you should make sure
  681. that you specify /dev/null as the device.
  682.  
  683.                                                                                                 305
  684.  
  685.  
  686.  
  687. 12. Printers
  688.  
  689.  
  690.  
  691.                        lpr -Praw
  692.  
  693.                                                 lpd           apsfilter              lpd           /dev/lpX
  694.                        lpr  (auto)                                 #
  695.                       lpr -Pascii                              bypass
  696.  
  697.  
  698.  
  699.                                                             lpr -Psun
  700.  
  701.  
  702.                                                                   lpd
  703.  
  704.                                                                ethernet
  705.  
  706.                                                              lpd auf sun
  707.  
  708.  
  709.                                                                                                    /dev/lpX
  710.                                                            filter for lp
  711.  
  712.  
  713.                                       Figure 12.1: Remote printing via bypass
  714.  
  715.  
  716.                 line, it presents you with its own dialog, GS. You can leave this by entering
  717.                 quit. Unfortunately, there is not enough space to cover all the gory details.9
  718.  
  719.                 Anyway, we want to point out the very helpful help command:
  720.  
  721.                     newbie@earth: > gs -h | less
  722.  
  723.                 which lists all possible options as well as the (important!) version number
  724.                 and the current list of supported devices. We have printed this list, current at
  725.                 the time of going to press, in Section 12.6 on the next page.
  726.  
  727.                 If you encounter any difficulties, it might be helpful to invoke Ghostscript
  728.                 with a printable PostScript (.ps) file and to send the constructed printer-
  729.                 specific data directly to the device. A summary of suitable PostScript files can
  730.                 be found at /usr/share/ghostscript/<version>/examples
  731.                 or /var/lib/apsfilter/test.
  732.  
  733.                 The command for invoking Ghostscript, for example, for the included printer
  734.                 driver necp6 using a 360╫360 resolution, and sending it to the printer, might
  735.                 look like this:
  736.  
  737.                 9 An initial overview can be found in Ghostscript's manpage. Fortunately, apsfilter releases you
  738.                 from the tedious construction of command line options.
  739.  
  740. 306
  741.  
  742.  
  743.  
  744.                                                                 12.6. List of Supported Printers
  745.  
  746. newbie@earth: > gs -q -dNOPAUSE -dSAFER -sDEVICE=necp6 \
  747.            -r360x360 -sOutputFile=testfile.lpr testfile.ps
  748. GS> quit
  749. newbie@earth: > su
  750. earth: # cat testfile.lpr >/dev/lp0
  751. If you use the uniprint driver with a parameter file, the correct commands
  752. (for a Stylus printer) would be:
  753. newbie@earth: > gs @stc.upp -q -dNOPAUSE -dSAFER \
  754.            -r360x360 -sOutputFile=testfile.lpr test-
  755. file.ps quit.ps
  756. newbie@earth: > su
  757. earth: # cat testfile.lpr > /dev/lp0
  758. Hint: you can find helpful documentation on many new printers in
  759. /usr/share/ghostscript/<version>/doc (e. g., in devices.
  760. txt).
  761. On the Ghostscript-Homepage you will find the most up-to-date information
  762. on Ghostscript (versions, printer support, etc.). It is located at: http://
  763. www.cs.wisc.edu/ ghost/.
  764.  
  765. 12.6 List of Supported Printers
  766. Apart from PostScript, HP DeskJet and Epson Stylus printers, a whole se-
  767. ries of other printers are supported by Ghostscript (status: version 5.10);
  768. since version 5 the "uniprint" driver is new, which in each case is
  769. adjusted with one printer-specific parameter file for the desired printer.
  770. These parameter files can also be selected with lprsetup and you
  771. can make your own customizations, if required; they are located in
  772. /usr/share/ghostscript/<VERSION>/ and have the extension
  773. .upp. So you should first try out these parameter files (Table 12.1 page 309),
  774. in as far as they are available for the printer model.
  775.  
  776.  
  777.   Canon
  778.  
  779.   bjc610a0.upp          BJC 610, 360x360DPI, plain paper high speed,
  780.                         color, rendered
  781.   bjc610a1.upp          BJC 610, 360x360DPI, plain paper, color, rendered
  782.   bjc610a2.upp          BJC 610, 360x360DPI, coated paper, color, ren-
  783.                         dered
  784.   bjc610a3.upp          BJC 610, 360x360DPI, transparency film, color,
  785.                         rendered
  786.   bjc610a4.upp          BJC 610, 360x360DPI, back print film, color, ren-
  787.                         dered
  788.   bjc610a5.upp          BJC 610, 360x360DPI, fabric sheet, color, rendered
  789.   bjc610a6.upp          BJC 610, 360x360DPI, glossy paper, color, ren-
  790.                         dered
  791.  
  792.  
  793.                      Table 12.1: continued overleaf. . . ...
  794.  
  795.                                                                                             307
  796.  
  797.  
  798.  
  799. 12. Printers
  800.  
  801.  
  802.                 bjc610a7.upp         BJC 610, 360x360DPI, high gloss film, color, ren-
  803.                                      dered
  804.                 bjc610a8.upp         BJC 610, 360x360DPI, high resolution paper, color,
  805.                                      rendered
  806.                 bjc610b1.upp         BJC 610, 720x720DPI, plain paper, color, rendered
  807.                 bjc610b2.upp         BJC 610, 720x720DPI, coated paper, color, ren-
  808.                                      dered
  809.                 bjc610b3.upp         BJC 610, 720x720DPI, transparency film, color,
  810.                                      rendered
  811.                 bjc610b4.upp         BJC 610, 720x720DPI, back print film, color, ren-
  812.                                      dered
  813.                 bjc610b6.upp         BJC 610, 720x720DPI, glossy paper, color, ren-
  814.                                      dered
  815.                 bjc610b7.upp         BJC 610, 720x720DPI, high gloss paper, color, ren-
  816.                                      dered
  817.                 bjc610b8.upp         BJC 610, 720x720DPI, high resolution paper, color,
  818.                                      rendered
  819.  
  820.                 Hewlett-Packard
  821.  
  822.                 cdj550.upp           DeskJet 550c, 300x300DpI, Gamma=2
  823.  
  824.                 NEC
  825.  
  826.                 necp2x.upp           Prinwriter 2X, 360x360DPI, Plain Paper
  827.                 necp2x6.upp          Prinwriter 2X, 360x360DPI, Plain Paper
  828.  
  829.                 Epson
  830.  
  831.                 stc.upp              Stylus Color I (and PRO Series), 360x360DPI, Plain
  832.                                      Paper
  833.                 stc h.upp            Stylus Color I (and PRO Series), 720x720DPI, Spe-
  834.                                      cial Paper
  835.                 stc l.upp            Stylus Color I (and PRO Series), 360x360DPI,
  836.                                      noWeave
  837.                 stc1520h.upp         Stylus Color 1520, 1440x720DPI, inkjet paper
  838.                 stc2.upp             Stylus Color II / IIs, 360x360DPI, plain paper
  839.                 stc2 h.upp           Stylus Color II, 720x720DPI, special paper
  840.                 stc2s h.upp          Stylus Color IIs, 720x720DPI, special paper
  841.                 stc500p.upp          Stylus Color 500, 360x360DPI, not weaved, plain
  842.                                      paper
  843.                 stc500ph.upp         Stylus Color 500, 720x720DPI, not weaved, plain
  844.                                      paper
  845.                 stc600ih.upp         Stylus Color 600, 1440x720DPI, inkjet paper
  846.                 stc600p.upp          Stylus Color 600, 720x720DPI, plain paper
  847.  
  848.  
  849.                                    Table 12.1: continued overleaf. . . ...
  850.  
  851. 308
  852.  
  853.  
  854.  
  855.                                                                 12.6. List of Supported Printers
  856.  
  857.  
  858.   stc600pl.upp         Stylus Color 600, 360x360DPI, plain paper
  859.   stc800ih.upp         Stylus Color 800, 1440x720DPI, inkjet paper
  860.   stc800p.upp          Stylus Color 800, 720x720DPI, plain paper
  861.   stc800pl.upp         Stylus Color 800, 360x360DPI, plain paper
  862.   stcany.upp           Any Stylus Color, 360x360DPI
  863.  
  864.  
  865.   Table 12.1: Parameter files for the uniprint driver (Ghostscript 5.10)
  866.  
  867.  
  868. If you cannot find any parameter files for your particular model, then try the
  869. proven "drivers" in the table 12.2 page 311.
  870.  
  871.  
  872.   Apple
  873.  
  874.   appledmp               Apple Dot Matrix Printer (also Imagewriter)
  875.   iwhi                   Apple Imagewriter, high resolution
  876.   iwlo                   Apple Imagewriter, low resolution
  877.   iwlq                   Apple Imagewriter, 320x216 dpi
  878.  
  879.   Canon
  880.  
  881.   bj10e                  BubbleJet 10e
  882.   bj200                  BubbleJet 200
  883.   bjc600                 BubbleJet 600c, 4000c (color)
  884.   bjc800                 BubbleJet 800c (color)
  885.   lbp8                   LBP-8II
  886.   lips3                  LIPS III
  887.  
  888.   DEC
  889.  
  890.   declj250               LJ 250
  891.   la50                   LA50
  892.   la70                   LA70
  893.   la75                   LA75
  894.   la75plus               LA75 Plus
  895.   lj250                  LJ250
  896.   ln03                   LN03
  897.  
  898.   Epson
  899.  
  900.   ap3250                 AP3250
  901.   eps9high               FX-80-compatible, 240 dpi
  902.   eps9mid                FX-80-compatible, 120 dpi
  903.  
  904.  
  905.                      Table 12.2: continued overleaf. . . ...
  906.                                                                                             309
  907.  
  908.  
  909.  
  910. 12. Printers
  911.  
  912.  
  913.                 epson                  FX-80-compatible 9 or 24-pin printer
  914.                 epsonc                 LQ-2550, Fujitsu 1200/2400/3400, color
  915.                 lp8000                 LP-8000 laser printer
  916.                 lq850                  LQ-850, 24-pin printer, 360dpi
  917.                 st800                  Stylus 800, ESC/P2
  918.                 stcolor                Stylus Color
  919.  
  920.                 Hewlett-Packard
  921.  
  922.                 cdeskjet               DeskJet 500C, black & white
  923.                 cdj500                 DeskJet 500C, 540C
  924.                 cdj550                 DeskJet 550C, 560C
  925.                 cdj670                 DeskJet 670C, 690C
  926.                 cdj850                 DeskJet 850C, 855C, 870C, 1100C
  927.                 cdj890                 DeskJet 890C
  928.                 cdj1600                DeskJet 1600C
  929.                 cdjcolor               DeskJet 500C, color print
  930.                 cdjmono                DeskJet 500C, black & white
  931.                 deskjet                DeskJet, DeskJet Plus
  932.                 djet500                DeskJet 500
  933.                 djet500c               DeskJet 500c
  934.                 djet820c               DeskJet 820Cse and 820Cxi; poss. also the 1000
  935.                                        models
  936.                 dnj650c                DesignJet 650C
  937.                 hpdj                   DeskJet with PCL-3 support (color and black &
  938.                                        white)
  939.                                        Ghostscript-docu: hpdj/gs-hpdj.txt
  940.                 laserjet               LaserJet
  941.                 ljet2p                 LaserJet IIp
  942.                 ljet3                  LaserJet III
  943.                 ljet3d                 LaserJet IIID
  944.                 ljet4                  LaserJet IV
  945.                 ljetplus               LaserJet Plus
  946.                 lj4dith                LaserJet IV, dithered
  947.                 lj5mono                LaserJet 5 & 6 (PCL XL), bitmap
  948.                 lj5gray                LaserJet 5 & 6, grayscale bitmap
  949.                 lp2563                 2563B Line Printer
  950.                 paintjet               PaintJet color printer
  951.                 pj                     PaintJet XL, alternative
  952.                 pjetxl                 PaintJet 300XL
  953.                 pjxl                   PaintJet 300XL
  954.                 pjxl300                PaintJet 300XL, DeskJet 1200C
  955.  
  956.                 IBM
  957.  
  958.  
  959.  
  960.                                    Table 12.2: continued overleaf. . . ...
  961.  
  962. 310
  963.  
  964.  
  965.  
  966.                                                                 12.6. List of Supported Printers
  967.  
  968.  
  969.   ibmpro                 Proprinter, 9-pin
  970.   jetp3852               Jetprinter 3852
  971.  
  972.   OKI
  973.  
  974.   oki182                 MicroLine 182
  975.   okiibm                 MicroLine, IBM-compatible
  976.  
  977.   Tektronix
  978.  
  979.   t4693d2                4693d, color
  980.   t4693d4                4693d, color
  981.   t4693d8                4693d, color
  982.   tek4696                4695/4696
  983.  
  984.   Others
  985.  
  986.   hl7x0                  Brother 720, 730, 820
  987.   imagen                 Imagen ImPress
  988.   m8510                  C.Itoh M8510
  989.   necp6                  NEC P6, P6+, P60 at 360 dpi
  990.   oce9050                OCE 9050
  991.   r4081                  Ricoh 4081 laser printer
  992.   sj48                   StarJet 48
  993.   cp50                   Mitsubishi CP50 color
  994.   xes                    Xerox XES (2700, 3700, 4045)
  995.  
  996.  
  997.                Table 12.2: Supported printers (Ghostscript 5.10)
  998.  
  999.  
  1000. All HP4 compatible PostScript printers are also supported.
  1001. During the installation of apsfilter or during configuration using YaST, the
  1002. line given in the left column has to be set as the printer device (e. g.djet500).
  1003. If the printer is not supported, this does not necessarily mean that the aps-
  1004. filter can not be used. In this case, try a similar printer. Quite often this
  1005. driver can also be used. Additional help in selecting a driver can be found
  1006. in the CDB Component Database of the SuSE hardware database: http:
  1007. //cdb.suse.de/cdb_english.html or locally, if you have installed
  1008. the package cdb, series doc.
  1009.  
  1010.  There are numerous printers on the market which are labelled "for Win-
  1011.  dows"; another frequently used name is "GDI printer". Such printers can
  1012.  often not be used at all in Linux, or with limitations, if you are lucky; have
  1013.  a look at the CDB in
  1014.  http://cdb.suse.de/cdb_english.html or ask your hardware
  1015.  dealer!
  1016.  
  1017.                                                                                             311
  1018.  
  1019.  
  1020.  
  1021. 12. Printers
  1022.  
  1023.                 A software converter especially for such HP DeskJets is available for
  1024.                 black and white printing (package ppa, series ap); to install it, please
  1025.                 read the documentation in usr/doc/packages/ppa or the article
  1026.                 ke_printer-gdi.html in http://sdb.suse.de/sdb/en/html
  1027.                 For Lexmark printers (models 5700, 7000 and 7200) there is the package
  1028.                 pbm2l7k, series ap; the documentation can be found in /usr/doc/
  1029.                 packages/pbm2l7k.
  1030.                 Setting the wrong resolution is quite a common error. If this is the case,
  1031.                 the correct value (a DPI rate the printer accepts) can be set in GS RESOL in
  1032.                 /etc/apsfilterrc (e. g., GS RESOL=360x360). Some entries (com-
  1033.                 mented) already exist.
  1034.  
  1035.                 12.7 Printer Checklist: apsfilter
  1036.                  * Is the package aps, series ap for the apsfilter installed?
  1037.                  * Was apsfilter configured with YaST or /var/lib/apsfilter/
  1038.                    SETUP?
  1039.                  * Are package net tool, package netcfg, package nkita, package
  1040.                    nkitb (alle series a) installed? Is package lprold from series n in-
  1041.                    stalled?
  1042.                  * Does the kernel have support for TCP/IP? This can be seen form the
  1043.                    message "IP protocols: ICMP, UDP, TCP" in /var/log/
  1044.                    boot.msg.
  1045.                  * Is the support for parallel ports activated? ¡
  1046.                     ¡ Is the lp module really loaded? In the 2.2.xx kernel the modules
  1047.                       parport and parport pc also need to be loaded (refer to Sec-
  1048.                       tion 10.4.3 page 267 pp.).
  1049.                     ¡ If you have a "Plug-and-Play" BIOS, and if the port configuration in
  1050.                       the BIOS of your computer is set to auto, then you should assign it
  1051.                       an explicit address (the standard one is: 0x0378 or just 378).
  1052.                     ¡ If the printer just "blinks", then the port in the BIOS may be configured
  1053.                       to the value ECP+EPP, which is not recognized by the printer. If this
  1054.                       is the case, change this value to normal, SPP or ECP.
  1055.                  * If the printer doesn't support the standard resolution of 300╫300 dpi: was
  1056.                    the correct printer resolution (according to the printer manual) configured
  1057.                    with YaST or set in /etc/apsfilterrc?
  1058.                  * What is the output of the command lpc status?
  1059.                  * Try the command lpc up all.
  1060.                  * At least the raw printer queue should work for all printers and allow
  1061.                    ASCII-files to be printed; "GDI printers" are an exception to this (see
  1062.                    above, on the page before).
  1063.                  * If the printer prints in landscape form and you don't want this, then you
  1064.                    should take a look at page 300.
  1065.                  * If you use the option-P with the command lpr, there must not be a space
  1066.                    before the printer name.
  1067.  
  1068. 312
  1069.  
  1070.  
  1071.  
  1072.                                                             12.7. Printer Checklist: apsfilter
  1073.  
  1074. * If you can print ASCII text via the "raw" printer queue, then try and print
  1075.   out a normal PostScript file with lpr. You can either generate such a
  1076.   Postscript file from ASCII text, and then print it with the command:
  1077.       newbie@earth: > a2ps -nP -1 -p /etc/hosts > /var/tmp/hosts.ps
  1078.       newbie@earth: > lpr /var/tmp/hosts.ps
  1079.  
  1080.   or you can use one of the files supplied with Ghostscript:
  1081.       newbie@earth: > lpr /usr/share/ghostscript/5.10/examples/tiger.ps
  1082.  
  1083. * Check the log files in /var/spool/lpd/DRIVER_NAME; DRIVER_
  1084.   NAME must be replaced by the name of your own printer.
  1085. * Make sure you are using the correct printer port (see Section 12.1
  1086.   page 293)
  1087. * The kernel must not contain any PLIP drivers (/var/log/boot.msg)!
  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.                                                                                           313
  1122.  
  1123.  
  1124.  
  1125. 12. Printers
  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. 314
  1174.  
  1175.  
  1176.  
  1177.