LPRng is a complete rewrite of the BSD utilities. It is designed to be portable and secure. Unlike the BSD utilities, the client programs do not need to run SUID. The server (still called lpd) is a complete implementation of the RFC 1179 Line Printer Daemon Protocol. It also includes lp and lpstat commands for System V compatibility.
Although LPRng is a complete rewrite, configuration is still mostly the same as for the BSD utilities. It still uses /etc/printcap (described later in this chapter). It also has two additional configuration files: /etc/lpd.conf, which controls details of LPRng’s lpd, and /etc/lpd.perms, which configures access controls for lpd.
Sometimes it’s necessary to integrate the printing server into a heterogeneous infrastructure, such as to serve systems using the LPD legacy protocol. The embedded package cups-lpd is the CUPS Line Printer Daemon (LPD) mini-server supporting these legacy client systems. cups-lpd does not act as a standalone network daemon, but instead operates using the Internet inetd or xinetd super-server.
The LPD server will listen on the default port specified in the /etc/services file:
printer 515/tcp spooler # line printer spooler printer 515/udp spooler # line printer spooler
LPRng is available from http://www.lprng.com.