Solaris Advanced User's Guide

Chapter 8 Using Printers

The line printer subsystem (LP) print service provides the printing tools that are used in the Solaris operating environment. LP provides a wide variety of functions, many of which are not within the scope of this manual. This chapter provides the procedures necessary for you to perform the following basic printing tasks with the LP print service:

See System Administration Guide: Advanced Administration for a complete description of the LP print service.

Submitting Print Requests

To print a file from the command prompt, use the lp command to send a request to the printer to print that file. When a request is made, the LP print service places it in the queue for the printer, displays the request ID number, and then redisplays the shell prompt.

Submitting Print Requests to the Default Printer

When your system administrator sets up the LP print service with a default printer, you can submit print requests without typing the name of the printer by typing the following command.


$ lp filename

In the previous example, filename is the name of the file you want to print.

The specified file is placed in the print queue of the default printer, and the request id is displayed.

For example, to print the /etc/profile file, type the following command.


$ lp /etc/profile
request id is jetprint-1 (1 file)
$ 

See System Administration Guide: Advanced Administration for information on how to specify a default printer.

Submitting Print Requests Using a Printer Name

Whether or not a default printer has been designated for your system, you can submit print requests to any printer that is configured for your system. To submit a print request to a specific printer, type the following command.


$ lp -d printername filename

In the previous example, printername is the name of the specific printer and filename is the name of the file you want to print.

The specified file is placed in the print queue of the destination printer, and the request id is displayed.

For example, to print the /etc/profile file on the printer fastprint, type the following command.


$ lp -d fastprint /etc/profile
request id is fastprint-1 (1 file(s))
$ 

If you submit a request to a printer that is not configured on your system, an information message is displayed, as shown in the following example.


$ lp -d newprint /etc/profile
newprint: unknown printer
$ 

See System Administration Guide: Advanced Administration for information on configuring printers. See Determining Printer Status for information about how to find out which printers are available on your system.

Requesting Notification When Printing Is Complete

When you submit a large file for printing, you might want the LP print service to notify you when printing is complete. You can request that the LP print service notify you in two ways:

To request email notification, use the -m option when you submit the print request.


$ lp -m filename

To request a message be written to your console window, use the -w option when you submit the print request.


$ lp -w filename

In the previous example, filename is the name of the file you want to print.

Printing Multiple Copies

You can use the -n option to the lp command to print more than one copy of a file.

Use the following command syntax to request multiple printed copies.


$ lp -n number filename

In the previous example, number is the desired number of copies and filename is the name of the file you are printing. The print request is considered as one print job, and only one header page is printed.

For example, to print four copies of the /etc/profile file, type the following command.


$ lp -n4 /etc/profile
request id is jetprint-5 (1 file)
$ 

Summary Table of lp Options

You can use options to the lp command to customize your print request. Table 8–1 summarizes the frequently used options for the lp command. You can use these options individually or combine them in any order on the command line. When you combine options, use a space between each option and repeat the dash (-).

For example, to specify a destination printer, request email notification, and print six copies of a file, type the following command.


$ lp -d printername -m -n6 filename

In the previous example, printername is the name of the desired printer and filename is the name of the file you want to print.

Table 8–1 Summary of Frequently Used lp Options

Option 

Description 

-d

Destination. Specifies a destination printer by name. 

-m

Mail. Sends email to the requestor when the file has printed successfully. 

-n

Number. Specifies the number of copies to be printed. 

-t

Title. Specifies a title (printed only on the banner page) for a print request. 

-o nobanner

Option. Suppresses printing of the banner page for an individual request. 

-w

Write. Writes a message to your terminal when the file has printed successfully. 

See the lp(1) man page for a complete list of options.

Determining Printer Status

Use the lpstat command to determine the status of the LP print service. You can check the status of your own jobs in the print queue, determine which printers you can use, or determine request ids of your jobs if you want to cancel them.

Checking on the Status of Your Print Requests

Type the following command to find out the status of your print requests.


$ lpstat

A list of the files that you have submitted for printing is displayed.

In the following example, one file is queued for printing to the printer jetprint.


$ lpstat
jetprint-1              user2            11466   Nov 01 15:10 on jetprint
$

The lpstat command displays one line for each print job, showing the request id, followed by the user who spooled the request, the output size in bytes, and the date and time of the request.

Checking Available Printers

To find out which printers are configured on your system, type the following command.


$ lpstat -s

The status of the scheduler is displayed, followed by the default destination and a list of the systems and printers you can use.

In the following example, the scheduler is running, the default printer is jetprint, and the print server for the jetprint and fastprint printers is prtsrv1.


$ lpstat -s
scheduler is running
system default destination: jetprint
system for jetprint: prtsrv1
system for fastprint: prtsrv1
$

Displaying All Status Information

The -t option for lpstat gives you a complete listing of the status of the LP print service.

To display a complete listing of all status information, type the following command.


$ lpstat -t

The system displays all available status information.

In the following example, no jobs are in the print queue. When files are spooled for printing, the status of those print requests is also displayed.


$ lpstat -t
scheduler is running
system default destination: jetprint
system for jetprint: prtsrv1
system for fastprint: prtsrv1

jetprint accepting requests since Wed Nov  1 15:09:29 MST 2000
fastprint accepting requests since Wed Nov  1 15:09:47 MST 2000
printer fastprint is idle. enabled since Wed Nov  1 15:09:46 MST 2000. 
jetprint-1              user2            11466   Nov 01 15:10 on jetprint
$

Displaying Status for Printers

You can use the -p to the lpstat command to request printer status information for individual printers. This option shows whether the printer is active or idle, when the printer was enabled or disabled, and whether the printer is available to accept print requests.

To request status for all printers on a system, type the following command.


$ lpstat -p

In the following example, two printers are idle, enabled, and available.


$ lpstat -p
printer jetprint is idle. enabled since Wed Nov  1 15:09:28 MST 2000. 
   available.
printer fastprint is idle. enabled since Wed Nov  1 15:09:46 MST 2000. 
   available.
$

If one of those printers had jobs in the print queue, those jobs would also be displayed.

To request status for an individual printer by name, type the following command.


$ lpstat -p printername

In this example, printername is the name of the specific printer.

Summary Table of lpstat Options

You can use the lpstat command to request different types of printing status information. Table 8–2 summarizes the frequently used options for the lpstat command. Use these options individually, or combine them in any order on the command line. When you combine options, use a space between each option and repeat the dash (-).

Table 8–2 Summary of Frequently Used lpstat Options

Option 

Description 

-a

Accept. Show whether print destinations are accepting requests. 

-c

Class. Show classes and their members.  

-d

Destination. Show default destination. 

-f

Forms. Show forms.  

-o

Output. Show status of print requests. 

-p [list][-D][-l}

Printer/Description/Long list. Show status of printers. 

-r

Request. Request scheduler status. 

-R

Show position of job in the queue. 

-s

Status. Show status summary. 

-S

Sets. Show character sets. 

-u [username]

User. Show requests by user. 

-v

Show devices. 

See the lpstat(1) man page for a complete list of options.

Canceling a Print Request

Use the cancel command to cancel a print request while it is in the queue or while it is printing. To cancel a request, you need to know the print request id. The request id always includes the name of the printer, a dash, and the number of the print request. When you submit the print request, the request id is displayed. If you do not remember your request id, type lpstat -o and press Return. Only the user who submitted the request, or someone logged in as root or lp can cancel a print request.

Canceling a Print Request by ID Number

To cancel a print request, type the following command.


$ cancel request_id

In the previous example, request_id is the request id number of the desired print request.

A message informs you that the request is cancelled. The next job in the queue begins printing.

In the following example two print requests are canceled.


$ cancel jetprint-6 fastprint-5
jetprint-6: cancelled
fastprint-5: cancelled
$

Canceling a Print Request by Printer Name

You can also cancel just the job that is currently printing (if you submitted it) by typing the printer name in place of the request id.


$ cancel printername

In the previous example, printername is the name of the printer to which you sent the request.

A message informs you that the request is canceled. The next job in the queue begins printing

In the following example, the current print request has been canceled.


$ cancel jetprint
jetprint7: cancelled
$

Your system administrator can log in as root or lp and cancel the currently printing request by using the printer name as the argument for the cancel command.