LinuxCommandLibrary

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.

SEE ALSO

cupsd(8), lpr(1), lpq(1), lprm(1)

Copied to clipboard