This chapter first provides a high-level comparison of the SunSoft Print Client software and the LP print service included in the Solaris operating environment.
The overview next explains how the SunSoft Print Client software processes a print request. It uses an illustration to trace the path of a print request from the time a user submits it until the printer processes it. Each segment of the print process is then described in further detail.
This is a list of the overview information in this chapter.
The SunSoft Print Client software offers several features that make it more powerful and efficient than the LP print service software that is bundled with the Solaris operating environment.
Table 1-1 provides a comparison of features in the bundled LP print service software and SunSoft Print Client software.
Table 1-1 A Comparison of Bundled LP Print Service and SunSoft Print Client Software
You'll be able to administer printing more effectively if you know how the SunSoft Print Client software processes a print request.
Figure 1-1 illustrates the path of a print request from the time the user initiates the request until it is printed.

A user submits a print request from a SunSoft print client by using a SunSoft print client command.
The print client command checks a hierarchy of print configuration resources to determine where to send the print request.
The print client command sends the print request directly to the appropriate print server. A SunSoft print server can be any server that accepts BSD printing protocol, including SVR4 (LP) print servers and BSD print servers (such as the SunOS 4.x BSD print server).
The print server sends the print request to the appropriate printer.
The print request is printed.
This section of the overview focuses on the print client, a system that can send print requests to a print server. The discussion involves the closely related topic of print commands, which enable the print client to initiate print requests.
Figure 1-2 highlights the part of the print process in which the user submits a print request from a SunSoft print client.

A system becomes a SunSoft print client when you install the SunSoft print client software and enable access to remote printers on the system. The SunSoft print client commands have the same names and produce the same output as the Solaris print commands. However, the SunSoft commands perform their tasks using a new method that improves printing performance.
With the SunSoft print client commands, the client system becomes a more effective print client: the commands use a greater number of options to locate printer configuration information, and the client communicates directly with the print server. In the Solaris operating environment, the print client did not have these advantages.
The SunSoft print client commands:
Use more options to locate printer information - The SunSoft print client commands check the following resources to locate printers and printer configuration information:
The command-line interface
A printer alias file in the user's home directory
Local (print client) configuration files
A network (shared) configuration file, if you use a name service
By contrast, the print commands in Solaris use fewer options to locate printer information. Also, the Solaris print commands do not check information on the network--they do not support a name service.
Enable clients to submit requests directly to the print server - The SunSoft print client sends its requests to the print server's queue; the client does not have a local queue. The client writes the print request to a temporary spooling area only if the print server is not available or if an error occurs. This streamlined path to the server decreases the print client's use of resources, reduces the chances for printing problems, and improves performance.
By contrast, the Solaris print commands depend on a local print daemon to communicate with the print server. The Solaris commands write every print request to a local spooling area on the print client and notify another set of processes to transfer the request even if the print server is available and there are no error conditions.
When you install the SunSoft Print Client software on a system, some of the print commands in Solaris are replaced by SunSoft print client commands.
The SunSoft print client commands have the same names, accept the same command-line options, generate the same output, and work with the same tools as the Solaris print commands. Table 1-2 lists the SunSoft print client commands.
Table 1-2 SunSoft Print Client Commands|
Command |
Description |
|---|---|
|
Enables you to submit print requests to a print server |
|
|
Checks print queues and the status of printers |
|
|
Cancels print requests |
|
|
Moves print requests from one printer to another |
For more detailed information about the SunSoft print client commands, see Chapter 5, SunSoft Print Commands Reference.
This section describes the resources that the SunSoft print client commands use to locate printer names and printer configuration information.
The SunSoft print client commands can use a name service, which is a network (shared) resource for storing printer configuration information for all printers on the network. The name service (NIS or NIS+) simplifies printer configuration maintenance: When you add a printer in the name service, all SunSoft print clients on the network can access it.
Figure 1-3 highlights the part of the print process in which the SunSoft print client commands check a hierarchy of printer configuration resources to determine where to send the print request.

The print configuration resources are a key component of the SunSoft Print Client software: They increase printing efficiency because of the method they use to locate printer information. To illustrate the advantages, the next sections compare the Solaris 2.x and SunSoft methods to locate printers.
As shown in Figure 1-4, the print command in the Solaris 2.x (SunOS 5.x) operating environment uses only local resources to locate printers and printer configuration information.

A user submits a print request from an SVR4 print client by using the lp or lpr command. The user can specify a destination printer name or printer class with either the lp -d or lpr -P command and option, as shown in these examples:
% lp -d neptune |
% lpr -P pluto |
The print command locates a printer and printer configuration information.
It checks to see if the user specified a destination printer name or printer class when submitting the print request.
If the user didn't specify a printer name or class, the software checks the SVR4 print client's /etc/lp/default file for a default printer name.
When the print client software finds the printer name or class, or has located a default printer, it checks the SVR4 print client's /etc/lp/printers directory for configuration information on the printer or printer class.
There are two main disadvantages in the Solaris 2.x method to locate printers:
There is no central file for storing printer information. If you want to add, modify, or delete a printer for all print clients on the network, you have to change each client's printer configuration files individually.
You cannot make a master /etc/lp/printers directory with all printers on the network and copy it to print clients.
As shown in Figure 1-5, the SunSoft print client commands use more options to locate printers and printer configuration information.

A user submits a print request from a SunSoft print client by using the lp or lpr command. The user can specify a destination printer name or class in any of three styles:
Atomic style, which is the print command and option followed by the printer name or class, as shown in the next example.
% lp -d neptune |
POSIX style, which is the print command and option followed by server:printer, as shown in the following example.
% lpr -P galaxy:neptune |
Context-based style, as defined in the Federated Naming Service Programming Guide in the Solaris 2.5 Software Developer AnswerBook, shown in the next example.
% lp -d thisorgunit/service/printer/printer-name |
The print command locates a printer and printer configuration information as follows:
It checks to see if the user specified a destination printer name or printer class in one of the three valid styles.
If the user didn't specify a printer name or class in a valid style, the command checks the user's PRINTER or LPDEST environment variable for a default printer name.
If neither environment variable for the default printer is defined, the command checks the .printers file in the user's home directory for the _default printer alias.
If the command does not find a _default printer alias in the .printers file, it then checks the SunSoft print client's /etc/printers.conf file for configuration information.
If the printer is not found in the /etc/printers.conf file, the command checks the name service (NIS or NIS+), if any.
These are the advantages of the SunSoft method to locate printers:
You can use a name service (NIS or NIS+) to store printer information in one central location. This is the single most important feature of the SunSoft Print Client software. If you want to add a printer and make it available to all SunSoft print clients on the network, all you have to do is enter the printer information in the name service. The same principle applies to modifying and deleting printers. The printer information in the name service is available to all SunSoft print clients.
Users can manipulate their .printers file to customize printer information. Even though SunSoft print clients know about the printers that are listed in the name service, you can customize the clients' printer configuration files to use printer aliases and to find only certain printers when canceling print requests or getting status information.
If you don't use a name service, you can still decrease the amount of time it takes to set up and administer printing by creating a master of the /etc/printers.conf file with all printers on the network and copying that file to SunSoft print clients. For further information about using the /etc/printers.conf file, see Chapter 2, Updating SunSoft Print Clients to Access Existing Printers.
The comparison of the Solaris and SunSoft print configuration resources in "Printer Configuration Resources" points out the advantages you can gain by using NIS or NIS+ with the SunSoft Print Client software. A name service provides the most efficient way to add, modify, and delete printer configuration information for a network.
Almost every site can benefit significantly from using a name service. One exception might be a very small network with only a few printers and print clients.
This section of the overview focuses on the print server, a system that has a local printer connected to it and makes the printer available to other systems on the network.
Figure 1-6 highlights the part of the SunSoft print process in which the print server sends the print request to the printer.

The SunSoft print client commands use the BSD printing protocol. One of the big pluses of this protocol is that it can communicate with a variety of print servers:
Any other print server or printer that accepts the BSD printing protocol
The BSD printing protocol is an industry standard. It is widely used and it provides compatibility between different types of systems from various manufacturers. Sun has chosen to support the BSD printing protocol to provide interoperability in the future.
By comparison, the print commands in Solaris support both the BSD and System V printing protocols. System V protocol is not as widely used and it does not provide compatibility with BSD print servers.
If you need to update SunSoft print clients to access existing printers at your site, go to Chapter 2, Updating SunSoft Print Clients to Access Existing Printers, for step-by-step instructions.
If you are setting up new printers with SunSoft Print Client software, see Chapter 3, Setting Up SunSoft Print Client Software With Printer Manager, for information on setting up printing at your site.