|Skip Navigation Links|
|Exit Print View|
|System Administration Guide: Printing Oracle Solaris 11 Express 11/10|
CUPS is now the default print service in the Oracle Solaris release, replacing the LP print service. Oracle Solaris support for CUPS includes a native GUI, which can be accessed from the GNOME Desktop, and a web browser interface. Similar print administration tasks can be performed by using either tool.
CUPS is a modular, open-source printing system that uses the Internet Printing Protocol (IPP) as the basis for managing printers, print requests, and print queues. In addition, CUPS supports network printer browsing and PostScript Printer Description-based printing options. CUPS also provides a common printing interface across a local network.
IPP is the standard protocol for printing on a network. Similar to other IP-based protocols, IPP can be used locally or over the Internet to communicate with remote printers. Unlike other protocols, IPP also supports access control, authentication, and encryption, making it a much more capable and secure printing solution than other protocols. IPP is layered on top of the Hypertext Transfer Protocol (HTTP). HTTP is the basis for web servers that are on the Internet. When IPP is in use, you can check printer or server status information and manage printers and print jobs through a browser. CUPS is a complete IPP/1.1 based printing system that provides basic, digest, and local certificate authentication and user, domain, or IP-based access control.
CUPS also includes support for dynamic printer detection and grouping. CUPS replaces the lpr command with its own command and the LPD printer drivers with its own print drivers. CUPS is similar to the LP print service in that it uses PostScript format as its underlying language for page descriptions. Because CUPS provides both the System V and Berkeley print commands, users (and applications) can use CUPS with little or no changes to existing configuration.
Lastly, CUPS includes application-level interfaces that are used by many open-source applications and toolkits. On the back end, CUPS includes the necessary interfaces for processing the annotated raster image format (RIP). Support for this format and these interfaces is integrated into other critical open-source print driver technologies. Several printer vendors support or have begun to use these interfaces to support their printers on open-source platforms.
The Hardware Abstraction Layer (HAL) and the hal-cups-utils utility recognize USB printer hot-plug events and automatically creates print queues under CUPS for these printers. In addition, CUPS supports printer discovery by using the mDNS framework (Bonjour) and SNMP. CUPS can discover printers that are shared by other CUPS servers through the CUPS browsing feature. More information can be found at http://www.cups.org/documentation.php/doc-1.4/sharing.html#AUTO_CUPS.
To begin using CUPS to manage your printing environment, you must first create a print queue under CUPS.
You can create a new print queue in one of the following ways:
Use the lpadmin command to manually create the print queue.
For more information, see thelpadmin(1cups) man page.
Use the CUPS GUI (system-config-printer), which can be accessed from the GNOME Desktop.
Use the CUPS web browser interface, which can be accessed by going to http://localhost:631/admin.
Physically connect a USB printer to your local system.
If the CUPS print service enabled on your system, HAL can recognize new printers that are connected to your local system. The hal-cups-utils utility automatically creates a print queue for the new printer.
For network print queues, have the CUPS “browse feature” enabled (the default) on your system. If another system on the network advertises an available printer on the remote system, CUPS detects the printer, and a new print queue is created.
Most of the time, the print queue points to a printer that is connected directly to your desktop or laptop through a USB port or a parallel port. However, CUPS can also point to a printer on the network, a printer on the Internet, or multiple printers, depending on how you have configured the application. Regardless of where it points, the print queue is treated like any other printer.
Every time you submit a print request, CUPS creates a print job that contains information about the print queue to which you are sending the request, the name of the document, and the page description. Print jobs are numbered, for example, queue-1, queue2, and so forth, so that you can monitor each print job as it is printed or cancel the print job, if necessary. When CUPS receives a print request, it determines which programs to use (filters, print drivers, port monitors, and back-end programs) to convert the request into a printable format. CUPS then runs these programs to complete the print job. When the print job has completed, CUPS then removes the job from the print queue, then it prints the next job that is submitted. You can configure CUPS to notify you when a print job has completed or if any errors occur during printing.
Starting with the Oracle Solaris 11 Express release, CUPS is the default print service. However, if you choose to use Print Manager for LP, Oracle Solaris Print Manager, or LP print commands manage your printing environment, you must switch CUPS to the LP print service by using the new print-service command. The print-service command enables you to switch between print services. Note that changing the active print service requires you to run commands as the root user or as a user with Printer Management privileges.
You can also use the print-service command to determine which print service is currently active on your system by typing the following command:
$ print-service -q active print service: cups
To change the active print service, for example, from CUPS to the LP print service, become superuser. Type the following commands:
$ su root # print-service -s lp # print-service -q active print service: lp
To change the active print service back to CUPS, you would type:
# print-service -s cups
Note - In addition to switching from the CUPS print service to the LP print service, you must also install any required software packages, as well the enable any relevant SMF services. For more information, see Switching From CUPS to the LP Print Service and the print-service(1M) man page.
CUPS services are provided through two new Service Management Facility (SMF) services:
This service runs the cupsd daemon. This daemon provides basic printing services that include queueing, filtering, spooling, notification, IPP support, device enumeration, and web management.
This service runs the cupd-lpd daemon. This daemon provides basic RFC-1179 (LPD protocol) support for the CUPS service.
The Printer Management profile and the solaris.smf.manage.cups authorization enable users who do not have a root login to manage these SMF services.
Note - These services are marked as incompatible with their corresponding LP services and do not run if the corresponding LP services are running. The SMF services are not intended to be manipulated directly. The print-service command must be used to switch between the available services.
Starting with the Oracle Solaris 11 Express release, the CUPS and the LP print services are managed by SMF. The SMF services that manage CUPS are enabled by default.
CUPS SMF services are the following:
The SMF services that manage the LP print service are as follows:
The following table describes each CUPS SMF service and its LP equivalent.
The following LP SMF services do not have a CUPS equivalent:
svc:/application/print/ppd-cache-update – This service is not necessary when CUPS is in use because the CUPS management tools do not utilize the printmgr ppd cache.
svc:/network/device-discovery/printers:snmp – This service is not necessary when CUPS is in use because CUPS has its own network-attached printer discovery mechanism.
Note - All of the SMF services that manage the LP print service are enabled when you install the appropriate software packages and then switch the active print service to LP by using the print-service command. The only exception is the svc:/network/device-discovery/printers:snmp service. This SMF service controls network-attached printer discovery for the LP print service. In this Oracle Solaris release, the service must be manually enabled by using the svcadm command. However, CUPS does not use this service because it has its own network-attached printer discovery mechanism. For more information, see the svcadm(1M) man page.
The complete set of CUPS documentation is accessible from a CUPS server on a host that is running CUPS. To access the documentation, go to http://localhost:631/help.
See also the following CUPS documentation resources: