cupsd
Manage CUPS printing service
TLDR
Start cupsd in the background, aka. as a daemon
Start cupsd on the [f]oreground
[l]aunch cupsd on-demand (commonly used by launchd or systemd)
Start cupsd using the specified cupsd.conf [c]onfiguration file
Start cupsd using the specified cups-files.conf configuration file
[t]est the cupsd.conf [c]onfiguration file for errors
[t]est the cups-files.conf configuration file for errors
Display [h]elp
SYNOPSIS
cupsd [-c cupsd.conf] [-f] [-F] [-h] [-l] [-L] [-s cups-files.conf] [-t]
PARAMETERS
-c cupsd.conf
Specify alternate CUPS configuration file
-f
Run in foreground (do not detach from terminal)
-F
Run in foreground with PID 1 behavior (systemd-compatible)
-h
Show built-in usage message
-l
Log errors to stderr instead of /var/log/cups/error_log
-L
Log debug messages to stderr
-s cups-files.conf
Specify alternate client configuration file
-t
Test the configuration file for syntax errors
DESCRIPTION
cupsd is the core daemon of the Common Unix Printing System (CUPS), a modular printing system for Unix-like operating systems including Linux. It runs as a background service, managing print queues, scheduling jobs, and communicating with printers via various protocols like IPP, LPD, and USB.
Key functions include authenticating users, enforcing print policies, filtering print data, and providing a web-based administration interface at http://localhost:631. cupsd processes incoming print requests from applications via the CUPS API or standard commands like lp, spools jobs securely, and rasterizes them for printers using backends and filters.
It supports network printing, driverless printing with IPP Everywhere, and AirPrint for mobile devices. Configuration is primarily through /etc/cups/cupsd.conf, allowing customization of listening ports, access controls, and logging. cupsd is essential for most Linux distributions' printing stack, integrated with systemd for automatic startup.
CAVEATS
cupsd typically runs as root; misconfiguration can expose printing services to network attacks. Not intended for manual invocation—use systemd or init scripts. Debug mode (-L) generates verbose output unsuitable for production.
CONFIGURATION FILE
Primary config at /etc/cups/cupsd.conf. Edit with caution; use cupsd -t to validate syntax before restart.
WEB INTERFACE
Access admin panel at http://localhost:631/admin. Requires authentication; enable RemoteAdmin in cupsd.conf for network access.
LOGGING
Logs in /var/log/cups/: access_log, error_log, page_log. Levels controlled via LogLevel directive in config.
HISTORY
Developed by Michael Sweet starting in 1999 as an open-source alternative to proprietary Unix print systems. CUPS 1.0 released in 2001; cupsd evolved with IPP support in CUPS 2.0 (2017). Maintained by OpenPrinting since 2016.


