Provided by: lprng_3.8.B-2.1_amd64 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 spooler.

       -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 :filter=...).

       -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
                 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 value.

       -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

       -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

       -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 implemented.

       -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

       -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 spooler.

       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 (Obsolete).


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


       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 support.


       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 host.


       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