		README for Debian package of LPRng
		==================================

This is a collection of things that you should read, especially if you are 
having troubles with LPRng or your printers.  Please also note there is
a LPRng-HOWTO in the lprng-doc package.  If you are having one of these
problems listed below and report a bug about it, make sure you have read
this README and you say in your bug report you have done so.

GTK Applications Not Printing to LPRng
--------------------------------------

Programs based on the gtk library (which includes a lot of popular
programs in Debian) have lost the ability to print to lpr/lprng just
before the release of Debian 5.0.

A workaround to this problem of gtk+2.0 can be:

  * for a one-user setup, include an entry in the file .gtkrc-2.0 in
    your home directory with the line:

    gtk-print-backends = "file,lpr"

  * for a system-wide setup, include the same line in the file
    /etc/gtk-2.0/gtkrc

Network Printer not Printing
----------------------------
#1 source of all my bug reports would have to be this.  Someone has a
networked printer (that is a printer with its own IP address), they've upgraded
from some old LPRng, say 3.6.12 or lower, and now the printer stops working
and the jobs just disappear.

You probably have something in your /etc/printcap like lp=/dev/null as
well as some rp and rm lines. Well, the job is going to the lp line and
ending up in /dev/null, remove that line out of printcap.

Or you might have a lpr_bounce clause in there which should be removed.

Not printing under high load?
-----------------------------
#2 source of bugs, maybe going to #1 soon is the bugs surrounding done_jobs.
In short if you run versions around 3.8.10 you have old jobs hanging
around your spool, if you run 3.8.15 then you'll lose jobs.
I have now put a temporary fix (done_jobs=0) by default. If you do not
let dpkg upgrade your lpd.conf file then unless you like weirdo bugs put a
line in /etc/lprng/lpd.conf like this:
done_jobs=0

Remote Users not being able to print
------------------------------------
LPRng version 3.6.A locked down the daemon even more than previous versions.
By default the Debian package doesn't listen on the TCP port.

To enable remote connections to the LPRng lpd daemon, add the following
line to /etc/lprng/lpd.conf:
 lpd_listen_port=515

Local printer and lprng not starting
------------------------------------
For some peoples setups you may need to add some modules "parport_c" and "lp"
to /etc/modules for the lprng daemon to work.

Remote Printers and no spool file
---------------------------------
Some people want to directly print to their remote printers without having all
the spooling etc on the Linux box.  Some old versions allowed this to happen
out of the box.  The newer LPRngs do not because it is generall a bad idea.
But if you want to do it, put something like this in your /etc/printcap
  lp1:rp=pr:rm=10.0.1.2
    :force_localhost@
Also read the LPRng-HOWTO for more information.

Why is GDBM disabled in configure?
----------------------------------
In 3.7.3 gdbm was introduced. Unfortunately it uses some definitions that I
could not find (certainly, they won't in gdbm.h), so it was disabled.

lpd does not start or you get connection refused messages
---------------------------------------------------------
From version 3.8.2 there are two new reasons why LPRng's lpd server will not
start.  The first is that the /etc/printcap file is not installed by default
as it is shared amongst many packages and the lprng package should not claim
ownership over it.  Look in /usr/share/doc/lprng/examples for an example 
printcap.  Secondly there is a debconf question which asks if you want lpd
to be started, most people should say yes.

Using lprng in a chroot
-----------------------
If you use lprng inside a chroot you will be unable to print if you
try to use localhost.  This is because lprng is too clever and when
it sees localhost it uses a unix socket (which may not exist in the
chroot).

The solution is to either mount /var/run into the chroot or alternatively
add the following line to the lpd.conf file inside the chroot:
unix_socket_path=off

This will force lprng client inside the chroot to actually use a TCP socket
and not the (non-existent) unix socket.

Daily check
-----------
Since 3.8.A-1 the daily check will silently exit if there is no /etc/printcap
file.  This means if you have to have lprng installed for lsb reasons but
don't have printers, just make sure there is no /etc/printcap
