Skip Navigation Links | |
Exit Print View | |
System Administration Guide: Printing Oracle Solaris 11 Express 11/10 |
1. Introduction to Printing in the Oracle Solaris Operating System
CUPS Replaces the LP Print Service as the Default Print Service
Overview of the Oracle Solaris Printing Architecture
Implementation of the Open Standard Print API
Definition of a Print Server and a Print Client
Description of the Internet Printing Protocol
Description of the RFC-1179 Printing Protocol
IPP Compared to the RFC-1179 Protocol
Description of the SMB Protocol
Using Printing Protocols in the Oracle Solaris Release
CUPS Support in Oracle Solaris
Description of Oracle Solaris Print Manager
Description of the LP Print Service
2. Planning for Printing (Tasks)
3. Setting Up and Administering Printers by Using CUPS (Tasks)
4. Setting Up and Administering Printers by Using Print Manager for LP (Tasks)
5. Setting Up and Administering Printers by Using Oracle Solaris Print Manager (Tasks)
6. Setting Up Printers by Using LP Print Commands (Tasks)
7. Administering Printers by Using LP Print Commands (Tasks)
8. Customizing LP Printing Services and Printers (Tasks)
9. Administering the LP Print Scheduler and Managing Print Requests (Tasks)
10. Administering Printers on a Network (Tasks)
11. Administering Character Sets, Filters, Forms, and Fonts (Tasks)
12. Administering Printers by Using the PPD File Management Utility (Tasks)
13. Printing in the Oracle Solaris Operating System (Reference)
14. Troubleshooting Printing Problems in the Oracle Solaris OS (Tasks)
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:
/usr/bin/lp
/usr/bin/lpstat
/usr/bin/cancel
/usr/bin/lpmove
/usr/{ucb|bin}/lpr
/usr/{ucb|bin}lpq
/usr/{ucb|bin}/lprm
/usr/lib/print/printd
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:
accept
reject
enable
disable
move job
modify job
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).