Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022

cups-lpd (8)


cups-lpd - receive print jobs and report printer status to lpd clients (deprecated)


cups-lpd [ -h hostname[:port] ] [ -n ] [ -o option=value ]


cups-lpd(8)                       Apple Inc.                       cups-lpd(8)

       cups-lpd  - receive print jobs and report printer status to lpd clients

       cups-lpd [ -h hostname[:port] ] [ -n ] [ -o option=value ]

       cups-lpd is the CUPS Line Printer Daemon ("LPD") mini-server that  sup-
       ports  legacy  client systems that use the LPD protocol.  cups-lpd does
       not act as a standalone network daemon but instead operates  using  any
       of  the Internet "super-servers" such as inetd(8), launchd(8), and sys-

       -h hostname[:port]
            Sets the CUPS server (and port) to use.

       -n   Disables reverse address lookups; normally cups-lpd  will  try  to
            discover the hostname of the client via a reverse DNS lookup.

       -o name=value
            Inserts  options  for all print queues. Most often this is used to
            disable the "l" filter so that remote print jobs are  filtered  as
            needed  for  printing;  the inetd(8) example below sets the "docu-
            ment-format" option  to  "application/octet-stream"  which  forces
            autodetection of the print file format.

       cups-lpd  does  not enforce the restricted source port number specified
       in RFC 1179, as using restricted ports does not prevent users from sub-
       mitting  print  jobs.   While  this behavior is different than standard
       Berkeley LPD implementations, it should not affect normal client opera-

       The output of the status requests follows RFC 2569, Mapping between LPD
       and IPP Protocols. Since many LPD implementations stray from this defi-
       nition, remote status reporting to LPD clients may be unreliable.

       Errors are sent to the system log.


       See attributes(7) for descriptions of the following attributes:

       |Availability   | print/cups       |
       |Stability      | Volatile         |

       The cups-lpd program is deprecated and will no longer be supported in a
       future feature release of CUPS.

       cups-lpd performs well with small  numbers  of  clients  and  printers.
       However,  since  a new process is created for each connection and since
       each process must query the printing system before each job submission,
       it  does  not scale to larger configurations.  We highly recommend that
       large configurations use  the  native  IPP  support  provided  by  CUPS

       cups-lpd  currently  does  not  perform any access control based on the
       settings in cupsd.conf(5) or in  the  hosts.allow(5)  or  hosts.deny(5)
       files used by TCP wrappers.  Therefore, running cups-lpd on your server
       will allow any computer on your network (and perhaps the entire  Inter-
       net) to print to your server.

       While xinetd(8) has built-in access control support, you should use the
       TCP wrappers package with inetd(8) to limit access to only  those  com-
       puters that should be able to print through your server.

       cups-lpd is not enabled by the standard CUPS distribution.  Please con-
       sult with your operating system  vendor  to  determine  whether  it  is
       enabled by default on your system.

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source    was    downloaded   from    https://github.com/apple/cups/ar-

       Further information about this software can be found on the open source
       community website at http://www.cups.org/.

       If  you  are  using  inetd(8), add the following line to the inetd.conf
       file to enable the cups-lpd mini-server:

           printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd \
               -o document-format=application/octet-stream

       Note: If you are using Solaris 10 or higher, you must  run  the  inetd-
       conv(1m) program to register the changes to the inetd.conf file.

       CUPS  includes  configuration  files  for  launchd(8),  systemd(8), and
       xinetd(8).  Simply enable the cups-lpd service using the  corresponding
       control program.

       cups(1),  cupsd(8), inetconv(1m), inetd(8), launchd(8), xinetd(8), CUPS
       Online Help (http://localhost:631/help), RFC 2569

       Copyright (C) 2007-2019 by Apple Inc.

26 April 2019                        CUPS                          cups-lpd(8)