This chapter provides the following reference information for the following features:
This section includes reference information that pertains to using the Solaris Print Manager graphical user interface (GUI), also referred to as Print Manager (printmgr), to set up and administer printing services and printers.
The following are available printer definitions when using Solaris Print Manager to set up and administer printing services and printers:
The Use PPD files attribute is the default when you create a new print queue in Solaris Print Manager. If you are setting up a printer that does not use PPD files, deselect the attribute by removing the checkmark from the check box. To reselect this attribute, recheck the check box.
If Solaris Print Manager cannot locate a ppdcache file to use, the Use PPD files attribute is grayed-out.
If you create a new print queue or modify an existing print queue with PPD files by using Solaris Print Manger, you cannot assign the printer type or file content type printer definitions. However, if you do not use PPD files when creating a print queue, you can assign these printer definitions.
When you create a new print queue or modify an existing print queue with PPD files, the following Solaris Print Manager screens are available:
New Attached Printer
Modify Printer Properties (for an attached printer)
New Network Printer
Modify Printer Properties (for a network printer)
For these screens, when creating a print queue with PPD files, you are required to provide the following information:
Printer make
Printer model
Printer driver
Table 11–1 describes the printer definitions that are used by Solaris Print Manager, and their availability, depending on the Solaris software release that you are running.
The definitions for the printer make, printer model, and printer driver are only available when you create a print queue by using the Use PPD files option in Solaris Print Manager.
For a detailed description of the printer make, printer model, and printer driver definitions, see Setting Printer Definitions.
Using PPD files is a per-queue configuration option and is not a requirement for adding a new printer. Also, PPD files are not required for printers that already contain the RIP feature.
This section describes the directory structure, files, and logs of the LP print service.
The LP Print Service client commands have been modified to be a consumer of the FSG OpenPrinting Open Standard Print API (PAPI). These print commands are layered on top of the PAPI. See How PAPI Is Implemented in the Solaris OS for more information.
The following table lists frequently used LP print service commands.
Table 11–2 LP Print Service Commands
Command |
Task |
Man Page |
---|---|---|
enable |
Activate a printer | |
cancel |
Cancel a print request | |
lp |
Send one or more file or files to a printer | |
lpstat |
Report the status of the LP print service | |
disable |
Deactivate on or more printers | |
accept |
Permit print requests to be queued for a specific destination | |
reject |
Prevent print requests from being queued for a specific destination | |
lpadmin |
Set up or change a printer configuration | |
lpfilter |
Set up or change filter definitions | |
lpforms |
Set up or change preprinted forms | |
lpadmin |
Mount a form | |
lpmove |
Move output requests from one destination to another destination | |
lpsched |
Start the LP print service scheduler | |
lpshut |
Stop the LP print service scheduler | |
lpusers |
Set or change the default priority and priority limits that can be requested of the LP print service by users |
For information about Solaris print commands that have been modified for use with the PAPI, see How PAPI Is Implemented in the Solaris OS.
The /usr/lib/lp directory contains daemons and files used by the LP print service, as described in the following table.
Table 11–3 Contents of the /usr/lib/lp Directory
File |
Type |
Description |
---|---|---|
bin |
Directory |
Contains files for generating printing alerts, slow filters, and queue management programs. |
model |
Directory |
Contains the standard printer interface program. |
postscript |
Directory |
Contains all PostScript filter programs provided by the LP print service. These filters come with descriptor files in the /etc/lp/fd directory. These files tell the LP print service the characteristics of the filters and where to locate them. |
The files of the LP print service are distributed among the directories that are shown in the following table.
Table 11–4 Directories for the LP Print Service
Directory |
Contents |
---|---|
/usr/bin |
The LP print service user commands. |
/etc/lp |
A hierarchy of LP server configuration files. |
/usr/share/lib |
The terminfo database directory. |
/usr/lib/print |
The lp conversion scripts, in.lpd daemon, and the printd daemon. The printd daemon transfers all pending jobs in the/var/spool/print directory once per minute. When no jobs are remaining to transfer, the printd daemon exits. |
/usr/sbin |
The LP print service administrative commands |
/usr/lib/lp |
The lpsched program, binary files, PostScript filters, and the model directory, which contains the standard printer interface program. |
/var/lp/logs |
LP log files such as lpsched.n (which includes messages from lpsched) and requests.n (which includes information about completed print requests). |
/var/spool/lp |
The spooling directory where files are queued for printing. |
/var/spool/print |
The staging area for LP print service client-side requests. |
/etc/lp/model/uri |
The location of the interface script that process device-uri information. |
The lpsched daemon stores configuration information in the /etc/lp directory, as described in the following table.
The configuration files listed in this table are private interfaces. These files are subject to change in future releases. You should not build software that relies on these files being in their current locations or that relies on the data being in the format currently used.
File |
Type |
Description |
---|---|---|
classes |
Directory |
Files identifying classes provided by the lpadmin -c command. |
fd |
Directory |
Description of existing filters. |
filter.table |
File |
Print filter look-up table. |
forms |
Directory |
Location to put files for each form. Initially, this directory is empty. |
interfaces |
Directory |
Printer interface program files. |
logs |
Link to /var/lp/logs |
Log files of printing activities. |
model |
Link to /usr/lib/lp/model |
The standard printer interface program. |
printers |
Directory |
Directories for each local printer. Each directory contains configuration information and alert files for an individual printer. |
pwheels |
Directory |
Print wheel files or cartridge files. |
ppd |
Directory |
Each local queue that is configured with a PPD file has a copy of the PPD file placed here. |
These configuration files serve a function similar to the /etc/printcap file on LPD-based print servers.
You can check the contents of the configuration files, but you should not edit these files directly. Instead, use the lpadmin command to make configuration changes. Your changes are written to the configuration files in the /etc/lp directory. The lpsched daemon administers and updates the configuration files.
The /etc/lp/printers directory has a subdirectory for each local printer that is known to the system. The following example shows the /etc/lp/printers subdirectories of printers sparc1 and luna.
$ ls -l /etc/lp/printers drwxrwxr-x 2 lp lp 512 Jan 23 23:53 luna drwxrwxr-x 2 lp lp 512 Jan 11 17:50 sparc1 |
The following table describes the files within each printer-specific directory.
File Name |
Description |
---|---|
alert.sh |
Shell to execute in response to alerts |
alert.vars |
Alert variables |
configuration |
Configuration file |
users.deny |
List of users to whom printer access is denied |
comment |
Printer description |
The configuration file for the printer luna, /etc/lp/printers/luna/configuration, would typically appear as follows:
Banner: on: Always Content types: PS Device: /dev/term/b Interface: /usr/lib/lp/model/standard Printer type: PS Modules: default |
The /usr/share/lib directory contains the terminfo database directory. This directory contains definitions for many types of terminals and printers. The LP print service uses information in the terminfo database to perform the following tasks:
Initializes a printer
Establishes a selected page size, character pitch, line pitch, and character set
Communicates the sequence of codes to a printer
Each printer is identified in the terminfo database with a short name. For a description of the structure of the terminfo database, see Printer Type. If necessary, you can add entries to the terminfo database, but doing so is tedious and time-consuming. For more information, see Adding a terminfo Entry for an Unsupported Printer.
Information about each printer type is stored in the terminfo database (/usr/share/lib/terminfo). This information includes the printer capabilities and initialization control data. The printer you install must correspond to an entry in the terminfo database.
$ pwd /usr/share/lib/terminfo $ ls 1 3 5 7 9 B H P a c e g i k m o q s u w y 2 4 6 8 A G M S b d f h j l n p r t v x z $ |
Each subdirectory contains compiled database entries for terminals or printers. The entries are organized by the first letter of the printer or terminal type. For example, if you have an Epson printer, look in the /usr/share/lib/terminfo/e directory to find your particular model of Epson printer.
$ cd /usr/share/lib/terminfo/e $ ls emots ep2500+high ep48 ergo4000 exidy2500 env230 ep2500+low epson2500 esprit envision230 ep40 epson2500-80 ethernet ep2500+basic ep4000 epson2500-hi ex3000 ep2500+color ep4080 epson2500-hi80 exidy $ |
The entries for Epson printers begin with epson.
If you have an NEC printer, look in the /usr/share/lib/terminfo/n directory for your NEC printer model.
$ cd /usr/share/lib/terminfo/n $ ls ncr7900 ncr7900iv netronics network nuc ncr7900-na ncr7901 netty netx nucterm ncr7900i nec netty-Tabs newhp ncr7900i-na net netty-vi newhpkeyboard $ |
The nec entry in this directory is for the NEC printer.
The LP print service maintains two sets of log files that are described in the following table.
Log File Name |
Description |
---|---|
syslogd |
Set lpr.debug in /etc/syslog.conf to enable LP print service logging |
/var/spool/lp |
A list of current requests that are in the print queue |
/var/lp/logs/requests |
An ongoing history of print requests |
The scheduler for each system keeps a log of print requests in the /var/spool/lp/tmp/system and /var/spool/lp/requests/system directories. Each print request has two files, one file in each directory, that contain information about the request. The information in the /var/spool/lp/requests/system directory can be accessed only by superuser or lp. The information in the /var/spool/lp/tmp/system directory can be accessed only by the user who submitted the request, superuser, or lp.
The following example shows the contents of the /var/spool/lp/tmp/starbug directory:
$ ls /var/spool/lp/tmp/starbug 5 5-0 # cat 5-0 C 1 D print1 F /etc/profile P 20 T /etc/profile t simple U root s 0000 v 2 |
These files remain in their directories only as long as the print request is in the queue. Once the print request is finished, the information in the files is combined and appended to the /var/lp/logs/requests file. This file is described in the next section.
Use the information in the /var/spool/lp/logs directory if you need to track the status of a print request that is currently in the queue.
The LP print service records a history of printing services in two log files, lpsched and requests. These log files are located in the /var/lp/logs directory. You can use the information in these log files to diagnose and troubleshoot printing problems. An example of the contents of the /var/lp/logs directory is as follows:
# cd /var/lp/logs # ls lpsched.1 requests requests.2 lpsched lpsched.2 requests.1 # |
The two most important log files for troubleshooting are the following:
The lpsched log file — Contains information about local printing requests.
The requests log file — Contains information about print requests that are completed and no longer in the print queue.
The requests log file has a simple structure so that you can extract data using common UNIX shell commands. Requests are listed in the order they are printed. They are also separated by lines showing their request IDs. Each line below the separator line, the line that starts with =, is marked with a single letter that identifies the kind of information contained in that line. Each letter is separated from the data by a single space.
The following example shows the contents of a requests log file:
# pwd /var/lp/logs # tail requests.2 = print1-3, uid 0, gid 1, size 206662, Wed Mar 14 08:56:30 MST 2003 z print1 C 1 D print1 F /usr/dict/words P 20 T /usr/dict/words t simple U root s 0x0014 v 2 # |
The following table shows the letter codes and the content of their corresponding lines in the requests log file.
Table 11–6 Codes in the requests Log File
The following table shows the outcome codes in the LP requests log file and their descriptions.
Table 11–7 Outcome Codes in the requests Log File
Outcome Code |
Description |
---|---|
0x0001 |
The request was held pending resume. |
0x0002 |
Slow filtering is running. |
0x0004 |
Slow filtering finished successfully. |
0x0008 |
The request is on the printer. |
0x0010 |
Printing finished successfully. |
0x0020 |
The request was held pending user change. |
0x0040 |
The request was canceled. |
0x0080 |
The request will print next. |
0x0100 |
The request failed filtering or printing. |
0x0200 |
The request is in transit to a remote printer (obsolete). |
0x0400 |
The user will be notified. |
0x0800 |
A notification is running. |
0x1000 |
A remote system has accepted the request (obsolete). |
0x2000 |
The administrator placed a hold on the request. |
0x4000 |
The printer had to change filters. |
0x8000 |
The request is temporarily stopped. |
Files queued for printing are stored in the /var/spool/lp directory until they are printed, which might be only seconds. The following table shows the contents of the /var/spool/lp directory.
Table 11–8 Contents of the /var/spool/lp Directory
File |
Type |
Description |
---|---|---|
SCHEDLOCK |
File |
Lock file for the scheduler. Check for this file if the scheduler terminates and will not restart. |
admins |
Directory |
Link to /etc/lp. |
bin |
Directory |
Link to /usr/lib/lp/bin. |
logs |
Link |
Link to ../lp/logs where completed print requests are logged. |
model |
Link |
Link to /usr/lib/lp/model. |
requests |
Directory |
Directory that contains subdirectories for each configured printer where print requests are logged until printed. Users cannot access this log. |
system |
Directory |
A print status file for the system. |
temp |
Link |
Link to /var/spool/lp/tmp/hostname, which contains the spooled requests. |
tmp |
Directory |
Directory for each configured printer where print requests are logged until printed. Changes to existing print requests are also recorded in this directory. |
Print filters are programs on the print server that convert the content of a queued file from one format to another format.
A print filter can be as simple or as complex as needed. The Solaris OS provides print filters in the /usr/lib/lp/postscript directory that cover most situations where the destination printer requires the data to be in PostScript format. If you need filters for nonPostScript printers, you have to create the filters and add them to the systems that need filters.
A set of print filter descriptor files are provided in the /etc/lp/fd directory. These descriptor files describe the characteristics of the filter (for example, fast or slow filter). These description files point to the filter program (for example, to /usr/lib/lp/postscript/postdaisy).
The LP print service interacts with other parts of the Solaris OS. The print service uses a standard printer interface program to do the following:
Initialize the printer port, if necessary. The standard printer interface program uses the stty command to initialize the printer port.
Initialize the printer. The standard printer interface program uses the terminfo database and the TERM shell variable to find the appropriate control sequences.
Print a banner page, if necessary.
Print the correct number of copies specified by the print request.
The LP print service uses the standard interface program, found in the /usr/lib/lp/model directory, unless you specify a different program. You can create custom interface programs. However, you must make sure that the custom program does not terminate the connection to the printer or interfere with proper printer initialization.
Support for setting up and administering printers with PPD files has been incorporated into the Solaris print subsystem. Two interface scripts, standard_foomatic, and netstandard_foomatic, are available. 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 are supported:
Lexmark Optra E312
Epson Stylus Photo 1280
Canon BJC-55
QMS magicolor 2+
The raster image support in the Solaris OS (RIP) enables you to print to printers that do not have resident PostScript processing capabilities. The Solaris printing software 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. For step-by-step instructions on using the lpadmin -n command, see How to Add a New Directly Attached Printer by Using LP Print Service Commands.
The lpadmin and lpstat commands, as well as the Solaris Print Manager printer definition screens, support the use of PPD files.
The following new software packages are associated with this feature:
SUNWa2psr
SUNWa2psu
SUNWespgs
SUNWffiltersr
SUNWffiltersu
SUNWfppd
SUNWgimpprint
SUNWhpijs
SUNWimagick
SUNWpsutils
For more information about supported printers, see Where to Find Information About Supported Printers and Available PPD Files.
The location where the PPD files and the ppdcache file is stored are private, as is the contents of the ppdcache file. The placement of these files and the contents of the ppdcache are subject to change. Do not build software that relies on these files being in their current location or that relies on the data being in the format that is currently used.
If the file 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. If you are running the Solaris 10 OS, and you use Solaris Print Manager to create the print queue, the PPD file must have an entry in the ppdcache file.
If you are running at least the Solaris Express Developer Edition 5/07 release, PPD files are located in any of following four repositories on the system:
Specifies the system repository.
Specifies the admin repository.
Specifies the vendor repository.
Specifies the user repository.
Copies of PPD files that are specified by using the lpadmin command with the -n option, or by using the -a option with the ppdmgr command are stored in the user repository under the same PPD file name.
If you use the ppdmgr utility with the -a and the -R options, a copy of the specified PPD file can be stored in the admin repository.
If you create a print queue with Solaris Print Manager, and no entry exists for the PPD file in the ppdcache file, you can use the ppdmgr utility to add the file to the system. The cache of PPD file information that Solaris Print Manager uses is then updated to reflect any changes you make by using either of these two methods.
If you are not running at least the Solaris Express Developer Edition 5/07 release, PPD files are located in the /usr/lib/lp/model/ppd/system directory or any alternate directory that you specify.
The output of the ls command lists all the PPD files for a particular printer manufacturer.
For additional task-related information, see Administering Printers That Are Associated With PPD Files (Task Map).
This section contains reference information for managing PPD files.
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.
The following table describes the PPD file repositories that are located on a system.
Table 11–9 Description of the PPD File Repositories
Repository |
Location |
Contents |
Method Used to Add or Modify |
---|---|---|---|
admin |
/usr/local/share/ppd/ |
This PPD file repository is used to store PPD files that are used by system administrators. |
PPD files can be added to this repository manually, by using either the ppdmgr utility or the pkgadd command. |
all |
Represents all of the PPD repositories on a system |
This repository represents all supported PPD repository locations on a system. |
You can only specify the all repository when requesting an update or rebuild of the PPD cache file by using the ppdmgr utility. |
system |
/usr/share/ppd/ |
This repository contains PPD files that are delivered with Solaris OS. |
PPD files that are delivered by Sun can be added to the system repository by using the pkgadd and patchadd commands. A PPD file in this repository should not be modified manually or by using the ppdmgr utility. If you modify this repository manually, your changes might be lost. |
user |
/var/lp/ppd |
This repository is used, as needed, by administrators and users with appropriate privileges (Printer Management). |
PPD files that are added to the system by using the ppdmgr command with the -a option are added to this repository unless otherwise specified. |
vendor |
/opt/share/ppd/ |
This repository is a central location for storing PPD files that are delivered to the Solaris OS by vendors. |
The pkgadd command is used to add PPD files to this repository Note – This repository cannot be modified by using the ppdmgr utility. |
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 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 Sun, 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 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 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 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.
Repository Abbreviation |
Repository Name |
Repository Location |
---|---|---|
A |
admin |
/usr/local/share/ppd |
S |
system |
/usr/share/ppd |
U |
user |
/var/lp/ppd |
V |
vendor |
/opt/share/ppd |
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.
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.
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.
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.
ppdmgr Command-Line Option |
Default Label |
---|---|
-a |
Defaults to the label in ppd-file-path, if the ppd-file-path is located within a supported repository. Otherwise label defaults to user. |
-r |
Defaults to the all label. |
-u |
Defaults to the all label. |
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.
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.
This section contains additional background information about the FSG OpenPrinting Open Standard Print Application Programming Interface (PAPI), a print service-independent interface for accessing printing support on a local host or a network.
The PAPI contains a set of printing related objects or data structures and a set of operations or functions to manipulate the objects.
The following are supported tasks:
Querying the print service
Submitting print jobs
Modifying print jobs
Canceling print jobs
Table Table 11–10 describes the Solaris print commands that have been modified for use with the PAPI.
Table 11–10 Modified Solaris Print Commands
Command |
Origin |
Function |
---|---|---|
lpr |
BSD |
Submit print jobs. |
lpq |
BSD |
Query print queues and print jobs. |
lprm |
BSD |
Remove print jobs. |
lpc |
BSD |
Control print jobs: accept, reject, enable, disable, clear, topq |
lp |
SysV |
Submit print jobs. |
lpstat |
SysV |
Query print server (print queues, print jobs, other). |
cancel |
SysV |
Remove print jobs. |
lpmove |
SysV |
Move jobs between local print queues. |
accept |
SysV |
Enable queueing of print jobs on a print queue. |
reject |
SysV |
Disable queueing of print jobs on a print queue. |
enable |
SysV |
Enable job processing on a print queue. |
disable |
SysV |
Disable job processing on a print queue. |