This section provides an overview of how Solaris printing works.
The figure below 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 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 BSD printing protocol, including SVR4 (LP) print servers and BSD print servers (such as the SunOS 4.1 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, and print commands, which enable the print client to initiate print requests.
The figure below highlights the part of the print process in which the user submits a print request from a print client.
A system becomes a print client when you install the Solaris print software and enable access to remote printers on the system.
The Solaris print software checks the following resources to locate printers and printer configuration information:
The command-line interface using the lp -d command (atomic or POSIX format)
A user's LPDEST or PRINTER variables
The _default variable in the sources configured for the printers database in the /etc/nsswitch.conf file
The $HOME/.printers file for users
The local /etc/printers.conf file for the NIS name service
The printers.org_dir table for the NIS+ name service
FNS printing contexts for the NIS+ (xfn) name service
The 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.
This section describes the resources that the print software use to locate printer names and printer configuration information.
The print software 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, NIS+, or NIS+ (xfn)) simplifies printer configuration maintenance: When you add a printer in the name service, all print clients on the network can access it.
The figure below highlights the part of the print process in which the print software checks a hierarchy of printer configuration resources to determine where to send the print request.
As shown in the figure below, the print software use more options to locate printers and printer configuration information.
A user submits a print request from a 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 this example.
% lp -d neptune filename |
POSIX style, which is the print command and option followed by server:printer, as shown in the following example.
% lpr -P galaxy:neptune filename |
Context-based style, as defined in the Federated Naming Service Programming Guide, shown in this example.
% lpr -d thisdept/service/printer/printer-name filename |
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 sources configured for the printers database in the /etc/nsswitch.conf file.
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. The figure below highlights the part of the print process in which the print server sends the print request to the printer.
The print commands use the BSD printing protocol. One of the big advantages of this protocol is that it can communicate with a variety of print servers:
SunOS 4.1 BSD (LPD) print servers
SunOS 5.8 and compatible SVR4 (LP) 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.
Go to Chapter 4, Setting Up Printers (Tasks) for step-by-step instructions on setting up new printers with Solaris Print Manager. If you need printer planning information, see Chapter 3, Planning Printers on Your Network (Overview).