|Skip Navigation Links|
|Exit Print View|
|System Administration Guide: Printing Oracle Solaris 11 Express 11/10|
This section describes new and changed printing features in this Oracle Solaris release.
The Common UNIX Printing System (CUPS) has integrated into Oracle Solaris and is now the default print service, replacing the LP print service. CUPS is a modular printing system that enables a system to function both as a print server and a print client. A system that is running CUPS becomes a host that can accept print requests from client systems, process those requests, then send them to the appropriate printer.
To facilitate CUPS support in Oracle Solaris, the following enhancements have been introduced:
A new print-service command, which provides a mechanism for switching between the CUPS print service and the LP print service.
Note - If you want to use Oracle Solaris Print Manager, LP print commands, or Print Manager for LP to manage your printing environment, you must install any required software packages, then activate the LP print service by using the print-service command. For more information, see Switching From CUPS to the LP Print Service and the print-service(1M) man page.
Two new Service Management Facility (SMF) services:
svc:/application/cups/scheduler – This service controls the cupsd daemon. This daemon provides basic printing services including, queueing, filtering, spooling, notification, IPP support, device enumeration, and web management.
svc:/application/cups/in-lpd – This service controls the cupd-lpd daemon. This daemon provides basic RFC-1179 (LPD protocol) support for CUPS.
The Printer Management profile and the solaris.smf.manage.cups authorization enable users who do not have superuser privileges to manage these SMF services.
Note - These services are marked as incompatible with their corresponding LP services and will not run if the corresponding LP services are running.
For more information, see Chapter 3, Setting Up and Administering Printers by Using CUPS (Tasks)
Because CUPS is the default print service in this release, when you choose System -> Administration -> Print Manager from the GNOME Desktop, the CUPS Print Manager (system-config-printer) graphical user interface (GUI) is started instead of the Print Manager for LP. To use the Print Manager for LP, the LP print service must be the active print service on your system. For more information, see Switching From CUPS to the LP Print Service.
Also note that in this Oracle Solaris release, you can no longer start Oracle Solaris Print Manager from the desktop. However, you can start the application from the command-line. For information about how to start Oracle Solaris Print Manager from the command-line, see How to Start Oracle Solaris Print Manager.
The Print Manager for LP is a GUI that you can use to set up and administer printers from the desktop. You can start the Print Manager for LP application from the Main Menubar on the GNOME desktop panel, provided that required software packages have been installed and the LP print service is active. For more information, see Switching From CUPS to the LP Print Service.
Oracle Solaris can automatically discover locally attached and network-attached printers. This service is implemented through the Hardware Abstraction Layer (HAL), a feature that has the capability to detect SNMP capable printers on a on network where an Oracle Solaris host is attached. The hardware abstraction layer (HAL) daemon, hald, provides a view of devices that are attached to a local system. This view is updated automatically as a system's hardware configuration changes, by hot-plugging or other methods. This functionality is managed by the Service Management Facility (SMF) and can be enabled by using the svcadm command. Authorizations that are required to use this feature have been added to the Print Management user profile.
The following types of support are available:
Detection – Enables the system to discover USB printers that are physically connected to (or disconnected from) a local system
Configuration – Enables you to configure certain properties of directly attached USB printers
Notification – Lets you know when a printer has been connected or disconnected from the local system.
Both the Print Manager for LP and the CUPS Print Manager rely on HAL for autodetection of directly attached printers.
The design of the Open Standard Print API (PAPI) implementation in the Oracle Solaris release makes it no longer necessary for applications, toolkits, and print commands to run with elevated privilege to interact with print services.
As a result, the following print commands are no longer installed SUID root:
Previously, these commands were installed SUID root because the commands required an elevated privilege for the following purposes:
Opening a reserved port
Allocating a sequential job-id number
Manipulating files in the /var/spool/print directory
This functionality is now localized in a small helper application, /usr/lib/print/lpd-port. As a result, any applications that use the RFC-1179 PAPI support no longer require elevated privilege. The lpd-port helper application contains minimal support for passing RFC-1179 protocol requests on a reserved port and allocating sequential job-id numbers. Although the helper application is installed SUID root, all elevated privileges are dropped until they are required. When necessary, the privilege is elevated for the required operation and then permanently dropped if the elevated privilege is no longer required. In Oracle Solaris, this process is accomplished through the use of privileges. On other platforms, the process is accomplished by using the setuid, seteuid, or setreuid functions.
If you have local printers that you do not want to share on the network, you can safely disable the printing network listeners. If you are running Oracle Solaris, or a CUPS server, the lpstat command provides you with more information about remote print queues and print jobs, as well as their capabilities when using IPP to communicate with those servers.
When IPP is in use, and with the proper authorization, the following operations can be performed on remote print queues and print jobs:
Also, you can now move print requests between queues on a print server and modify print requests remotely when IPP is in use.
For more information, see the privileges(5) man page. See also Administering Printers on a Network When Using IPP (Task Map).