plpd is a simple implementation of a BSD-compatible printsystem, written in python. It was written because the system in Solaris 2.[0-3] is problematic, and sun is reportedly planning to replace it with something palladium based, sometime AFTER Solaris 2.4. plpd allows use of a superset of the BSD system at the socket level, requires/allows no authentication, reads in /etc/printcap every time a command is invoked, is inetd-driven (so lpc is largely obviated - daemons are (re)started on an as-needed basis), and observes a subset of the traditional printcap options. $LPDEST and $PRINTER may be used for default queues, as with the SysV and BSD printsystems (resp.). Errors and diagnostics are logged to /var/adm/lpd-errs, regardless of "lf=". The command line interfaces are currently... lpc - a no-op, for shell-script compatibility lpq and lpstat - check the status of a queue observe "-P" and "-d" (both) for defining a queue lpr and lp - queue a job observe "-P" and "-d" (both) for defining a queue accept and ignore -c, -s, -J and -p observe "-h" for suppressing the burst page lprm - remove a job from a queue observes "-P" and "-d" (both) for defining a queue And the printcap options observed, are currently (unknown options are ignored)... lp defines the device to send jobs to, locally if defines a script to run; invoked once for each job; /bin/sh command. Note that in the BSD system, this is not /bin/sh syntax, but rather a single, exec'able command sd defines the spool directory rm defines a remote host to send jobs to rp defines the name of the queue on a remote host Installation: At UCI, suns running SunOS 5.3 are autoinstalled to use plpd by default. Outside UCI, you'd want to add a line like: printer stream tcp nowait root /dcs/packages/plpd/lpd lpd ...to your /etc/inetd.conf, and then HUP inetd or reboot. Be sure you have these programs on your path before the standard versions. Create symlinks from lpd to lpc, lpq, lprm, lp, lpr, and lpstat. I recommend ensuring that lpd.py is compiled to lpd.pyc, to speed startup. Problem resolutions: Once in a (rare?) while, there will still be situations where a daemon will crash, leaving behind a lock file that prevents other daemons from servicing requests (on a given queue). In such an instance, it may be helpful to rm /var/spool/lpd//lock. It may also be of use to note that a long-stagnant queue may be flushed, by sending a zero-length (or any other length) printjob, with, EG: "lpr -Pqueue < /dev/null" Bug reports: Please feel free to send bug reports to strombrg@uci.edu. I cannot guarantee that I'll have to time to look at whatever issues you may raise, but I may, and I definitely want to be aware of what you come across in using plpd.