cups-lpd
Accept print jobs from legacy LPD clients
SYNOPSIS
cups-lpd [-h hostname]... [-l] [port]
PARAMETERS
-h hostname
Listen on specified hostname or IP address. Multiple options allowed for multiple interfaces.
-l
Run in foreground, log to stderr instead of syslog.
port
TCP port to listen on (default 515).
DESCRIPTION
cups-lpd is a lightweight Line Printer Daemon (LPD) server for CUPS, enabling legacy LPD clients to print to CUPS printers. It listens on TCP port 515 (standard LPD port) for incoming print jobs and control requests, converting them into IPP requests for the CUPS scheduler (cupsd).
This allows interoperability with older Unix-like systems, applications, and devices that rely on the LPD protocol (RFC 1179) rather than modern IPP. Supported operations include job submission via lpr, queue status queries (lpq), job cancellation (lprm), and basic printer control.
cups-lpd runs as a standalone daemon or via inetd/xinetd/socket activation. It logs to syslog by default, with foreground logging available. Security relies on CUPS configuration; restrict access via firewall or TCP wrappers.
Limited to core LPD features, it may not support vendor extensions or complex job formats.
CAVEATS
cups-lpd supports only basic RFC 1179 LPD features; advanced or vendor-specific extensions unsupported. Ensure CUPS auth and firewalls protect port 515.
INVOCATION
Typically started via inetd.conf, xinetd, or systemd socket unit: ListenStream=515.
LOGGING
Debug with LogLevel debug in cupsd.conf; check /var/log/cups/error_log.
HISTORY
Introduced in CUPS 1.2 (2006) by Easy Software Products for LPD compatibility. Maintained by OpenPrinting project since CUPS 2.0.


