Administering Printers and the Print Scheduler by Using LP Print Commands (Task Map)
How to Delete a Printer and Remove Printer Access by Using LP Print Commands
Use this procedure when you remove a printer from service, and you
want to remove the printer access from the print clients. Then, remove the
printer information from the print server.
- Log in as superuser, lp, or assume an equivalent role on a print client
that has access to the printer you want to delete.
- On the system that is the print client, delete information about the printer.
# lpadmin -x printer-name
- -x
Deletes the specified printer.
- printer-name
Specifies the name of the printer you want to delete.
- Log in as superuser, lp, or assume an equivalent role on the print
server.
- On the system that is the printer server, stop accepting print requests for
the printer.
# reject printer-name
reject printer-name rejects print requests for the specified printer.
This step prevents any new requests from entering the printer's queue while you
are in the process of removing the printer. For a detailed description, see
How to Accept or Reject Print Requests for a Printer.
- On the system that is the print server, stop the printer.
# disable printer-name
This step stops print requests from printing. For a detailed description on how
to stop printing, see How to Enable or Disable a Printer.
- Move any print requests that are still in the queue to another printer.
For information about how to move print requests to another printer, see How to Move Print Requests to Another Printer.
- On the system that is the print server, delete the printer.
# lpadmin -x printer-name
- Verify that the printer information has been deleted:
- Confirm that the printer information has been deleted on the print client.
$ lpstat -p printer-name -l
In the command output, you should receive an error indicating that the printer
does not exist.
- Confirm that the printer information has been deleted on the print server.
$ lpstat -p printer-name -l
In the command output, you should receive an error indicating that the printer
does not exist.
Example 5-1 Deleting a Printer and Remote Printer Access
The following example shows how to delete the printer luna from the print
client terra and from the print server jupiter. This example also shows
how to delete the print client terra from the print server.
terra# lpadmin -x luna
Removed “luna”.
terra# lpstat -p luna -l
jupiter# lpadmin -x luna
Removed “terra”.
jupiter# lpstat -p luna -l
Checking Printer Status
Many routine printer administration tasks require information about the status of the LP
print service or a specific printer. For example, you can determine which printers
are available for use. You can also examine the characteristics of those printers.
You can use the lpstat command to find status information about the LP
print service or a specific printer.
If a PPD file was used to create or modify a print
queue, the specific PPD file is listed in the lpstat output. If a
PPD file was not specified when the print queue was created, the PPD
entry in the lpstat output is none.
How to Check the Status of Printers
- Log in to any system on the network.
- Check the status of printers.
Only the most commonly used options are shown here. For other options, see
thelpstat(1) man page.
$ lpstat [-d] [-p] printer-name [-D] [-l] [-t]
- -d
Shows the system's default printer.
- -p printer-name
Shows if a printer is active or idle, when the printer was enabled or disabled, and whether the printer is accepting print requests.
You can specify multiple printer names with this command. Use a space or a comma to separate printer names. If you use spaces, enclose the list of printer names in quotation marks. If you don't specify printer-name, the status of all printers is displayed.
- -D
Shows the description of the specified printer-name.
- -l
Shows the characteristics of the specified printer-name.
- -t
Shows status information about the LP print service, including the status of all printers, such as whether they are active and whether they are accepting print requests.
Example 5-2 Checking the Status of Printers
The following example shows how to display the system's default printer.
$ lpstat -d
system default destination: luna
The following example shows how to display the status of the printer
luna.
$ lpstat -p luna
printer luna is idle. enabled since Jul 12 11:17 2001. available.
The following example shows how to display the description of the printers
asteroid and luna.
$ lpstat -p "asteroid luna" -D
printer asteroid faulted. enabled since Jan 5 11:35 2004. available.
unable to print: paper misfeed jam
Description: Printer by break room
printer luna is idle. enabled since Jan 5 11:36 2004. available.
Description: Printer by server room.
The following example shows how to display the characteristics of the printer luna.
$ lpstat -p luna -l
printer luna is idle. enabled since Thu Jul 12 15:02:32 PM PDT
Form mounted:
Content types: postscript
Printer types: PS
Description:
Connection: direct
Interface: /usr/lib/lp/model/standard
PPD: none
After fault: continue
Users allowed:
(all)
Forms allowed:
(none)
Banner not required
Character sets:
(none)
Default pitch:
Default page size: 80 wide 66 long
Default port settings:
Stopping and Restarting the Print Scheduler
The print scheduler, lpsched, handles print requests on print servers. However, the print
scheduler might sometimes stop running on a system, so print requests stop being
accepted or printed. The lpadmin command automatically enables the lpsched service when local
printers are added to the system and disables it when the last local
printer is removed. The following procedures describe how to stop and restart the
print scheduler. If a print request was printing when the print scheduler stopped
running, the print request will be printed in its entirety when you restart
the print scheduler.
How to Stop the Print Scheduler
- Log in as superuser, lp, or assume an equivalent role on the print
server.
- Determine if the print scheduler is running.
# svcs application/print/server
You can also use the lpstat -r command to determine if the print
scheduler is running.
If the print scheduler is not running, the message scheduler is not running is displayed.
- If the print scheduler is running, stop it.
# svcadm disable application/print/server
You can also use the lpshut command to stop the print scheduler.
How to Restart the Print Scheduler
- Log in as superuser, lp, or assume an equivalent role on the print
server.
- Determine if the print scheduler is running.
# svcs application/print/server
You can also use the lpstat -r command to determine if the print
scheduler is running.
If the print scheduler is not running, the message scheduler is not running is displayed.
- If the print scheduler is not running, start it.
# svcadm enable application/print/server
You can also use the /usr/lib/lpsched command to start the print scheduler. For
more information about the difference between starting the print scheduler by using the
/usr/lib/lpsched command or by using the svcadm enable application/print server command, see Starting the Print Scheduler With Options.
Starting the Print Scheduler With Options
There are two ways to pass options to the print scheduler by
using SMF:
By modifying option values only for the duration of a call.
Use the /usr/lib/lpsched command with the appropriate options when you only want to pass options to the print scheduler for the duration of a call. Before setting options, see the lpsched(1M) man page for more information about these default values and reasons for changing them.
By maintaining option values over a system reboot, or if the print scheduler is restarted.
The SMF manifest for the print server contains properties that are utilized by the print server start-up script. These property values are passed on to the print scheduler and represent the options, which are set by using the svccfg command.
The properties are as follows:
lpsched/num_filters
lpsched/num_notifiers
lpsched/fd_limit
lpsched/reserved_fds
Any options that are not set with the svccfg command will use the default values that are in the print scheduler. For more information about using the svccfg command, see the svccfg(1M) man page.
How to Set Print Option Values Only for the Duration of a Call
- Become superuser, lp, or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
- Set option values.
# /usr/lib/lpsched option value
- -f num_filters
Specifies the number of concurrent slow filters that can be run on a print server.
- -n num_notifiers
Specifies the number of concurrent notification processes that can run on a print server.
- -p fd_limit
Specifies the file descriptor resource limit for the lpsched process.
- -r reserved_fds
Specifies the number of file descriptors that the scheduler reserves for internal communications under heavy load.
Example 5-3 Setting Option Values Only for the Duration of a Call
This example shows how to set the number of filters to 2.
The remaining options will use the defaults that are in the print scheduler.
# /usr/lib/lpsched -f 2
To use the default options that are in the print scheduler, run
the /usr/lib/lpsched command without any options.
Note that starting the print scheduler by using the /usr/lib/lpsched command does
not utilize the values that are set with the svccfg command.
How to Set Printer Option Values That Remain Over a System Reboot
- Become superuser, lp, or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
- Set one or all options.
# svccfg svc:> select svc:/application/print/server svc:/application/print/server> setprop property = value . . . svc:/application/print/server> quit
For each option that you want to set, repeat the setprop property = value command on
a separate line.
- Verify that the option has been correctly set by displaying the current values
of the print server properties.
# svcprop svc:/application/print/server
- Restart the print scheduler.
If the print scheduler is not running, use the following commands:
# svcadm refresh svc:/application/print/server
# svcadm enable svc:/application/print/server
If the print scheduler is running, use the following commands:
# svcadm refresh svc:/application/print/server
# svcadm restart svc:/application/print/server
To determine if the print scheduler is running, run the svcs application/print/server command.
Example 5-4 Setting Printer Option Values That Remain Over a System Reboot
This example shows how to set the number of filters to 1.
This option will remain set over a system reboot, or if you restart
the print scheduler.
# svccfg svc:> select svc:/application/print/server svc:/application/print/server> setprop lpsched/num_filters = count: 1 svc:/application/print/server> quit
This example shows how to set all options.
# svccfg svc:> select svc:/application/print/server svc:/application/print/server> setprop lpsched/num_filters = count: 1 svc:/application/print/server> setprop lpsched/num_notifiers = count: 1 svc:/application/print/server> setprop lpsched/fd_limit = count: 4096 svc:/application/print/server> setprop lpsched/reserved_fds = count: 2 svc:/application/print/server> quit
The following is a sample script that sets all options.
#!/bin/ksh
svccfg <<-EOF
select svc:/application/print/server
setprop lpsched/num_filters = count: 1
setprop lpsched/num_notifiers = count: 1
setprop lpsched/fd_limit = count: 4096
setprop lpsched/reserved_fds = count: 2
EOF