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.
Note | 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 http://www.sybex.com. A URI can point to more things, such as , 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 www.easysw.com.