System Administration Guide: Advanced Administration

Chapter 2 Managing Printing Services (Overview)

This chapter provides information about managing printers in the Solaris environment.

This is a list of the overview information in this chapter.

What's New in Printing?

This section describes new printing features in the Solaris 9 release.

Changes to LP Scheduler (lpsched)

In previous Solaris releases, the lpsched process was automatically started at system boot time whether or not there were local printers configured on the system.

In this Solaris release, the lpadmin command automatically starts the lpsched process when local printers are added to the system and stops it when the last local printer is removed.

This change does not alter either the use of or the administration of the print subsystem from the perspective of print clients. The lpsched process is not running on systems that do not have local printers configured. This does not effect the ability to print nor the ability to configure new printers.

USB Printer Support

You can use Solaris Print Manager to set up a USB printer that is attached to a SPARC or IA system with USB ports.

The new logical device names for USB printers are:


/dev/printers/[0...N]*  

When you add a USB printer to a printer server, select one of these devices for a USB printer under Printer Port on the Add New Attached Printer screen. For more information on using Solaris Print Manager to set up printers, see Chapter 4, Setting Up Printers (Tasks).

Although the new Solaris USB printer driver supports all USB printer-class compliant printers, a list of recommended PostScriptTM printers is in the usbprn(7D) man page.

The usbprn driver is compliant with non-PostScript printers that utilize third-party PostScript conversion packages like GhostScript. You can obtain conversion packages from the Solaris Software Companion CD, available at http://www.sun.com/software/solaris/binaries/package.html.

For information and cautions about hot-plugging USB printers, see the Notes and Diagnostics sections of the usbprn(7D) man page.

Managing Printer Information With LDAP

You can manage printer information in the following name services in this Solaris release:

Keep the following in mind when managing printer information in the LDAP name service:

Where to Find Printer Tasks

Printer Task 

For More Information 

Set up printers with Solaris Print Manager and the lp commands 

Chapter 4, Setting Up Printers (Tasks)

Administer printers with the lp commands after they are setup 

Chapter 5, Administering Printers (Tasks)

Manage character sets, filters, forms, and fonts 

Chapter 6, Managing Character Sets, Filters, Forms, and Fonts (Tasks)

Customize the LP print service 

Chapter 7, Customizing the LP Print Service (Tasks)

Printing in the Solaris Operating Environment

The Solaris printing software provides an environment for setting up and managing client access to printers on a network.

The Solaris printing software contains these components:

Even if you do use Solaris Print Manager to set up printing, you will have to use some of the LP commands to completely manage printing in the Solaris environment. For more information, see Chapter 5, Administering Printers (Tasks).

The Solaris print software limitations include the following:

Solaris Print Manager

Solaris Print Manager is a Java-based graphical user interface that enables you to manage local and remote printer configuration. This tool can be used in the following name service environments: NIS, NIS+, NIS+ with Federated Naming Service (xfn), and files. You must be logged in as superuser to use this tool.

Using Solaris Printer Manager is the preferred method for managing printer configuration information. It is preferred over Admintool: Printers because it centralizes printer information when used in conjunction with a name service. Using a name service for storing printer configuration information is desirable because it makes printer information available to all systems on the network, making printing administration easier.

Solaris Print Manager recognizes existing printer information on the printer servers, print clients, and in the name service databases. There are no conversion tasks required to use Solaris Print Manager as long as the print clients are running either the Solaris 2.6, Solaris 7, Solaris 8, or Solaris 9 releases.

The Solaris Print Manager package is SUNWppm.

For step-by-step instructions on setting up new printers with Solaris Print Manager, see Chapter 4, Setting Up Printers (Tasks).

Printing Support in the Name Service Switch

The printers database in /etc/nsswitch.conf, the name service switch file, provides centralized printer configuration information to print clients on the network.

By including the printers database and corresponding sources of information in the name service switch file, print clients automatically have access to printer configuration information without having to add it to their own systems.

The default printers entry in the /etc/nsswitch.conf file for files, LDAP, NIS, and NIS+ environments are described in the following table. The nisplus keyword represents the printers.org_dir table. The xfn keyword represents the FNS printer contexts.

Name Service Type 

Default printers Entry

files

printers: user files

ldap

printers: user files ldap

nis

printers: user files nis

nis+

printers: user nisplus files xfn

For example, if your name service is NIS, printer configuration information on print clients is looked in the following sources in this order:

For more information, see nsswitch.conf(4) and System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

Choosing a Method to Manage Printers

Adding printer information to a name service makes access to printers available to all systems on the network and generally makes printer administration easier because all the information about printers is centralized.

Name Service Configuration 

Actions to Centralize Printer Information 

Use a name service 

Adding the printer to the LDAP, NIS, NIS+, or NIS+ (xfn) database makes the printer available to all systems on the network. 

Don't use a name service 

Adding the printer adds the printer information to the printer server's configuration files only. Print clients will not know about the printer automatically. 

You will have to add the printer information to every print client that needs to use the printer. 

The following table describes the major printer-related tasks and the tools available to perform the printing tasks.

Table 2–1 Solaris Printing Component Features

Component 

Availability 

Graphical User Interface? 

Configures Network Printers? 

Manages Print Clients and Servers? 

Uses LDAP, NIS, NIS+, or NIS+ (xfn)? 

Solaris Print Manager 

Solaris 9 and compatible versions and Solaris Easy Access Server 3.0 

Yes 

Yes 

Yes 

Yes 

Admintool 

Solaris 9 and compatible versions 

Yes 

No 

Yes 

No 

LP commands  

Solaris 9 and compatible versions 

No 

Yes 

Yes 

Yes 

After using the table above to determine which printing tool is best for your network environment, see Chapter 4, Setting Up Printers (Tasks) for printer setup information.

Most printing configuration tasks can be accomplished with Solaris Print Manager. However, if you have special needs, such as writing interface scripts or adding your own filters, you can use the LP print service commands, which underlie Solaris Print Manager. Performing printing administration tasks with LP commands are described in Chapter 5, Administering Printers (Tasks).

The LP Print Service

The LP print service is a set of software utilities that allows users to print files while they continue to work.

For background information about the LP print service, see Chapter 8, LP Print Service (Reference).

Other LP print service topics covered and their chapter references are described in the following sections.

Managing Network Printers

A network printer is a hardware device that is connected directly to the network. It transfers data directly over the network to the output device. The printer or network connection hardware has its own system name and IP address.

Network printers often have software support provided by the printer vendor. If your printer has printer vendor supplied software, then use the printer vendor software. If the network printer vendor does not provide software support, Sun supplied software is available. This software provides generic support for network attached printers, but is not capable of providing full access to all possible printer capabilities.

For step-by-step instructions on setting up a network printer, see Chapter 4, Setting Up Printers (Tasks).

Administering Printers

After you set up print servers and print clients, there are a number of administration tasks you might need to perform frequently:

For step-by-step instructions on how to perform the printer administration tasks, see Chapter 5, Administering Printers (Tasks).

Setting Definitions for Printers

Establishing definitions for the printers on your network is an ongoing task that lets you provide a more effective print environment for users. For example, you can assign printer descriptions for all your site's printers to help users find where a printer is located, or you can define a class of printers to provide the fastest turnaround for print requests.

For information on setting up printer definitions, see Chapter 3, Planning Printers on Your Network (Overview).

Administering Character Sets, Filters, Forms, and Fonts

Depending on your site's requirements and the types of printers you have on the network, you might have to set up and administer printer-specific features of the LP print service. For example, you can assign different print wheels, filters, and forms to different printers. For background information and step-by-step instructions on how to set up character sets, print filters, forms, and fonts, see Chapter 6, Managing Character Sets, Filters, Forms, and Fonts (Tasks).

Customizing the LP Print Service

Although the LP print service is designed to be flexible enough to handle most printers and printing needs, it does not handle every possible situation. You might have a print request that is not accommodated by the standard features of the LP print service. Or you can have a printer that does not quite fit into the way the LP print service handles printers.

You can customize the LP print service in the following ways:

For detailed descriptions and step-by-step instructions to customize the LP print service, see Chapter 7, Customizing the LP Print Service (Tasks).

The Solaris Print Client-Server Process

This section provides an overview of how Solaris printing works.

The Print Client Process

The following figure illustrates the path of a print request from the time the user initiates the request until it is printed.

Figure 2–1 Overview of the Print Client Process

Graphic

  1. A user submits a print request from a print client.

  2. The print command checks a hierarchy of print configuration resources to determine where to send the print request.

  3. 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 lpd-based print servers.

  4. The print server sends the print request to the appropriate printer.

  5. The print request is printed.

Using Print Clients

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 following figure highlights the part of the print process in which the user submits a print request from a print client.

Figure 2–2 The User Submits a Print Request from a Print Client

Graphic

What Is 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 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.

Printer Configuration Resources

This section describes the resources that the print software uses 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 (LDAP, 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 following figure 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.

Figure 2–3 The Print Client Checks Resources to Locate Printers

Graphic

How the Print Software Locates Printers

As shown in the following figure, the print software use more options to locate printers and printer configuration information.

Figure 2–4 How the Print Client Software Locates Printers

Graphic

  1. 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 lp 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 shown in this example.


      % lpr -d thisdept/service/printer/printer-name filename
      
  2. 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.

Using Print Servers

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 2–5 The Print Server Sends a Print Request to the Printer

Graphic

The BSD Printing Protocol

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:

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.

Where to Go From Here

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).