This task includes a number of procedures to use when a printer appears idle but it should not be. It makes sense to try the procedures in order, but the order is not mandatory.
Display printer status information.
# lpstat -p printer-name |
The information displayed shows you whether the printer is idle or active, enabled or disabled, or available or not accepting print requests. If everything looks all right, continue with other procedures in this section. If you cannot run the lpstat command, see "How to Unhang the LP Print Service".
If the printer is not available (not accepting requests), allow the printer to accept requests.
# accept printer-name |
The printer begins to accept requests into its print queue.
If the printer is disabled, re-enable it.
# enable printer-name |
This command re-enables the printer so that it will act on the requests in its queue.
Check for print filtering by using the lpstat -o command.
$ lpstat -o luna luna-10 fred 1261 Mar 12 17:34 being filtered luna-11 iggy 1261 Mar 12 17:36 on terra luna-12 jack 1261 Mar 12 17:39 on terra $ |
See if the first waiting request is being filtered. If the output looks like the above example, the file is being filtered; the printer is not hung, it just is taking a while to process the request.
Look for a message about a printer fault and try to correct the fault if there is one.
Depending on how printer fault alerts have been specified, messages may be sent to root by email or written to a terminal on which root is logged in.
Re-enable the printer.
# enable printer-name |
If a request was blocked by a printer fault, this command will force a retry. If this command does not work, continue with other procedures in this section.
On the print client, stop further queuing of print requests to the print server.
# reject printer-name |
On the print client, send an "are you there?" request to the print server.
print_client# ping print_server print_server is alive |
If you receive the message print_server not available, you may have a network problem.
After you fix the above problem, allow new print requests to be queued.
# accept printer-name |
If necessary, re-enable the printer.
# enable printer-name |
On the print server, stop further queuing of print requests from any print client to the print server.
# reject printer-name |
Display the lpsched log file.
# more /var/lp/logs/lpsched |
The information displayed may help you pinpoint what is preventing the print requests from the print client to the print server from being printed.
After you fix the problem, allow new print requests to be queued.
# accept printer-name |
If necessary, re-enable the printer on the print server.
# enable printer-name |