1. Introduction to Printing in the Oracle Solaris Operating System
Privilege Requirements for Using Print Commands
Overview of the Oracle Solaris Printing Architecture
Available Printing Tools and Services
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
Determining Which Printing Protocol to Use
Selecting the Client-To-Server Network Printing Protocol
Printer URI Formats That Are Supported
Selecting the Server-To-Printer Network Printing Protocol
Description of Solaris Print Manager
Description of the LP Print Service
The LP Print Client-Server Process
Print Client Process Used by the LP Print Service
How the LP Print Service Administers Files and Schedules Local Print Requests
2. Planning for Printing (Tasks)
3. Setting Up Network Printing Services (Tasks)
4. Setting Up and Administering Printers by Using Solaris Print Manager (Tasks)
5. Setting Up Printers by Using LP Print Commands (Tasks)
6. Administering Printers by Using LP Print Commands (Tasks)
7. Customizing LP Printing Services and Printers (Tasks)
8. Administering the LP Print Scheduler and Managing Print Requests (Tasks)
9. Administering Printers on a Network (Tasks)
10. Administering Character Sets, Filters, Forms, and Fonts (Tasks)
11. Administering Printers by Using the PPD File Management Utility (Tasks)
12. Printing in the Oracle Solaris Operating System (Reference)
13. Troubleshooting Printing Problems in the Oracle Solaris OS (Tasks)
This section provides an overview of the print client-server process that is used by the LP print service.
The print server is a system that has a local printer connected to it and makes the printer available to other systems on the network. The following figure highlights the part of the print process in which the print server sends the print request to the printer.
Figure 1-1 The Print Server Sends a Print Request to the Printer
The print client submits a print request.
The print request is processed on the print client.
The print request goes to the print server.
The print request goes to the printer.
The print output is produced on the printer.
A print client is a system that can send print requests to a print server.
The following figure highlights the part of the print process in which the user submits a print request from a print client.
Figure 1-2 The User Submits a Print Request from a Print Client
The following figure illustrates the path of a print request from the time the user initiates the request until the print request is printed.
Figure 1-3 Overview of the Print Client Process
A user submits a print request from a print client.
The print command checks a hierarchy of print configuration resources to determine where to send the print request.
The print command sends the print request directly to the appropriate print server. A print server can be any server that accepts Berkley Software Distribution (BSD) printing protocol, including System V Release 4 (SVR4), or LP print servers and BSD LPD-based print servers, as well as servers that accept IPP.
The print server sends the print request to the appropriate printer.
The print request is printed.
The print request follows the same path it would if the client and server were separate systems. Requests always flow from client to server following the same path.
The following figure shows what happens when a user submits a request to print a PostScript file on a local printer, which is a printer connected to the user's system. The lpsched daemon on the local system does all processing.
This processing might include the following:
Matching the printer and content type
Identifying the default printer, filtering the request
Starting the specified printer interface program
The printer interface program does the following:
Prints the banner page.
Catches printer faults.
Determines the printer fault policy to either reset, continue, or begin the print job over again.
Finally, the interface program uses the lpcat program to download the print request to the local printer's serial port.
Figure 1-4 Local Printing Process
The LP print service has a scheduler daemon called lpsched. The scheduler daemon updates the LP system files with information about printer setup and configuration.
The lpsched daemon schedules all local print requests on a print server, as shown in the following figure. Users can issue the requests from an application or from the command line. Also, the scheduler tracks the status of printers and filters on the print server. When a printer finishes a request, the scheduler schedules the next request n the queue on the print server, if a next request exists.
Figure 1-5 LP Print Service Print Scheduling Process
Without rebooting the system, you can stop the scheduler with the svcadm disable application/print/server command. Then, restart the scheduler with the svcadm enable application/print/server command. The scheduler for each system manages requests that are issued to the system by the lp command.
The following figure shows what happens when a user on a print client submits a print request to an LPD-based print server. The command opens a connection and handles its own communications with the print server directly.
The following figure shows an LPD-based print client submitting a print request to a print server. The lpd daemon handles the local part of the print request and the connection to the print server. On the print server, the inetd process waits for network printing requests and starts a protocol adaptor to service the request. The protocol adaptor communicates with the lpsched daemon, which processes the request on the print server.
Figure 1-6 Remote Print Process
The following figure shows what happens when a user on a print client submits a print request to a Solaris print server. The print command on the print client handles the local part of each print request by communicating directly with the print server.
Figure 1-7 How a Print Request Is Processed
The inetd process on the print server monitors network printing requests and starts a protocol adaptor to communicate with the lpsched daemon on the print server, which processes the print request.