                LPRngTool
                ---------
Author: Geoff Silver <geoff@uslinux.net>
Modified by: Patrick Powell <papowell@lprng.com>
Package: LPRngTool
Version: 1.3.2


** What is LPRngTool?

LPRngTool is a Tcl/Tk GUI which allows you to add/delete/modify local
printers, and monitor and manage local and remote print queues using
LPRng.  LPRngTool does NOT work with Berkeley or Sys V style printing!
You must have LPRng installed to make use of LPRngTool.  If you want to
control Berkeley lpd spools, use Red Hat's Printtool.  

** Licensing

LPRngTool is licensed under the GNU General Public License (see LICENSE or
http://www.gnu.org/copyleft/gpl.html).  You're welcome to make changes, 
modifications, bug fixes, and to reuse parts of the code in other
projects.  However, you must make publically available, for free, the
source code to this program and any changes you have made to it if you
distribute it in any way (including just making one copy for a
friend).  You must also include this license statement with any copies you
make/distribute.

It's also appreciated if you send any changes back upstream to the
author Geoff Silver (geoff@uslinux.net) or Patrick Powell
<papowell@astart.com> to be included in future versions.

** What do I need to run it?

- A unix or linux machine with LPRng installed
       http://www.lprng.com
- ifhp print filter
      http://www.lprng.com
- Tcl/Tk (you've probably got this installed if you installed X)
- ghostscript
       http://www.cs.wisc.edu/~ghost/index.html
       http://www.ghost.com/

- mpage for Ascii to PS conversion
       http://toolbox.sgi.com/TasteOfDT/public/freeware1.0/fw_MPHmpage/'
  OR a2ps for Ascii to PS conversion
    A2PS - Ascii Text to PostScript Converter
       http://www-inf.enst.fr/~demaille/a2ps
       ftp://ftp.enst.fr/pub/unix/a2ps/
  OR GNU enscript
       http://www.gnu.org
- samba, for printing to SMB or Windows print shares
       http://www.samba.org
- rhs-printfilters, to use as a client or filtering server.  The .tar.gz
  version of LPRngTool includes an modified version of these filters
  that has some modifications to be compatible with LPRng.
       http://www.redhat.com
       http://uslinux.net/software/lprngtool.html
	   https://sourceforge.net/projects/rhs-printfilter/
- a file(1) utility that can read from STDIN.
    file - utility to determine file type
       ftp://ftp.astron.com/pub/file/
       ftp.deshaw.com/pub/file/

** Source Distribution Installation

 For the impatient:

   tar zxvf LPRntTool-<version>.tgz
     or
   gunzip -c LPRntTool-<version>.tgz | tar xvf -

   configure
   make all install

 That's it.  Very simple.

 See ** Configuration Options below for information about
 handling system dependencies.

** For RPM-based installations:
   rpm -i LPRngTool-<version>.rpm

   For RPM-based upgrades:
	rpm -U LPRngTool-<version>.rpm

The .tar.gz file includes the necessary filters, but you'll want to get
copies of mpage or enscript, the latest ghostscript, and (possibly) 
smbclient, which is part of the Samba package.  The RPM will check for
these, however, you'll have to download rhs-printfilters-<version>.rpm
if you're doing this via RPM, since I don't want to break current RPM
systems.

** Errata/Possible Installation Problems 

Please review the /etc/lprngtool.conf file, and make any
modifications for your system.

** What else do I need to know?

Almost nothing.  I've tried to be extremely careful in designing and
testing LPRngTool, to ensure it won't corrupt your system.  There's a very
small FAQ at the end of this for setup/first-time run issues you might
have.

If you find bugs, have ideas for improvements, or
want to contribute to development efforts, e-mail geoff@uslinux.net
or Patrick Powell <papowell@astart.com>

** Real Quick Installation FAQ

Q: How do I install lprngtool?
A: 
   tar zxvf LPRntTool-<version>.tgz
     or
   gunzip -c LPRntTool-<version>.tgz | tar xvf -

   configure
   make all install

Q: I get some error which leads me to believe rewindstdin won't work on my
   system.
A: You're running a non-Linux OS, aren't you?  No problem, just compile
   the rewindstdin.c source into a binary by typing the following command:
   'cc -o rewindstdin rewindstdin.c'.  Of course, you have to do this in
   the filters/ subdirectory, and you'll need a basic compiler.

Q: I get some weird error about 'Error in startup script: invalid command
   name "frame"...' when starting lprngtool.
A: Your X-windows display is set incorrectly (or perhaps you're trying to
   run it in a terminal and NOT under X).  Set your DISPLAY variable.  The
   method is different, depending on your shell.  For bash shells, type
   'DISPLAY=<your.host.name>:0' and then 'export DISPLAY'.  For csh and tcsh
   shells, type 'set DISPLAY <your.host.name>:0'.  I don't know about other
   shells - you'll have to look into it.

Q: What is /etc/lpd.perms file?
A: That file determines whether you can perform remote queue monitoring
   and job management (redirection, cancelling, pausing, etc) or not. The
   following version allows only 'root' users on a remote host
   these functions.  You may want to set your host name/domain info in 
   that file as well if you're running on a public/corporate LAN, since 
   anyone in those instances could plug a *nix box into an Ethernet outlet
   and modify your queues.  I usually recommend allowing only ONE central 
   workstation or subnet access, and then restricting access to that subnet.

        # only root on the server can do control
        #ACCEPT SERVICE=C SERVER REMOTEUSER=root
        # only root on specified hosts can do control
        #ACCEPT SERVICE=C REMOTEHOST=h1,h2 REMOTEUSER=root
        #ACCEPT SERVICE=C REMOTEHOST=ip/mask REMOTEUSER=root
        # root on any host can do control 
        ACCEPT SERVICE=C REMOTEUSER=root
        ACCEPT SERVICE=C LPC=lpd,status,printcap
        REJECT SERVICE=C
        ACCEPT SERVICE=M SAMEHOST SAMEUSER
        REJECT SERVICE=M
        DEFAULT ACCEPT

Q: I get a message about 'Xlib: Client is not authorized to connect to Server'.
A: Your DISPLAY environment variable is set OK, but your X-windows box
   won't just allow anyone to draw stuff on your screen.  You need to allow
   the remote machine access.  To do so, on your local workstation, type
   'xhost +<remote.host.name>' 

** Configure Options

The following options have been added to configure to allow you
to handle system specific details and problems:

--with-lprngtool_conf=PATH
    path of lprngtool.conf (default ${sysconfdir}/lprngtool.conf)

    This is where the configure file for lprngtool is kept  
    The configuration file is commented and is VERY simple to
    understand

--with-printcap_path=PATH
    path of printcap (default ${sysconfdir}/printcap)

    Some systems put their printcap file in /usr/local/etc/printcap
    WARNING: lprngconf will need write access to the printcap file
    if you want to make modifications.
 
--with-spool_directory=PATH
    path of spool directory (default /var/spool/lpd)

    Where spool directories are created by default

--with-filterdir=DIR
    ifhp filter support file directory (default ${libexecdir}/filters)

--with-ifhp_path=PATH
    path of ifhp (default: ${FILTER_DIR}/ifhp)
    
--with-ifhp_conf_path=PATH
    path of ifhp.conf (default: ${sysconfdir}/ifhp.conf)

--with-rhfilterdir=DIR
    RedHat Print Filters directory
    (default ${libexecdir}/filters/rhs-printfilters)

    The LPRngTool compatible versions of the RedHat filters
    are installed in this directory.
