Provided by: lprng_3.8.B-2_i386 bug


       lpr - off line print


       lpr [ -A ] [ -B ] [ -b,l ] [ -C class ] [ -D debugopt ]
            [ -F filterformat ] [ -G ] [ -h ] [ -i indentcols ]
            [ -k ] [ -J job ] [ -K,# copies ]
            [ -m mailTo ] [ -P printer ] [ -r ]
            [ -R remoteAccount ] [ -s ] [ -T title ] [ -U user ]
            [  -V  ]  [  -w  width  ]  [ -X userfile ] [ -Y ] [ -Z options ] [
       -1,2,3,4 font ] [ -- ]
            [ filename ...  ]


       Lpr uses a spooling daemon to print the  named  files  when  facilities
       become available.  If no names appear, the standard input is assumed.


       -A   The   authentication  type  is  set  by  the  value  of  the  AUTH
            environment variable.

       -B   Do filtering  of  job  files  by  the  filters  specified  by  the
            printcap.   Combine  the  output of the filtering operation into a
            single job file and then send the single file  to  the  lpd  print

       -b, -l
            either  of  these flags specifies a binary or literal file, and no
            (or minimal) processing is  to  be  done  by  the  print  spooling
            system.    Printed   using   the   f  format  filter  (:if=...  or

       -C class
            Specify the job classification for use on the burst  page  and  to
            set   the  priority.   Priorities  range  from  A  (lowest)  to  Z
            (highest); the default priority is A.  For example,
                 lpr -C B foo.c
            sets the priority/class to B and the file foo.c is printed.

       -D debugoptions
            Debugging is controlled using the -D option. This accepts a comma-
            separated  list  of debugging settings. These settings take one of
            two forms: facility=value, or value  to  set  an  overall  default

       -F filterformat
            Filter or format specification.  By default, input is assumed to a
            standard text file and the f format is used; the output device  is
            assumed  to be a simple line printer.  Other formats available are
            listed below.  Not all formats may be available on  all  printers;
            see  printcap(5)  for  details.   Formats  are  single  lower case
            letters; the following are the valid  arguments  for  -F  together
            with  the  assumed  type of data.  For compatibility with previous
            versions  of  lpr,  the  format  types  can  be  used  as  options
            themselves  (i.e.  by  omitting the F) except where noted below, a
            warning may be issued in such cases.

       -G   Similar to the -B option, but only processes individual files.

       -h   No banner or header for this job.

       -i indentcols
            Indent  input  by  indentcols.   Note  that  this  option  is  not
            supported on all printers.

       -J jobname
            Specify  the  job name to print on the burst page; defaults to the
            name of files in the job or (STDIN) if input is from a pipe.

       -Kcopies, -#copies
            Specify the number of copies of each file to be printed.  You  may
            or  may  not  get  the requested number of copies depending on the
            intelligence of the remote printing system.

       -k   lpr normally creates a temporary file  for  the  input  read  from
            stdin  before  sending  it  to  the  remote printer.  The -k (kut-
            through) option will simply copy from  STDIN  to  the  destination
            print  spooling  system.   If  you  kill  the job in the middle of
            creation then the partly transferred file will get printed.   This
            option  may  not work with very large jobs, non-LPRng spoolers, or
            when you have encryption or authentication enabled.

       -m mailTo
            Send mail upon unsuccessful completion to user mailTo.  The mailTo
            value   has   been  used  to  do  such  things  as  specify  email
            (user@host),         paging         (page:user@host),         both
            (user@host,page:user@host)   and   all  sorts  of  other  notifier
            information.  See the LPRng HOWTO  for  details  on  how  this  is

       -P printer
            By default, the destination printer is taken from the command line
            -P printer value, then the environment variables PRINTER,  LPDEST,
            NPRINTER, NGPRINTER, then first entry in the printcap information,
            and and finally the default_printer entry from  the  configuration
            file, and then the compile time default.

       -R remoteAccount
            Specify  accounting information to be used by a remote system that
            prints your output.

            This parameter can be used to specify a billing code to be charged
            for the printing.

       -r   The  DREADED  REMOVE  AFTER PRINTING option.  Beware, for lpr will
            delete the files after spooling  them.   Present  by  demand  from
            users  for  compatibility  with other Berkeley lpr implementation,
            but really should NOT be present.

       -T  title
            Specify the title used by pr(1); defaults to the file name.

       -U username
            The -U option is used to specify a user name for the job.  This is
            available  only  to ROOT or users listed in the allow_user_setting
            configuration option.  This is obviously a security loophole,  but
            it  is  present  to  allow systems such as SAMBA to submit jobs on
            behalf of users.  See Authenticated Transfers below.

       -V   Verbose mode. Additional -V flags increase verbosity.   Use  debug
            flags for extreme verbosity.

       -w width
            Specify the page width for printing the job.

       -X path
            User  specified  filter  for job files.  Processing is done on the
            client host.

       -Y   Make a direct connection to the printer device and do not spool.

       -Z options
            Pass the specified  options  to  the  print  spooler.   Used  when
            additional  or  specialized  information  must  be provided to the

       OBSOLETE OPTIONS Lower case -c, -d, -g, -n, -t, -v
            Used to indicate: -c is data produced by cifplot(l), -d is  tex(l)
            (DVI  format  from Stanford), -g is standard plot data as produced
            by the plot(3X)  routines,  -n  and  -t  is  output  from  (device
            independent)  troff, -v a raster image for devices like the Benson
            Varian.  These are obsolete.  These are  retained  for  historical
            compatibility,  but  most of their functionality has been replaced
            by the abilities of the printer support system  to  determine  the
            file type and do the appropriate conversions.

            This   is  obsolete.   This  option  is  retained  for  historical
            compatibility, but this functionality should be implemented on the
            client system before sending the job to the printer.  Use pr(1) to
            format the files, then print using f  format.   This  may  not  be
            supported on the print system.

       OBSOLETE -s
            This  flag  is  included  for compatibility with other versions of
            lpr.  In these versions it will create  a  symbolic  link  to  the
            files  to  be printed.  Lpr now sends files directly to the server
            and it is irrelevant.

       OBSOLETE OPTIONS -1,2,3,4fontname
            Specify a font to be mounted on font position i for TROFF printing


       By default, if no filenames are specified lpr will read stdin and print


       The original LPR network protocol defined in RFC1179  did  not  provide
       for  user  to  server  authentication.  This is now supported by LPRng.
       See the LPRng support documentation for details on  its  operation  and


       The  LPRng  version  of lpr attempts to be functionally compatible with
       common implementations of lpr.  However, there are  some  commands  and
       functionality that are deliberately missing.

       -s Symbolic Links
            (Berkeley  LPR)  This option specified that a symbolic link to the
            original data file rather than a copy of the data file was  to  be
            used  when  spooling  jobs.   This  opens up a variety of security
            problems, as well as being ineffective when printing to  a  remote


       LPRng supports ultra-lightweight printing by eliminating the need for a
       print spooler.  This is quite dangerous, but makes the lpr client  very
       lightweight.   The  -Y  command  line  option  and the :direct printcap
       option enables lpr to connect directly to a specified  port  or  use  a
       program to send a job.  This filter also enables client side filtering,
       so if there are any filters specified in the printcap entry  they  will
       be used.  For example:
       lpr -Y -Phost%port file1 file2 ...
        approximately equivalent to:
          for i in file1 file2 ...; do
            ${filter} <$i;
         # ${filter} is filter from printcap
          done  >host%port (TCP/IP connection)

       lpr -Y -Phost%port -X userfilter file1 file2 ...
        approximately equivalent to:
          for i in file1 file2 ...; do
            userfilter <$i;
          done  >host%port (TCP/IP connection)

          -P host%port    > TCP/IP connection to host%port
          -P /dev/lp      > /dev/lp
          -P '|/program'  | /program

       lpr -Y -Ppr@host -X userfilter file1 file2 ...
        approximately equivalent to:
          for i in file1 file2 ...; do
            userfilter <$i >temp.$i;
          lpr -Ppr@host temp.file1 temp.file2

       The  -B  option  or the :lpr_bounce is used to filter and make a single
       file out of a set of print files and then forward them.
              lpr -B -Ppr@host
                approximately equivalent to:
                 lpr -Y -P/tmp/tempfile file1 file2 ...
                 lpr -Ppr@host /tmp/tempfile

       You can also use a printcap entry and the :direct options.
              lpr -Plp file1 file2
                 Same as:
              lpr -Plp -Y -Ph14%9100 file1 file2

       The :remote_support option is used to prevent the lpq and  lpc  program
       from attempting to send jobs to the device.


       By  default,  the destination printer is taken from the command line -P
       printer  value,  then  the  environment  variables   PRINTER,   LPDEST,
       NPRINTER,  NGPRINTER, then first entry in the printcap information, and
       and finally the default_printer entry from the configuration file,  and
       then the compile time default.


       The following exit values are returned:

       zero (0)       Successful completion.

       non-zero (!=0) An error occurred.


       The printer names and other information is obtained by using a printcap
       file or some other database.  The ${HOME}/.printcap file can be used to
       specify   user   level  options  and  configuration  information.   See
       printcap(5) for more information.


       The files used by LPRng are set by values in the printer  configuration
       file.  The following are a commonly used set of default values.
       /etc/lprng/lpd.conf                          LPRng configuration file
       ${HOME}/.printcap                            user printer description file
       /etc/printcap                                printer description file
       /etc/lprng/lpd.perms                         permissions
       /var/run/lprng/lpd                           lock file for queue control
       /var/spool/lpd                               spool directories
       /var/spool/lpd/QUEUE/control                 queue control
       /var/spool/lpd/QUEUE/log                     trace or debug log file
       /var/spool/lpd/QUEUE/acct                    accounting file
       /var/spool/lpd/QUEUE/status                  status file


       lpd.conf(5),  lpc(8),  lpd(8), checkpc(8), lpq(1), lprm(1), checkpc(8),
       printcap(5), lpd.perms(5), pr(1).


       Patrick Powell <>.


       Most of the diagnostics are self explanatory.  If you are puzzled  over
       the  exact  cause  of failure, set the debugging level on (-D5) and run
       again.  The debugging information will help you to pinpoint  the  exact
       cause of failure.


       LPRng  is  a enhanced printer spooler system with functionality similar
       to the Berkeley LPR software.  The  LPRng  developer  mailing  list  is;      subscribe      by      visiting   or   sending
       mail  to with the word subscribe in
       the body.
       The software is available via