rlpr man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

rlpr(1)			     UNIX Reference Manual		       rlpr(1)

NAME
       rlpr - remote off-line print

SYNOPSIS
       rlpr   [-Hprinthost]  [-Pprinter]  [-Xproxyhost]	 [-#copies]  [-Cclass]
       [-Jjob]	    [-Ttitle]	   [-Uuser]	  [-i[indent]]	     [-wwidth]
       [-1234cdfghlmnopqrstvNV]	 [--debug] [--port=port] [--hostname=hostname]
       [--send-data-first]  [--timeout=seconds]	  [--tmpdir=dir]   [--verbose]
       [--windows] [file ...]

DESCRIPTION
       rlpr  uses  TCP/IP to send print jobs to lpd servers anywhere on a net‐
       work.  Unlike lpr, it does not require  that  the  remote  printers  be
       explicitly known to the local system (traditionally through /etc/print‐
       cap), and thus is considerably more flexible and requires less adminis‐
       tration.

       rlpr can be used anywhere a traditional lpr might be used, and is back‐
       wards compatible with traditional BSD lpr.  If rlpr is invoked as  lpr,
       it preserves all known lpr semantics.

       rlpr can be installed and used in two different ways:  (the same guide‐
       lines apply for rlpq(1) and rlprm(1))

       1. Ideally, if the rlpr client can be installed setuid root, then  rlpr
       can  interact  directly	with other lpd's on the network.  See EXAMPLES
       below.

       2. If rlpr cannot be installed setuid root (in cases where one  is  not
       the administrator on the machine one needs to print from) then rlpr can
       be used in conjunction with an rlprd proxy agent.  See	CONFIGURING  A
       PROXY and  EXAMPLES below for details.

MOTIVATION
       Traditional Berkeley lpr has one major drawback: the mortal user cannot
       lpr to a printer which is not listed explicitly	in  the	 /etc/printcap
       file.

       This  is especially annoying in scenarios where there is a central UNIX
       server which many users (using their own desktop computers) connect  to
       in  order  to  do  their daily work; If those users wish to print files
       from the central server to their personal machines (assuming they had a
       local   lpd),   they  cannot  do	 this  without	the  central  server's
       /etc/printcap being edited to contain the host and printer of each user
       on the network - this scales horribly.

OPTIONS
   Environment/Setup
       --debug
	      Print gobs of debugging information.

       -N, --no-bind
	      Don't  try  to bind to privileged port before connecting to lpd.
	      Please see CONFIGURING A PROXY below for information on  use  of
	      this option.

       --port=number
	      Select  an  alternate  port  (instead of 7290) to connect to, if
	      using rlprd.  Usually not needed.

       -H, --printhost=host
	      Select the host to print to (used with -P).

	      Instead of using -H,  one	 can  specify  the  hostname  directly
	      including	 it  with  the	printer name with the printer@hostname
	      syntax.

       -P, --printer=printername, --queue=printername
	      Select the printer to print to (used with -H).

       -X, --proxyhost=proxyhost
	      Select the proxy host to use, if necessary.

       --timeout=seconds
	      Set the inactivity timer.	 If the connection hangs for more than
	      seconds  seconds, then rlpr will give up.	 Use the special value
	      `-1' to wait forever.  Default timeout is 3 seconds.

       --tmpdir=tmpdir
	      Use tmpdir for temporary files (by default, /tmp is used)

       -V, --version
	      Print version and exit.

       NOTE: instead of specifying the printer, printhost, or proxy  variables
       on  the commandline, one can set up defaults through either environment
       variables or rlprrc configuration files.	 For information  on  personal
       or system-wide rlprrc files, see rlprrc(5).

   Behavior
       -#, --copies=copies
	      Print  copies  copies of each document - use sparingly, printers
	      aren't copiers.

       -m, --mail
	      Send mail upon completion.

       -q, --quiet, --silent
	      Quiet mode - stay quiet (except for fatal errors).

       -r, --remove
	      Remove file after printing.

       -s
	      Ignored (provided for compatibility).

       --send-data-first
	      Send the "data" transaction before  the  "control"  transaction.
	      Should never be required when rlpr is used in conjunction with a
	      RFC 1179 conformant lpd.	However, buggy	implementations	 exist
	      which require these semantics.  Use only when necessary.

       --verbose
	      Verbose mode - on by default unless rlpr is invoked as lpr.

       --windows
	      "Windows"	 mode - for printing multiple files to a windows-based
	      lpd.

   Document Content
       -1   Print data using troff(1) R (times roman) font.
       -2   Print data using troff(1) I (times italic) font.
       -3   Print data using troff(1) B (times bold) font.
       -4   Print data using troff(1) S (special) font.
       -c   Assume data has been produced by cifplot(1).
       -d   Assume data has been produced by tex(1).
       -f   Filter data assuming the start of each line has
	   a fortran carriage control character.
       -g   Assume data has been produced by the BSD plot library.
       -l   Treat control characters as regular characters.
       -n   Assume data has been produced by ditroff.
       -o   Assume data is postscript.
       -p   Print data using pr(1).
       -t   Assume data has been produced by troff(1).
       -v   Assume the data contains a raster image.

   Document Format
       -i, --indent=[cols]
	      Indent output by cols columns (8 by default).

       -h, --no-burst
	      Do not print burst (banner) page.

       -w, --width=width
	      Use width for page width when using pr(1).

       -C, --class=class
	      Use class for the class name on burst page instead of the	 local
	      system name.

       -J, --job=jobname
	      Use  jobname for the job name on burst page instead of the first
	      filename in the job.

       -T, --title=title
	      Use title for the title when using pr(1) instead of the  current
	      filename.

       -U, --user=username
	      Use  username  for  the  user  name on burst page instead of the
	      actual username.

       --hostname=hostname
	      Use hostname for the hostname on the burst page instead  of  the
	      local system name.

   OS-Specific Extensions
       See OS-SPECIFIC EXTENSIONS below for details on these options.

       --ext=os --extension=os
	      Interpret	 the  arguments passed to --extargs as if on operating
	      system os.  Currently, os must be either hpux or none.

       --extargs="args"
	      Change behavior according to  OS-specific	 arguments  listed  in
	      args.

CONFIGURING A PROXY
       In  situations  where  the rlpr client cannot be installed setuid root,
       rlpr often cannot directly talk to an lpd because  most	lpd's  require
       that  requests  come  from privileged ports. Unfortunately, rlpr cannot
       "come from a privileged port" without having superuser status.
       The privileged port requirement is part of RFC 1179.

       That said, some lpd's, most notably some of the ones which have shipped
       with  Windows NT, Solaris, and NCRunix, do not require requests to come
       from a privileged port.	Before going through the work of configuring a
       proxy,  you  should  make sure one is required for your situation.  You
       can check by trying to run rlpr: if it is successful  in	 spooling  the
       job, you do not need to install rlpr setuid root.  You should then pass
       the -N (or the more verbose --no-bind) to rlpr in the  future  to  sup‐
       press rlpr's warning messages.

       If  your	 situation does not require a privileged port, do not use one.
       You can explicitly request a regular port,  even	 when  rlpr  has  been
       installed  setuid  root, by using the --no-bind option.	This is a good
       idea because there are only 11 privileged ports that  the  RFC  allows.
       This  ends  up  having the practical implication of limiting your print
       requests to about 11 per every 3 minutes, which is often unacceptable.

       The rest of this section assumes that rlpr cannot be  installed	setuid
       root  in your situation, and that a remote lpd requires rlpr connect to
       it from a privileged port.  It requires that you or  someone  you  know
       has  root  access to another machine the network, so that you can use a
       proxy, known as rlprd, to get around the problem.

       rlprd works by taking lpd requests on a	non-privileged	port,  mapping
       them  to	 a  privileged port, and sending them out to the real lpd. The
       proxy and the lpd need not be on the same machine.

       In the scenario provided in the	motivation,  if	 each  user  had  root
       access  on  his	own machine, it would be optimal for the user to start
       rlprd up on his own machine, in which case the proxy and the  printhost
       are  the	 same  machine.	 The user would additionally have to make sure
       his own machine was listed in his local /etc/hosts.lpd so that his  lpd
       would accept connections from his rlprd.

       However,	 if the machine the user wants to print to is not running unix
       (but is running an lpd) (i.e. Windows, WinNT, etc) --  Then  that  user
       can configure his lpd to accept connections from an rlprd running some‐
       where on the network, and use that rlprd as a proxy for rlpr.

       For more on this mess, see rlprd(8).

EXAMPLES
       WITHOUT A PROXY	(rlpr is setuid root)

       sun% rlpr --printer=hp4l@foo.bar.org foo.c

       prints foo.c to the printer hp4l	 on  the  host	foo.bar.org  (assuming
       foo.bar.org  has been configured to accept print requests from host sun
       in its /etc/hosts.lpd).

       sun% who | rlpr --printer=hp4l@foo.bar.org

       prints  the  output  of	who(1)	to  the	 printer  hp4l	on  the	  host
       foo.bar.org.

       WITH A PROXY  (rlpr is a normal program)

       sun% rlpr -Xfoo.bar.org --printer=hp4l@foo.bar.org foo.c

       prints  foo.c  to  the  printer	hp4l  on  the  host  foo.bar.org using
       foo.bar.org as a proxyhost. Under this configuration, foo.bar.org needs
       to  be  configured to accept print requests from the proxy (itself) and
       not from sun. In situations where the proxy and the printhost  are  not
       the same machine, this can lead to some security holes due to the orig‐
       inal lameness of berkeley lpd's host-based security.

       NOTE: if a proxyhost isn't specified anywhere, rlpr assumes  one	 isn't
       necessary.

OS-SPECIFIC EXTENSIONS
       Some vendors have added features to their BSD-based lpr products, which
       are upwardly compatible with lpr but incompatible with one another.  To
       support these extensions, rlpr allows the user to indicate what operat‐
       ing system to emulate and provide  a  string  of	 OS-specific  options,
       either through commandline arguments or environment variables.

       Note  that  for correct operation, these extensions should be only used
       when interoperating with an lpd provided by the vendor  for  the	 indi‐
       cated operating system.

ENVIRONMENT VARIABLES
       The following environment variables are used by rlpr:

       RLPR_EXTENSION
	      Specifies	 the  operating	 system to interpret OS-specific argu‐
	      ments relative to.

       RLPR_EXTARGS
	      Specifies the OS-specific arguments.

       RLPR_PRINTHOST
	      Specifies the default host to print to.

       PRINTER or LPDEST
	      Specifies a default printer (printqueue) to use.
	      First PRINTER is consulted, then LPDEST.

	      Note that one can also specify the host to print to  by  setting
	      printer  to  be  printer@hostname.   This may be more convenient
	      than setting RLPR_PRINTHOST, but will  confuse  the  traditional
	      BSD print commands.

       RLPR_PROXYHOST
	      Specifies a proxy host to use, if necessary.

       RLPR_CONFDIR
	      If  RLPR_CONFDIR is set, it is the directory containing the sys‐
	      tem-wide rlprrc file.  By default, /etc is used.

       TMPDIR
	      If TMPDIR is set, it is used for temporary files.	  By  default,
	      /tmp is used.

FILES
       ~/.rlprrc	 Personal printer/host database
       $TMPDIR/cf*	 Temporary control files on local machine
       $TMPDIR/df*	 Temporary data file for jobs from stdin
       /var/spool/*/cf*	 Temporary control files on printhost
       /var/spool/*/df*	 Temporary data files on printhost
       /etc/hosts.lpd	 Host-based security on printhost
       /etc/passwd	 Personal identification
       /usr/local/etc/rlprrcSystem-wide printer/host database (by default)

SEE ALSO
       rlpq(1), rlprm(1), rlprd(8), rlprrc(5), lpr(1)

AUTHOR
       meem <meem@gnu.org>

BUGS / LIMITATIONS
       Some evil applications have lpr hardcoded into them.

rlpr 2.04			  2000/12/30			       rlpr(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net