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