System Administration Guide: Advanced Administration

Expanded Printer Support

In this Solaris release, modifications have been made to incorporate support for a wide array of printers. This functionality differs greatly from previous Solaris software releases. In previous releases, you could only print to printers that understood PostScriptTM natively, or you could only print plain ASCII text. The list of supported printer types, and information about whether these printer types accepted PostScript or ASCII text, was limited. Now, through the use of additional transformation software, raster image processor (RIP), and PostScript Printer Description (PPD) files, you can print to a wider range of printers.

Specific modifications have been made to incorporate the RIP feature and PPD files into the Solaris print subsystem. Two new interface scripts, standard_foomatic, and netstandard_foomatic, were created. These interface scripts provide the generic Solaris interface between the Solaris spooler and the back-end process of the Solaris print server.

The following are examples of the types of printers that can now be supported:

Expanded printer support that is available in this Solaris release includes the following features:

Raster Image Processor Support

The RIP enables you to print to printers that do not have resident PostScript processing capabilities. The Solaris printing software now provides the print server RIP and supporting technologies. The RIP occurs behind the scenes. However, to use the appropriate driver you need to configure each printer, by using either Solaris Print Manager or the lpadmin -n command.

Support for PostScript Printer Description Files

The lpadmin and lpstat commands, as well as the Solaris Print Manager printer definition screens, have been modified to support the use of PPD files.

The following new software packages are associated with this feature:

Modifications to Solaris Print Manager Printer Definition Screens

The Solaris Print Manager printer definition screens have been modified to accommodate the new expanded printer support feature. In this release, you can no longer use Solaris Print Manager to assign the following printer defintions:

The following Solaris Print Manager screens have been modified:

For these screens, Printer Type and File Content Type have been replaced with the following options:

The following table describes the printer definitions that are used by Solaris Print Manager and their availability, depending on which Solaris software release you are running.

Table 2–1 Printer Definitions Used by Solaris Print Manager

Printer Definition 

Available in releases prior to Solaris 9 9/04 

Available in Solaris 9 9/04 release 

Printer Name

Yes 

Yes 

Printer Server

Yes 

Yes 

Description

Yes 

Yes 

Printer Type

Yes 

No, not by default 

File Contents

Yes 

No, not by default 

Printer Make

No 

Yes 

Printer Model

No 

Yes 

Printer Driver

No 

Yes 

Fault Notification

Yes 

Yes 

Options

Yes 

Yes 

User Access List

Yes 

Yes 

Default Printer

Yes 

Yes 

Always Print Banner

Yes 

Yes 

For a detailed description of the printer make, printer model, and printer driver printer definitions, see Setting Definitions for Printers.


Note –

Using PPD files is a per-queue configuration option, and is not a requirement. PPD files are not required for printers that already contain the RIP feature. You can continue to configure these printers the same way that you did for previous Solaris releases.


Reverting to Previous Solaris Print Manager Printer Definition Screens

To maximize performance, Solaris Print Manager only recognizes those PPD files that are in the ppdcache file. If you prefer, you can revert to the previous printer definition screen options used by Solaris Print Manager. To do so, rename the ppdcache file that is located in the /usr/lib/lp/model/ppd/ directory. You must become superuser or assume an equivalent role before renaming this file.

Because the ppdcache file is required by Solaris Print Manager to display the new printer definition screen options, renaming the file reverts Solaris Print Manager to its previous behavior and restores the previous screens.


Note –

You can use the new version of Solaris Printer Manager to modify printers that were added by using the previous version of Solaris Print Manager. However, if you rename the ppdcache file, you cannot modify any printers that were added by using the version of Solaris Print Manager that is included in this Solaris release.


New -n Option to the lpadmin Command

The lpadmin command has a new -n option. This option enables you to specify the PPD file that you want to use to create a new print queue or modify an existing print queue.

For example, if you wanted to add the queue, foobar, to a Lexmark printer, you would type the following command:


# lpadmin -p foobar -v device -I postscript -m standard_foomatic \
-n /usr/lib/lp/model/ppd/Lexmark/Lexmark-Optra_E312-Postscript.ppd.gz

When using the -n option to the lpadmin command, specify the full path and file name to the PPD file, as shown in the previous example.

For more information, see the lpadmin(1M) man page.

Where to Find Information About Supported Printers

Information about supported printers is located in the /usr/lib/lp/model/ppd directory. If the file that is required by your printer is not available, you can add your own PPD file. If you use the lpadmin -n command to create a new print queue, you can store your own PPD files anywhere that you choose. However, if you use Solaris Print Manager to create the print queue. the PPD file must have an entry in the ppdcache file.

A list of supported manufacturers is located in the /usr/lib/lp/model/ppd/manufacturer directory. The output of the ls command lists all the PPD files for a particular printer manufacturer. The names of the files reflect the printer model that is supported.

Specifying Your Own PPD Files

When you use the lpadmin command with the -n option to specify a PPD file, you are required to provide the full path to the PPD file. If you choose to use a PPD file that is located in a different directory, you must specify the full path to that file.

For example, to specify the xyz.pdd PPD file that is located in the user's home directory, you would type the following command:


# lpadmin -p foo -n /home/user/stuff/xyz.ppd -m \
standard_foomatic -I postscript -v /device

Changes to lpstat Command Output When Using PPD Files

If a PPD file was used to create a print queue, the PPD file that the specified queue is configured to use is now listed in the lpstat command output. If you do not specifiy a PPD file when creating a new print queue, the lpstat command continues to display the same output as it did previously.

Compare the differences in the lpstat command output that is shown in the following two examples.

In this example, a PPD file was not specified when the print queue was created. Note that the PPD entry is none.


# lpstat -l -p luna
printer luna is idle. enabled since Wed Apr 14 13:45:24 2004. available.
        Form mounted: 
        Content types: any
        Printer types: unknown
        Description: 
        Connection: direct
        Interface: /usr/lib/lp/model/standard
        PPD: none
        On fault: write to root once
        After fault: continue
        Users allowed:
                (all)
        Forms allowed:
                (none)
        Banner required
        Character sets:
                (none)
        Default pitch:
        Default page size:
        Default port settings:

In this example, the lpstat command output indicates that the print queue was configured by using the PPD file, Mitsubishi-CP50_Color_Printer-cp50.ppd.gz.


# lpstat -l -p paper
printer paper is idle. enabled since Tue 30 Mar 2004 01:48:38 PM PST
			available.
        Form mounted: 
        Content types: any
        Printer types: unknown
        Description: 
        Connection: direct
        Interface: /usr/lib/lp/model/standard_foomatic
        PPD: 
/usr/lib/lp/model/ppd/Mitsubishi/Mitsubishi-CP50_Color_Printer-cp50.ppd.gz
        After fault: continue
        Users allowed:
                (all)
        Forms allowed:
                (none)
        Banner required
        Character sets:
                (none)
        Default pitch:
        Default page size:
        Default port settings# lpstat l p <queue> 

You can use Solaris Print Manager to modify queues that were created without the use of PPD files. In such cases, Solaris Print Manager uses the previous printer definition screen options, which do not contain the printer make, model, and driver.

Limitations of Expanded Printer Support

In some instances, even though you have selected the correct printer make, model, and driver, the output of a print job might be garbled. This problem might occur when you print through a /dev/lp parallel port on a Solaris x86 system. To correct the problem, run the following command:


# lpadmin -p printer -H nopush