This chapter provides information about managing printers in the Solaris environment.
This is a list of the overview information in this chapter.
This section describes new printing features in the Solaris 9 release.
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.
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.
You can manage printer information in the following name services in this Solaris release:
LDAP
NIS
NIS+
NIS+ with Federated Naming Service (xfn)
files
Keep the following in mind when managing printer information in the LDAP name service:
If the LDAP server is the NetscapeTM Directory Server (NSDS), the default distinguished name is cn=Directory Manager. If the LDAP server is SunTM Directory Server, the distinguished name might be something like cn=admin, dc=xyz, dc=com. Solaris Print Manager uses the ldapclient command to determine the default LDAP server name. If there is more than one server specified, the first one is automatically selected. For more information, see ldapclient(1M).
Solaris Print Manager always displays printer entries from the current LDAP server. If this is not the domain's LDAP master server, the list of printers displayed may not be the current list of printers. This is because the LDAP replica server might not have been updated by the master server, and so, is out of sync with the master. Replica servers can have various update replication agreements. For example, when there is a change on the master, the replica servers can be updated immediately or updated once a day.
If the selected LDAP server is a LDAP replica server, any updates are referred to the master server and done there. This again means the printer list could be out of sync with the master. For example, a deleted printer might still appear in the displayed printer list until the replica is updated from the master.
Users can use the LDAP command line utilities, ldapadd and ldapmodify, to update printer entries in the directory, but this is not recommended. If these utilities are used, the user must ensure that the printer-name attribute value is unique within the ou=printers container. If it is not unique, the result of modifications done by Solaris Print Manager, or the lpset command, might not be predictable.
Printer Task |
For More Information |
---|---|
Set up printers with Solaris Print Manager and the lp commands | |
Administer printers with the lp commands after they are setup | |
Manage character sets, filters, forms, and fonts |
Chapter 6, Managing Character Sets, Filters, Forms, and Fonts (Tasks) |
Customize the LP print service |
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:
Solaris Print Manager, a graphic user interface, provides the ability to manage printing configuration on a local system or in a name service.
The LP print service commands, a command line interface used to set up and manage printers on a local system or in a name service. They also provide functionality above and beyond the other print management tools.
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:
No support for print servers defined as s5 (the System V print protocol) in previous Solaris releases.
No print filtering on print clients.
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).
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:
user - Represents the user's $HOME/.printers file
files - Represents the /etc/printers.conf file
nis - Represents the printers.conf.byname table
For more information, see nsswitch.conf(4) and System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
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 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.
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).
After you set up print servers and print clients, there are a number of administration tasks you might need to perform frequently:
Delete a printer and remote printer access
Check the status of printers
Restart the print scheduler
For step-by-step instructions on how to perform the printer administration tasks, see Chapter 5, Administering Printers (Tasks).
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).
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).
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:
Adjust the printer port characteristics
Adjust the terminfo database
Customize the printer interface program
Create a print filter
Define a form
For detailed descriptions and step-by-step instructions to customize the LP print service, see Chapter 7, Customizing the LP Print Service (Tasks).
This section provides an overview of how Solaris printing works.
The following figure 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 lpd-based print servers.
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 following figure 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 by 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 user's $HOME/.printers file
The local /etc/printers.conf file for the NIS name service
The LDAP or NIS name service database
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 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.
As shown in the following figure, 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 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 |
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.
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.
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:
lpd-based print servers
SunOS 5.9 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).