Using the Internet Print Protocol

In the past, Unix and allied systems such as Linux did not do a very consistent job with printer interfaces. As companies such as AT&T, HP, and Sun created their own versions of Unix, they also created proprietary print interfaces. While Linux did well to adapt the LPD packages, the evolving industry standard is based on the Internet Print Protocol (IPP).

CUPS is the Linux and Unix way of working with IPP. It was developed by Novell and Xerox with four goals in mind ”to enable users to:

  • Find available printers on a network

  • Send print jobs to an IPP-configured printer

  • Read the status of their print jobs

  • Cancel any print jobs they may have created

CUPS allows you to send print jobs to a specific URI, such as parallel:/dev/lp0 .


A URI is a Uniform Resource Identifier. You re probably more familiar with URLs (Uniform Resource Locators), which are a subset of URIs. As you know, a URL is used in web browsers to point to sites such as or . A URI can point to more things, such as mailto:abc@def.ghi , smb://comp1/printername , or parallel:/dev/lp1 .

CUPS implements IPP in a number of different ways. Several of the standards, as shown in Table 25.1, probably seem familiar to those of you who know LPD. The standard actions shown are far from a comprehensive list. More detailed information is available from the developers of CUPS, Easy Software Products, at .

Table 25.1: CUPS Functionality




Sends a file to a printer at a specific URI


Makes sure that a job has the right priority, printer, etc.


Sets up an empty print job


Sends a file for processing as a print job


Cancels a print job


Stops action by a printer


Resumes action by a printer


Clears jobs from a printer s spool

In addition, CUPS includes a number of administrative functions over and above the standard LPD system. Some of these functions are shown in Table 25.2. Once again, this is not a comprehensive list.

Table 25.2: Special CUPS Functions




Finds the URI for the default printer


Finds the URIs for all printers configured on the network with CUPS


Adds or modifies a printer through CUPS


Deletes a printer from a CUPS class


Finds the types of printers available in each CUPS class


Adds a new printer class, or modifies an existing CUPS printer class


Deletes an existing class of CUPS printers


Sets a specific printer or print class to start accepting print jobs


Sets a specific printer or print class to start rejecting print jobs

With these basic concepts in mind, you re ready to learn how to configure CUPS on your computer and network.


Mastering Red Hat Linux 9
Building Tablet PC Applications (Pro-Developer)
ISBN: 078214179X
EAN: 2147483647
Year: 2005
Pages: 220 © 2008-2017.
If you may any questions please contact us: