LinuxCommandLibrary

cups-deviced

Discover network printers for CUPS

SYNOPSIS

cups-deviced

PARAMETERS

(No direct user-facing parameters)
    This command is primarily invoked by the cupsd daemon and does not typically accept command-line parameters for its device discovery function when run in this context. Its operational behavior is influenced by CUPS configuration and the underlying discovery mechanisms it implements.

DESCRIPTION

cups-deviced serves as an essential backend program within the Common Unix Printing System (CUPS) framework. Its primary role is to discover available printing devices on the local system and network.

Unlike most user-invoked commands, cups-deviced is predominantly executed internally by the cupsd daemon. When invoked, it scans for printers using various protocols such as mDNS/Bonjour, IPP broadcasting, USB, and parallel port enumeration. It then outputs a structured list of discovered device URIs and descriptions to standard output, which cupsd parses to update its internal list of available printers.

This automated discovery mechanism is fundamental to CUPS's plug-and-play capabilities, allowing users to easily detect and add printers without needing to manually specify complex connection details, thereby significantly streamlining the printer setup process.

CAVEATS

  • Internal Use Only: cups-deviced is not designed for direct user invocation. Running it manually might produce raw output that is not immediately useful to a typical user.
  • Distribution and Version Dependent: The exact implementation, name, or even standalone existence of cups-deviced can vary slightly between different CUPS versions and Linux distributions. Its functionality might be integrated differently in some setups.
  • Network Dependencies: For network printer discovery, it relies on appropriate network services (e.g., Avahi or mDNS responder) to be running and properly configured on the system.

INTERNAL INVOCATION AND OUTPUT FORMAT

cups-deviced is typically spawned by the cupsd daemon when a device discovery scan is initiated (e.g., in response to an lpadmin -l command, or when refreshing printer lists in graphical tools). When run for discovery, it outputs discovered device URIs and human-readable descriptions to stdout in a specific, structured format that cupsd expects.

An example of a single output line might look like:
usb usblp://Brother/HL-L2350DW%20series?serial=E71822F8N380766 "Brother HL-L2350DW series" "Brother HL-L2350DW series" "MFG:Brother;CMD:PJL,PCLXL,PCL5e,IBMPro,BRSCRIPT;PRN:HL-L2350DW series;SNS:N;DES:Brother HL-L2350DW series;"

This structured output allows cupsd to correctly parse, register, and present the discovered printers to the user for selection and setup.

HISTORY

The functionality provided by cups-deviced has been an integral part of the CUPS project since its inception. As printer technology evolved and network-based discovery methods became prevalent (e.g., Bonjour/mDNS, IPP Everywhere), the capabilities of this backend were continuously expanded to support these newer, more sophisticated discovery protocols. Its development is deeply intertwined with the overall progression of the CUPS project, consistently aiming to enhance automatic printer detection and plug-and-play usability.

SEE ALSO

cupsd(8), lpadmin(8), lpstat(1), cups-backend(7)

Copied to clipboard