CUPS printing overview

On Linux, the CUPS printing system consists of the following elements:


This daemon is started at boot time and runs continuously, listening for print requests directed at multiple printers. When a job is submitted to a print queue, cupsd handles jobs on that queue. The copy exits when the queue is emptied.


This file configures the cupsd daemon. It is normally located in the /etc/cups directory.

Each line in the file can be a configuration directive, a blank line, or a comment. The configuration directives are intentionally similar to those used by the popular Apache web server software.


This file defines available local printers. It is generated automatically by cupsd when printers are added, deleted, or changed. This file shouldn’t be changed manually.


This file is still present on the system to allow older printing applications that rely on it to keep functioning. Under CUPS, the file is automatically generated by cupsd from the /etc/cups/printers.conf file. All changes to the file are lost if the CUPS service is restarted.


The lp (line print) program submits both files and information piped to its standard input to print queues.


This program queries and displays the status and contents of print queues.


This program removes print jobs from print queues.


This program configures printer and class queues provided by CUPS. It can also be used to set the server default printer or class.


Nowadays, ...

Get LPI Linux Certification in a Nutshell, 3rd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.