Skip Navigation Links | |
Exit Print View | |
System Administration Guide: Printing Oracle Solaris 11 Express 11/10 |
1. Introduction to Printing in the Oracle Solaris Operating System
2. Planning for Printing (Tasks)
3. Setting Up and Administering Printers by Using CUPS (Tasks)
4. Setting Up and Administering Printers by Using Print Manager for LP (Tasks)
5. Setting Up and Administering Printers by Using Oracle Solaris Print Manager (Tasks)
6. Setting Up Printers by Using LP Print Commands (Tasks)
7. Administering Printers by Using LP Print Commands (Tasks)
8. Customizing LP Printing Services and Printers (Tasks)
9. Administering the LP Print Scheduler and Managing Print Requests (Tasks)
10. Administering Printers on a Network (Tasks)
11. Administering Character Sets, Filters, Forms, and Fonts (Tasks)
12. Administering Printers by Using the PPD File Management Utility (Tasks)
13. Printing in the Oracle Solaris Operating System (Reference)
Oracle Solaris Print Manager and Special Characters
Functions of the LP Print Service
LP Print Service Configuration Files
Printer Names in the terminfo Database
Required terminfo Items For a Printer
How the Printer Interface Program Works
Support for the Use of PPD Files To Set Up Printers
Raster Image Processor Support
Support for PostScript Printer Description Files
Where to Find Information About Supported Printers and Available PPD Files
Description of the Printer Driver Field in Oracle Solaris Print Manager
Description of the Command-Line Options for the ppdmgr Utility
How the PAPI Is Implemented in the Oracle Solaris OS
14. Troubleshooting Printing Problems in the Oracle Solaris OS (Tasks)
This section contains reference information for managing PPD files.
Note - Starting with the Oracle Solaris 11 Express release, CUPS is the default print service. The PPD File Management utility (ppdmgr) cannot be used with CUPS. However, if you switch the active print service to the LP print service by using the new print-service command, you can use the ppdmgr utility.
When the ppdmgr utility is used to add a PPD file to the system, a compressed (gzipped) copy of the specified PPD file is stored on the system. The purpose is to maintain a current cache of PPD file information from all known PPD files on the system.
The full path of the PPD file that is copied to the system follows:
repository/label/manufacturer/ppd-file-name
Is the specified repository. If no repository is specified by using the -R option, the default repository is the user repository, /var/lp/ppd/.
Is the specified label. If no label is specified by using the -L option, the default label is user, within the user repository.
Is the manufacturer's name that is contained within the PPD file. This name might be modified according to the manufacturer aliases that are defined in the /var/lp/ppd/manufaliases file. See Manufacturer Aliases File.
Is the same as the original PPD file name that is specified with the ppdmgr utility. This file can also contain the .gz extension if the PPD file is compressed.
The following figures show the layout of a typical PPD file repository and the ppdmgr utility directory layout, which contains all relevant ppdmgr delivered and generated files, including the PPD user file repository.
Figure 13-1 PPD File Repository Layout
The following table describes the PPD file repositories that are located on a system.
Table 13-12 Description of the PPD File Repositories
|
Caution - The location of the PPD files and the ppdcache file is private and is therefore subject to change. Do not build software that relies on these files being in their current location or the data being in its current format. |
On a system that is running the Oracle Solaris software, PPD files can be stored default label directories. You can also specify a label of your own choosing to organize PPD files, as long as the label is not reserved by the system.
The following label names are reserved:
caches
ppdcache
manufaliases
all
With the exception of the all label name, these label names cannot be specified by using either the -L or -R options of the ppdmgr utility. However, you can specify the all label name with the -L or the -R option when using the -r and -u options. Any label name that begins with SUNW is reserved for use by Oracle, but is not prohibited.
If you add a PPD file to a system and specify a label that does not exist, a directory with that label name is created in the specified repository. By default, if no PPD file repository is specified, this directory is /var/lp/ppd/label. For more information about specifying labels when you add PPD files to a system, see Description of the Command-Line Options for the ppdmgr Utility.
The Printer Driver field in Oracle Solaris Print Manager is displayed when you select the Add New Printer (attached or network) or Modify Printer Attributes (attached or network) menu options. This field contains printer driver descriptions from the PPD cache file, based on the printer model that you select. To distinguish between duplicate printer driver descriptions that have different labels within the PPD file repositories, the label and abbreviation of the PPD file repository name is also displayed.
The format that is used for the printer driver description is as follows:
label(repository-letter): driver-description
For example, the following PPD file is located in the PHOTOS label within the user PPD file repository:
/var/lp/ppd/PHOTOS/HP/HP-PhotoSmart_P1100-hpijs.ppd.gz
This PPD file would appear in Oracle Solaris Print Manager's Printer Driver field selection list as follows:
PHOTOS(U): Foomatic/hpijs (recommended)
In the following example, the following PPD file is located in the SUNWfoomatic label within the system PPD file repository:
This PPD file would appear in Oracle Solaris Print Manager's Printer Driver field selection list as follows:
SUNWfoomatic(S): Foomatic/hpijs (recommended)
The following table describes the PPD file repository letters, the repositories they represent and the location of the repositories a the system.
|
Manufacturer directories, one for each manufacturer, are located in the PPD repositories on a system. When PPD files are added to a system, the manufacturer name that is contained in the PPD file is used to determine which manufacturer directory to copy the PPD file to. A private file, /var/lp/ppd/manufaliases, contains aliases for all the manufacturer entries in a PPD file. The manufaliases file is referenced to determine which manufacturer directory to copy the PPD file to. This process ensures that there is one directory per manufacturer, rather than one directory per manufacturer alias. For example, if a PPD file contains the manufacturer name, Hewlett-Packard, and an HP alias for Hewlett-Packard is listed in the manufaliases file, the PPD file is stored in the HP directory. This strategy applies to all PPD files that are added to a system by using the ppdmgr utility and the lpadmin -n command.
Note - The manufaliases file is a private file. Do not edit this file. Do not build software that relies on the file being in its current location or the data being in its current format.
Private PPD file caches are maintained in the /var/lp/ppd/caches/ directory, one for each label within each repository.
The format of the cache file name that is used follows:
PPD-repository: label
The information about PPD files that is in the PPD cache files is maintained by using the ppdmgr utility. Do not edit the PPD cache files manually. Note that the cache files in the /var/lp/ppd/caches directory are used to generate the private PPD cache file, /var/lp/ppd/ppdcache. This file is used by the printmgr utility. For more information, see the printmgr(1M) man page.
Note - The location of the ppdcache and it's contents is private. Do not build software that relies on this file being in its current location or on the data being in its current format. This information applies to any private files that are generated or delivered for use by the ppdmgr utility.
In this section, the command-line options for the ppdmgr utility are described. Additional information about processes, guidelines, and restrictions for administering PPD files by using the ppdmgr utility are also described.
The PPD Manager (ppdmgr) utility is located in /usr/sbin/ppdmgr.
To add a PPD file to a system, you would use the following syntax:
ppdmgr -a ppd-file-path
The -a option copies the PPD file that is specified in ppd-file-path to the PPD repository, then updates the PPD cache file to reflect the change. If you do not specify a PPD file repository by using the -R option, the PPD file is stored in the user PPD file repository. If you do not specify a label by using the -L option, the PPD file is stored in the user label directory.
The following verifications are performed when you use the -a option with the ppdmgr utility:
Label verification – A label name must not be a reserved label name.
The following label names are reserved:
caches
ppdcache
manufaliases
all
PPD File Path verification – The specified ppd-file-path must be accessible and must contain either the .pdd or ppd.gz extension.
PPD file verification – The PPD file that is specified in ppd-file-path must be a valid PPD file.
Note - If you provide information that does not pass the various verification checks, or if any of the actions that are performed by the ppdmgr utility are unsuccessful, an error message is displayed, and the utility exits.
Additional Actions Performed:
If needed, parent directories of the destination path are created.
If a version of the PPD file with a .gz extension already exists in the PPD file repository, and the gzipped versions are not duplicates, an error message is displayed.
The ppd-file-path is copied to the destination path.
To reflect the change in the ppdcache file, the update action is then applied.
To specify PPD file repository, you would use the following syntax:
ppdmgr -R repository
The -R option with repository is used to identify one of the supported PPD file repositories. When the -R option is not specified, the default repository is user. When the -R option is specified with the -a option, the valid repository names are user and admin. See PPD File Repositories for more information about all of the supported repository names and their locations.
To specify a label, you would use the following syntax:
ppdmgr -L label-name
The -L option with the label-name is used to identify a grouping of PPD files within a PPD file repository. The label is also the name of the directory that is located in the PPD file repository. The label can be comprised of any characters from the portable character set. However, the label cannot contain a semicolon (;).
When the -L option is not specified, the following are the defaults that are used for specifying a label name.
|
To request an update of the PPD cache file, you would use the following syntax:
ppdmgr -u
This option updates the cache file to reflect modifications within PPD file repositories. The PPD cache file is updated only if modifications are detected.
Note - When the -a option is specified, an update of the PPD cache file occurs automatically to reflect the change in the label directory within the repository where the PPD file was copied.
When the -R or -L option is not specified, the PPD cache file is updated to reflect modifications in the all label directory within the user repository.
To request a rebuild of PPD cache file, you would use the following syntax:
ppdmgr -r
The -r option rebuilds the cache by removing and regenerating any intermediary cache files that are associated with the specified label within the specified PPD file repository. This action results in an update of the PPD cache file, /var/lp/ppd/ppdcache, if any intermediary cache files are removed. Because a regeneration of the specified label within the specified PPD file repository is required, the regeneration of the PPD cache information can be very time-consuming. The time that it takes to rebuild the PPD cache file depends upon the number of PPD files that are affected, Therefore, the -r option should only be used when PPD cache file corruption is suspected.
When the - R or - L option is not specified, intermediary cache files that are associated with all of the labels within the user PPD file repository are removed. These modifications are then reflected in the PPD cache file.
To display the full path of PPD File in the repository, you would use the following syntax:
ppdmgr -a ppd-file-path -w
The -w option must be specified with the -a option, and the PPD file is added to the system successfully, the full destination path of the PPD file is displayed on stdout. Otherwise, this option is ignored.