<?Pub UDT _bookmark _target?><?Pub UDT __target_1 _target?><?Pub UDT registeredtm trademark?><?Pub CX solbook(?><chapter id="printadmin-15883"><?Pub Tag atict:info tracking="on" ref="1"?><?Pub Tag
atict:user user="jonj" fullname="Juanita Heieck"?><?Pub Tag atict:user
user="jh118764" fullname="Juanita Heieck"?><?Pub Tag atict:user user="wsm"
fullname=""?><title>Administering Printers by Using Solaris Print Manager and
LP Print Commands (Tasks)</title><highlights><para>This chapter describes the typical printing tasks that a system administrator
might perform on a daily, weekly, or occasional basis. The printing services
and tools that you can use to perform these tasks are covered in each of the
subsequent task sections of this chapter.</para><itemizedlist><para>For the step-by-step procedures that are associated with administering
printing services and printers, see the following task maps:</para><listitem><para><olink targetptr="gfjnd" remap="internal">Administering Printers by Using Solaris
Print Manager (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="gfjsi" remap="internal">Administering Printers and the Print
Scheduler by Using LP Print Commands (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="gfjpw" remap="internal">Setting Printer Definitions by Using
LP Print Commands (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="gfjrw" remap="internal">Administering Print Requests by Using
the LP Print Commands (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="gfjno" remap="internal">Administering Printers That Are Associated
With PPD Files (Task Map)</olink></para>
</listitem>
</itemizedlist><para>For overview information, see <olink targetptr="printintro-1" remap="internal">Chapter&nbsp;1,
Introduction to Printing in the Solaris Operating System</olink>.</para><para>For information about how to set up printing services see <olink targetptr="printsetup-33230" remap="internal">Chapter&nbsp;3, Setting Up Printing Services
(Tasks)</olink>.</para><para>For information about setting up printers, see <olink targetptr="printers-33230" remap="internal">Chapter&nbsp;4, Setting Up Printers (Tasks)</olink></para><para>For information about how to administer printing services and printers
by using printing protocols, see <olink targetptr="proto-1" remap="internal">Chapter&nbsp;6,
Administering Printers That Use Network Printing Protocols (Tasks)</olink></para>
</highlights><sect1 id="gdtfs"><title>Introduction to Administering Printers</title><itemizedlist><para>After you set up print servers and print clients, you might need to
perform these administration tasks frequently:</para><listitem><para>Delete a printer</para>
</listitem><listitem><para>Delete remote printer access</para>
</listitem><listitem><para>Check the status of printers</para>
</listitem><listitem><para>Restart the print scheduler</para>
</listitem>
</itemizedlist><sect2 id="gfkjn"><title>Administering Local Printers</title><para>A local printer is a printer that has a print queue that has been defined
on a system that is local to you. A remote printer is a printer that has a
print queue that is defined anywhere <emphasis>but</emphasis> your local system.
These terms do not have anything to do with whether the printer is physically
attached to a system or to the network. The terms strictly define where the
print queue was configured, which is important to note because where the
print queue is configured determines the print server for that printer. One
print server can support all the printers at a particular site.</para>
</sect2><sect2 id="gfhak"><title>Administering Network Printers</title><para>A <emphasis>network&hyphen;attached</emphasis> printer
is a hardware device that is connected directly to the network. A network
printer transfers data directly over the network to the output device. The
printer or network connection hardware has its own system name and IP address.</para><para>Network printers often have software support provided by the printer
vendor. If your printer has printer vendor-supplied software, then use the
printer vendor software. If the network printer vendor does not provide software
support, Sun supplied software is available. This software provides generic
support for network-attached printers. However, this software is not capable
of providing full access to all possible printer capabilities.</para><para>The terms &ldquo;attached&rdquo; and &ldquo;network&rdquo; refer to
the way printers are connected to the world. Neither
of these terms imply local or remote.  Sometimes, these terms are used interchangeably,
due to the fact that local printers and attached printers tend to be the same.
However, the terms local and remote refer to print queue configuration. The
terms, attached and network, refer to the physical connection of the printer
hardware only, not how the print queue was configured.</para><para>For information about setting up a directly attached and network printers,
see <olink targetptr="gfgxy" remap="internal">Setting Up Printers on a Print Server (Task Map)</olink>.</para><para>For information about using over-the-wire network printing protocols
for printing on the network, see <olink targetptr="gedcr" remap="internal">Using Printing Protocols
in the Solaris Release</olink>.</para><sect3 id="printref-40"><title>Scheduling Network Print Requests</title><indexterm id="printref-ix201"><primary>print requests</primary><secondary>scheduling</secondary>
</indexterm><para>Each print client communicates directly with a print sever over the
network. The communication is done between the requesting command, such as <command>lp</command>, <command>lpstat</command>, <command>cancel</command>, <command>lpr</command>, <command>lpq</command>, or <command>lprm</command>, and the print service on the print
server. This communication reduces the print system overhead on client&ndash;only
systems, improving scalability, performance and accuracy of data.</para><para>Print servers listen for print requests with the Internet services daemon
(<command>inetd</command>). Upon hearing a request for print service from
the network, the <command>inetd</command> daemon starts a program called the <emphasis>protocol adaptor</emphasis> (<command>in.lpd</command>). The protocol adaptor
translates the print request and communicates it to the print spooler, and
returns the results to the requester. This protocol adaptor starts on demand
and exits when it has serviced the network request. This process eliminates
idle system overhead for printing. This process also eliminates any additional
system configuration for network printing support as was the case in previous
versions of Solaris printing software.</para>
</sect3>
</sect2><sect2 id="gdthb"><title>Setting Definitions for Printers</title><indexterm><primary>printer definitions</primary><secondary>setting</secondary>
</indexterm><indexterm><primary>setting printer definitions</primary>
</indexterm><para>Setting definitions for the printers on your network is an ongoing task
that lets you provide a more effective print environment for users. For example,
you can assign printer descriptions for all your site's printers to help users
find where a printer is located. Or, you can define a class of printers to
provide the fastest turnaround for print requests. </para><para>For information on setting up printer definitions and planning printers
on your network, see <olink targetptr="printplan-1" remap="internal">Chapter&nbsp;2, Planning
for Printing in the Solaris Operating System (Tasks)</olink>.</para>
</sect2><sect2 id="erfaz"><title>Administering Printers That Use PPD Files</title><indexterm><primary>PPD files</primary><secondary>PostScript Printer Description files</secondary>
</indexterm><indexterm><primary> printer support</primary><secondary>features of</secondary>
</indexterm><indexterm><primary>Raster Image Processor</primary><secondary>RIP</secondary>
</indexterm><para>Specific modifications have been made to incorporate the RIP feature
and PPD files into the Solaris print subsystem. Two interface scripts, <command>standard_foomatic</command>, and <command>netstandard_foomatic</command>, are available. These
interface scripts provide the generic Solaris interface between the Solaris
spooler and the back-end process of the Solaris print server.</para><para>For more information, see<olink targetptr="gfjno" remap="internal">Administering Printers
That Are Associated With PPD Files (Task Map)</olink> and <olink targetptr="ppdref-1" remap="internal">Using PPD Files To Set Up Printers</olink>.</para>
</sect2><sect2 id="gdtgk"><title>Administering Character Sets, Filters, Forms, and
Fonts</title><para>Depending on your site's requirements and the types of printers you
have on the network, you might have to set up and administer printer-specific
features of the LP print service. For example, you can assign different print
wheels, filters, and forms to different printers. For background information
and step-by-step instructions on how to set up character sets, print filters,
forms, and fonts, see <olink targetptr="printcust-66310" remap="internal">Chapter&nbsp;7, Customizing
Printing Services and Printers (Tasks)</olink>.</para>
</sect2>
</sect1><sect1 id="gfjnd"><title>Administering Printers by Using Solaris Print Manager
(Task Map)</title><para>The following tables lists categories of printer administration tasks
you can perform by using the Solaris Print Manager GUI. Note that you cannot
perform all printer administration tasks by using Solaris Print Manager. For
some of these tasks, for example, stopping and starting the print scheduler,
you must use LP print commands. For more information, see <olink targetptr="gfjrw" remap="internal">Administering Print Requests by Using the LP Print Commands
(Task Map)</olink>.</para><informaltable frame="all"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Delete a printer or access to a printer by using Solaris Print Manager</para>
</entry><entry><para>Use Solaris Print Manager to delete local and remote printers and remove
printer access. However, you cannot move queued print requests to another
printer by using Solaris Print Manager.</para>
</entry><entry><para><olink targetptr="printadmin-46496" remap="internal">How to Delete a Printer by Using
Solaris Print Manager</olink></para>
</entry>
</row><row><entry><para>Set or reset miscellaneous printer definitions by using Solaris Print
Manager</para>
</entry><entry><para>Add, modify, delete a printer, and add printer access by using the Solaris
Print Manager GUI tool. Many of the same options that can be used with the <command>lpadmin</command> command are also available in Solaris Print Manager.</para>
</entry><entry><para><olink targetptr="set-attr1" remap="internal">Setting Printer Definitions by Using Solaris
Print Manager</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><task id="printadmin-46496"><title>How to Delete a Printer
by Using Solaris Print Manager</title><indexterm><primary>printers</primary><secondary>deleting access</secondary>
</indexterm><indexterm><primary>access to printers</primary><secondary>how to delete</secondary>
</indexterm><indexterm><primary>deleting access to printers</primary><secondary>remote printer access</secondary>
</indexterm><tasksummary><para>Use this procedure to remove a printer from service and to remove the printer information from the
print server.</para><para>For information
about how to delete a printer and remove printer access by using LP print
commands, see <olink targetptr="gfjoi" remap="internal">How to Delete a Printer and Remove
Printer Access by Using LP Print Commands</olink>.</para>
</tasksummary><procedure><step id="step-3"><para><indexterm id="admin-ixxx"><primary>print client</primary><secondary>deleting access to printers (how to)</secondary></indexterm>On the print server for the printer
that you want to delete, log in as superuser, <literal>lp</literal>,
or assume an equivalent role.</para>
</step><step><para>Stop accepting
print requests for the printer.</para><screen># <userinput>reject <replaceable>printer&hyphen;name</replaceable></userinput></screen>
</step><step id="ghsdo"><para>Move any print requests that are still in the
print queue to another printer.</para><para>For information about how to move
print requests to another printer, see <olink targetptr="printadmin-22663" remap="internal">How
to Move Print Requests to Another Printer</olink>.</para>
</step><step id="printadmin-step-9"><para><indexterm><primary>printers</primary><secondary>disabling (how to)</secondary></indexterm><indexterm><primary>disabling</primary><secondary>printers (how to)</secondary></indexterm>Stop the printer.</para><para>For information about how to stop printing, see <olink targetptr="printadmin-22348" remap="internal">How to Enable or Disable a Printer</olink>.</para>
</step><step><para>Start Solaris Print Manager as described in the procedure, <olink targetptr="printsetup-6" remap="internal">How to Start Solaris Print Manager</olink>.</para>
</step><step><para>To delete the printer, follow these steps:</para><substeps><step><para>From the list of available printers, select the printer that you
want to delete.</para>
</step><step><para>From the Printer menu, select Delete Printer.</para>
</step><step><para>Click OK to save your changes.</para>
</step>
</substeps>
</step><step id="printadmin-step-107"><para>Verify that the printer has been deleted:</para><screen># <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable></screen>
</step>
</procedure>
</task>
</sect1><sect1 id="gfjsi"><title>Administering Printers and the Print Scheduler by
Using LP Print Commands (Task Map)</title><informaltable frame="all"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Delete a printer and remove printer access.</para>
</entry><entry><para>If a printer needs to be replaced or moved to a different location,
you can delete information about the printer from the <replaceable>print-client</replaceable></para>
</entry><entry><para><olink targetptr="gfjoi" remap="internal">How to Delete a Printer and Remove Printer
Access by Using LP Print Commands</olink></para>
</entry>
</row><row><entry><para>Check the status of printers.</para>
</entry><entry><para>Use the <command>lpstat</command> command to check the status of all
printers or a specific printer. This command allows you to determine which
printers are available for use and enables you to examine the characteristics
of those printers. </para>
</entry><entry><para><olink targetptr="printadmin-55230" remap="internal">How to Check the Status of Printers</olink></para>
</entry>
</row><row><entry><para>Stop the print scheduler.</para>
</entry><entry><para>If the print scheduler stops accepting print requests, you might need
to stop and restart the print scheduler.</para>
</entry><entry><para><olink targetptr="printadmin-22789" remap="internal">How to Stop the Print Scheduler</olink></para>
</entry>
</row><row><entry><para>Restart the print scheduler.</para>
</entry><entry><para>After you stop the print scheduler, you will need to restart the print
scheduler, so the printer can begin accepting requests.</para>
</entry><entry><para><olink targetptr="printadmin-29920" remap="internal">How to Restart the Print Scheduler</olink></para>
</entry>
</row><row><entry><para>Start the print scheduler with options.</para>
</entry><entry><para>There are two ways to pass options to the print scheduler under the
Solaris Management Facility (SMF). You can set options for the duration of
a call, or you can set options to remain over a system boot.</para>
</entry><entry><para><olink targetptr="fbdye" remap="internal">How to Set Print Option Values Only for the
Duration of a Call</olink></para><para><olink targetptr="fbdyy" remap="internal">How to Set Printer Option Values That Remain
Over a System Reboot</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><task id="gfjoi"><title>How to Delete a Printer and Remove Printer Access
by Using LP Print Commands</title><tasksummary><para>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.</para>
</tasksummary><procedure><step id="admin-step-3"><para><indexterm id="admin-ix377"><primary>print client</primary><secondary>deleting access to printers (how to)</secondary></indexterm>Log
in as superuser, <literal>lp</literal>, or assume an equivalent role on a
print client that has access to the printer you want to delete.</para>
</step><step id="printadmin-step-4"><para>On the system that is the print client,
delete information about the printer.</para><screen># <userinput>lpadmin -x</userinput> <replaceable>printer-name</replaceable></screen><variablelist><varlistentry><term><option>x</option></term><listitem><para>Deletes the specified printer.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer you want to delete.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="printadmin-step-7"><para>Log in as superuser, <literal>lp</literal>,
or assume an equivalent role on the print server.</para>
</step><step id="printadmin-step-8"><para><indexterm id="printadmin-ix380"><primary>print requests</primary><secondary>rejecting (how to)</secondary></indexterm><indexterm id="printadmin-ix381"><primary>rejecting print requests (how to)</primary></indexterm>On the system that is the printer server, stop accepting print
requests for the printer.</para><screen># <userinput>reject</userinput> <replaceable>printer-name</replaceable></screen><para><command>reject</command> <replaceable>printer-name</replaceable> rejects
print requests for the specified printer.</para><para>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 <olink targetptr="printadmin-73033" remap="internal">How to Accept or Reject Print Requests
for a Printer</olink>.</para>
</step><step id="admin-step-9"><para><indexterm id="admin-ix382"><primary>printers</primary><secondary>disabling (how to)</secondary></indexterm><indexterm><primary>disabling</primary><secondary>printers (how to)</secondary></indexterm>On the system
that is the print server, stop the printer. </para><screen># <userinput>disable</userinput> <replaceable>printer-name</replaceable></screen><para>This step stops print requests from printing. For a detailed description
on how to stop printing, see <olink targetptr="printadmin-22348" remap="internal">How to Enable
or Disable a Printer</olink>.</para>
</step><step id="admin-step-10"><para>Move any print requests that are still in the
queue to another printer.</para><para>For information about how to move print
requests to another printer, see <olink targetptr="printadmin-22663" remap="internal">How to
Move Print Requests to Another Printer</olink>.</para>
</step><step id="admin-step-11"><para><indexterm id="admin-ix385"><primary>print server</primary><secondary>deleting printer from (how to)</secondary></indexterm>On the system that is the print server, delete the printer.</para><screen># <userinput>lpadmin -x</userinput> <replaceable>printer-name</replaceable></screen>
</step><step id="admin-step-107"><para>Verify that the printer information has been
deleted:</para><substeps><step id="admin-step-122"><para>Confirm that the printer information has been
deleted on the print client.</para><screen>$ <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable> <userinput>-l</userinput></screen><para>In the command output, you should receive an error indicating that the
printer does not exist.</para>
</step><step id="admin-step-108"><para>Confirm that the printer information has been
deleted on the print server.</para><screen>$ <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable> <userinput>-l</userinput></screen><para>In the command output, you should receive an error indicating that the
printer does not exist.</para>
</step>
</substeps>
</step>
</procedure><example id="emjfg"><title>Deleting a Printer and Remote Printer Access</title><para>The following example shows how to delete the printer <literal>luna</literal> from
the print client <literal>terra</literal> and from the print server <literal>jupiter</literal>. This example also shows how to delete the print client <literal>terra</literal> from the print server.</para><screen>terra# <userinput>lpadmin -x luna</userinput>
Removed &ldquo;luna&rdquo;.
terra# <userinput>lpstat -p luna -l</userinput> 
jupiter# <userinput>lpadmin -x luna</userinput>
Removed &ldquo;terra&rdquo;.
jupiter# <userinput>lpstat -p luna -l</userinput> </screen>
</example>
</task><sect2 id="gfjon"><title>Checking Printer Status</title><indexterm id="printconcept-ix125"><primary>printer status</primary>
</indexterm><indexterm><primary>checking printer status</primary>
</indexterm><para>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 <command>lpstat</command> command
to find status information about the LP print service or a specific printer.</para><para>If a PPD file was used to create or modify a print queue, the specific
PPD file is listed in the <command>lpstat</command> output. If a PPD file
was not specified when the print queue was created, the PPD entry in the <command>lpstat</command> output is <literal>none</literal>.</para>
</sect2><task id="printadmin-55230"><title>How to Check the Status of Printers</title><indexterm><primary>status of printers</primary><secondary>how to check</secondary>
</indexterm><procedure><step id="printadmin-step-16"><para>Log in to any system on the network.</para>
</step><step id="printadmin-step-17"><para>Check the status of printers.</para><para>Only
the most commonly used options are shown here. For other options, see the<olink targetdoc="refman" targetptr="lpstat-1" remap="external"><citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry></olink> man page.</para><screen>$ <userinput>lpstat</userinput> [<userinput>-d</userinput>] [<userinput>-p</userinput>] <replaceable>printer-name</replaceable> [<userinput>-D</userinput>] [<userinput>-l</userinput>] [<userinput>-t</userinput>]</screen><variablelist><varlistentry><term><option>d</option></term><listitem><para>Shows the system's default printer.</para>
</listitem>
</varlistentry><varlistentry><term><option>p</option> <replaceable>printer-name</replaceable></term><listitem><para>Shows if a printer is active or idle, when the printer was
enabled or disabled, and whether the printer is accepting print requests.</para><para>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 <replaceable>printer-name</replaceable>, the status of all printers is displayed. </para>
</listitem>
</varlistentry><varlistentry><term><option>D</option></term><listitem><para>Shows the description of the specified <replaceable>printer-name</replaceable>.</para>
</listitem>
</varlistentry><varlistentry><term><option>l</option></term><listitem><para>Shows the characteristics of the specified <replaceable>printer-name</replaceable>.</para>
</listitem>
</varlistentry><varlistentry><term><option>t</option></term><listitem><para>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.</para>
</listitem>
</varlistentry>
</variablelist>
</step>
</procedure><example id="emjfq"><title>Checking the Status of Printers</title><para>The following example shows how to display the system's default printer.</para><screen>$ <userinput>lpstat -d</userinput>
system default destination: luna</screen><para>The following example shows how to display the status of the printer <literal>luna</literal>.</para><screen>$ <userinput>lpstat -p luna</userinput>
printer luna is idle. enabled since Jul 12 11:17 2001. available.</screen><para>The following example shows how to display the description of the printers <literal>asteroid</literal> and <literal>luna</literal>.</para><screen>$ <userinput>lpstat -p "asteroid luna" -D</userinput>
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.</screen><para>The following example shows how to display the characteristics of the
printer <literal>luna</literal>.</para><screen>$ <userinput>lpstat -p luna -l</userinput>
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:</screen>
</example>
</task><sect2 id="printconcept-16"><title>Stopping and Restarting the Print Scheduler</title><indexterm><primary><command>svcs application/print/server</command></primary><secondary>stopping and restarting the print scheduler</secondary>
</indexterm><indexterm id="printconcept-ix126"><primary>restarting</primary><secondary>print scheduler (how to)</secondary>
</indexterm><indexterm id="printconcept-ix127"><primary>print scheduler</primary><secondary>restarting (how to)</secondary>
</indexterm><para>The print scheduler, <command>lpsched</command>, 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 <command>lpadmin</command> command automatically enables the <command>lpsched</command> 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.</para>
</sect2><task id="printadmin-22789"><title>How to Stop the Print Scheduler</title><indexterm><primary><command>svcadm disable application/print/server</command></primary><secondary>stopping the print scheduler</secondary>
</indexterm><indexterm><primary>print scheduler</primary>
</indexterm><indexterm><primary>stopping</primary>
</indexterm><procedure><step id="printadmin-step-20"><para>Log in as superuser, <literal>lp</literal>,
or assume an equivalent role on the print server.</para>
</step><step id="printadmin-step-21"><para>Determine if the print scheduler is running.</para><screen># <userinput>svcs application/print/server</userinput></screen><para>You can also use the <command>lpstat</command> <option>r</option> command
to determine if the print scheduler is running.</para><para>If the print scheduler is not running, the message <literal>scheduler
is not running</literal> is displayed.</para>
</step><step id="printadmin-step-22"><para>If the print scheduler is running, stop
it.</para><screen># <userinput>svcadm disable application/print/server</userinput></screen><para>You can also use the <command>lpshut</command> command to stop the print
scheduler.</para>
</step>
</procedure>
</task><task id="printadmin-29920"><title>How to Restart the Print Scheduler</title><indexterm><primary><command>svcadm enable application/print/server</command></primary><secondary>restarting the print scheduler</secondary>
</indexterm><indexterm><primary>print scheduler</primary>
</indexterm><indexterm><primary>starting</primary>
</indexterm><procedure><step id="printadmin-step-24"><para>Log in as superuser, <literal>lp</literal>,
or assume an equivalent role on the print server.</para>
</step><step id="printadmin-step-25"><para>Determine if the print scheduler is running.</para><screen># <userinput>svcs application/print/server</userinput></screen><para>You can also use the <command>lpstat</command> <option>r</option> command
to determine if the print scheduler is running.</para><para>If the print scheduler is not running, the message <literal>scheduler
is not running</literal> is displayed.</para>
</step><step id="printadmin-step-26"><para>If the print scheduler is not running,
start it.</para><screen># <userinput>svcadm enable application/print/server</userinput></screen><para>You can also use the <command>/usr/lib/lpsched</command> command to
start the print scheduler. For more information about the difference between
starting the print scheduler by using the <command>/usr/lib/lpsched</command> command
or by using the <command>svcadm enable application/print server</command> command,
see <olink targetptr="fbdyt" remap="internal">Starting the Print Scheduler With Options</olink>.</para>
</step>
</procedure>
</task><sect2 id="fbdyt"><title>Starting the Print Scheduler With Options</title><itemizedlist><para>There are two ways to pass options to the print scheduler by using SMF:</para><listitem><para>By modifying option values only for the duration of a call.</para><para>Use the <command>/usr/lib/lpsched</command> 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 <olink targetdoc="refman" targetptr="lpsched-1m" remap="external"><citerefentry><refentrytitle>lpsched</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page for more information
about these default values and reasons for changing them.</para>
</listitem><listitem><para>By maintaining option values over a system reboot, or if the
print scheduler is restarted.</para><para>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 <command>svccfg</command> command.</para><itemizedlist><para>The properties are as follows:</para><listitem><para><literal>lpsched/num_filters</literal></para>
</listitem><listitem><para><literal>lpsched/num_notifiers</literal></para>
</listitem><listitem><para><literal>lpsched/fd_limit</literal></para>
</listitem><listitem><para><literal>lpsched/reserved_fds</literal></para>
</listitem>
</itemizedlist><para>Any options that are not set with the <command>svccfg</command> command
will use the default values that are in the print scheduler. For more information
about using the <command>svccfg</command> command, see the <olink targetdoc="refman" targetptr="svccfg-1m" remap="external"><citerefentry><refentrytitle>svccfg</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page.</para>
</listitem>
</itemizedlist>
</sect2><task id="fbdye"><title>How to Set Print Option Values Only for the Duration
of a Call</title><procedure><step><para>Become superuser, <literal>lp</literal>, or assume an equivalent
role.</para><para>Roles contain authorizations and privileged commands. For
more information about roles, see <olink targetdoc="sysadv6" targetptr="rbactask-15" remap="external"><citetitle remap="section">Configuring RBAC (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para>
</step><step><para>Set option values.</para><screen># <userinput>/usr/lib/lpsched <replaceable>option</replaceable> <replaceable>value</replaceable></userinput></screen><variablelist><varlistentry><term><option>f</option> num_filters</term><listitem><para>Specifies the number of concurrent slow  filters  that can
be run on a print server. </para>
</listitem>
</varlistentry><varlistentry><term><option>n</option> num_notifiers</term><listitem><para>Specifies the number of concurrent notification processes
that can run on a print server.</para>
</listitem>
</varlistentry><varlistentry><term><option>p</option> fd_limit</term><listitem><para>Specifies the file descriptor resource limit for the <command>lpsched</command>  process.</para>
</listitem>
</varlistentry><varlistentry><term><option>r</option> reserved_fds</term><listitem><para>Specifies the number of file descriptors that the scheduler
reserves for internal communications under heavy load.</para>
</listitem>
</varlistentry>
</variablelist>
</step>
</procedure><example id="fbdze"><title>Setting Option Values Only for the Duration of a Call</title><para>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.</para><screen># <userinput>/usr/lib/lpsched -f 2</userinput></screen><para>To use the default options that are in the print scheduler, run the <command>/usr/lib/lpsched</command> command without any options.</para><para>Note that starting the print scheduler by using the <command>/usr/lib/lpsched</command> command does not utilize the values that are set with the <command>svccfg</command> command.</para>
</example>
</task><task id="fbdyy"><title>How to Set Printer Option Values That Remain Over
a System Reboot</title><procedure><step><para>Become superuser, <literal>lp</literal>, or assume an equivalent
role.</para><para>Roles contain authorizations and privileged commands. For
more information about roles, see <olink targetdoc="sysadv6" targetptr="rbactask-15" remap="external"><citetitle remap="section">Configuring RBAC (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para>
</step><step><para>Set one or all options.</para><screen># <userinput>svccfg
svc:&gt; select svc:/application/print/server
svc:/application/print/server&gt; setprop <replaceable>property</replaceable> = <replaceable>value</replaceable>
.
.
.
svc:/application/print/server&gt; quit</userinput></screen><para>For each option that you want to set, repeat the <command>setprop <replaceable>property</replaceable> = <replaceable>value</replaceable></command> command
on a separate line.</para>
</step><step><para>Verify that the option has been correctly set by displaying the
current values of the print server properties.</para><screen># <userinput>svcprop svc:/application/print/server</userinput></screen>
</step><step><para>Restart the print scheduler.</para><itemizedlist><listitem><para>If the print scheduler is not running, use the following commands:</para><screen># <userinput>svcadm refresh svc:/application/print/server</userinput>
# <userinput>svcadm enable svc:/application/print/server</userinput></screen>
</listitem><listitem><para>If the print scheduler is running, use the following commands:</para><screen># <userinput>svcadm refresh svc:/application/print/server</userinput>
# <userinput>svcadm restart svc:/application/print/server</userinput></screen>
</listitem>
</itemizedlist><para>To determine if the print scheduler is running, run the <command>svcs
application/print/server</command> command.</para>
</step>
</procedure><example id="fbdyw"><title>Setting Printer Option Values That Remain Over a System Reboot</title><para>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.</para><screen># <userinput>svccfg
svc:&gt; select svc:/application/print/server
svc:/application/print/server&gt; setprop lpsched/num_filters = count: 1
svc:/application/print/server&gt; quit</userinput></screen><para>This example shows how to set all options.</para><screen># <userinput>svccfg
svc:&gt; select svc:/application/print/server
svc:/application/print/server&gt; setprop lpsched/num_filters = count: 1
svc:/application/print/server&gt; setprop lpsched/num_notifiers = count: 1
svc:/application/print/server&gt; setprop lpsched/fd_limit = count: 4096
svc:/application/print/server&gt; setprop lpsched/reserved_fds = count: 2
svc:/application/print/server&gt; quit</userinput></screen><para>The following is a sample script that sets all options.</para><screen>#!/bin/ksh

svccfg &lt;&lt;-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</screen>
</example>
</task>
</sect1><sect1 id="gfjpw"><title>Setting Printer Definitions by Using LP Print Commands
(Task Map)</title><informaltable frame="all"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Add a printer description.</para>
</entry><entry><para>Use the <command>lp</command> command with the<option>p</option> option
to add a printer description.</para>
</entry><entry><para><olink targetptr="printadmin-5177" remap="internal">How to Add a Printer Description
by Using LP Print Commands</olink></para>
</entry>
</row><row><entry><para>Set a default printer for a system.</para>
</entry><entry><para>Specify a default printer destination for a user so the user does not
need to type the printer name.</para>
</entry><entry><para><olink targetptr="gfjex" remap="internal">How to Set a System's Default Printer Destination
by Using LP Print Commands</olink></para>
</entry>
</row><row><entry><para>Make banner pages optional.</para>
</entry><entry><para>Give users a choice to turn off printing of a banner page when they
submit a print request. </para>
</entry><entry><para><olink targetptr="gfjiu" remap="internal">How to Make Banner Pages Optional by Using
LP Print Commands</olink></para>
</entry>
</row><row><entry><para>Turn off banner pages.</para>
</entry><entry><para>Set the <literal>-o banner=never</literal> variable for a printer you
can turn off banner pages under all circumstances.</para>
</entry><entry><para><olink targetptr="gfjix" remap="internal">How to Turn Off Banner Pages by Using LP Print
Commands</olink></para>
</entry>
</row><row><entry><para>Define a class of printers.</para>
</entry><entry><para>Group printers in a class by using the <command>lpadmin</command> <option>c</option> command.</para><itemizedlist><para>Printers can be grouped in the following classes:</para><listitem><para>Printer type</para>
</listitem><listitem><para>Location</para>
</listitem><listitem><para>Work group</para>
</listitem>
</itemizedlist>
</entry><entry><para><olink targetptr="gfjil" remap="internal">How to Define a Class of Printers by Using
LP Print Commands</olink></para>
</entry>
</row><row><entry><para>Set fault alters for a printer.</para>
</entry><entry><para>The print service can notify you when it detects a printer fault. Use
the <option>A</option> option with the <command>lpadmin</command> command
to set fault alerts for a printer.</para>
</entry><entry><para><olink targetptr="gfjhy" remap="internal">How to Set Fault Alerts for a Printer by Using
LP Print Commands</olink></para>
</entry>
</row><row><entry><para>Set printer fault recovery.</para>
</entry><entry><para>You can choose not to receive any fault notification. You can find out
about printing faults so that you can correct the problem. Use the <option>F</option> option
with the <command>lpadmin</command> command to define fault recovery options.</para>
</entry><entry><para><olink targetptr="gfjhl" remap="internal">How to Set Printer Fault Recovery by Using
LP Print Commands</olink></para>
</entry>
</row><row><entry><para>Limit user access to a printer.</para>
</entry><entry><para>To control user access to printers, create allow and deny lists on the
print server.</para>
</entry><entry><para><olink targetptr="gfjib" remap="internal">How to Limit User Access to a Printer by Using
LP Print Commands</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><sect2 id="gfjpn"><title>Setting Printer Definitions by Using LP Print Commands</title><para>Setting definitions for the printers on your network is an ongoing task
that lets you provide a more effective print environment for users. For example,
you can assign printer descriptions for all your site's printers to help users
find where a printer is located. Or, you can define a class of printers to
provide the fastest turnaround for print requests. See <olink targetptr="ermjv" remap="internal">Specifying
a PPD File When Setting Up a Printer by Using LP Print Commands</olink> for
more information about setting printer definitions by using LP print commands.</para><para>Many printer definitions can be set or reset by using Solaris Print
Manager. For more information, see <olink targetptr="set-attr1" remap="internal">Setting Printer
Definitions by Using Solaris Print Manager</olink>.</para><para>The following procedures provide step-by-step instructions on setting
or resetting printer definitions by using LP Print Commands. These procedures
show how to quickly set or reset printer definitions.</para><task id="printadmin-5177"><title>How to Add a Printer Description by Using
LP Print Commands</title><procedure><step id="gfjgv"><para><indexterm id="gfjfa"><primary>adding</primary><secondary>printer description (how to)</secondary></indexterm><indexterm id="pr-desc-add-1"><primary>printer description</primary><secondary>adding with <command>lpadmin</command> command (how to)</secondary></indexterm>Log
in as superuser, <literal>lp</literal>, or assume an equivalent role on the
print server.</para>
</step><step id="gfjgy"><para><indexterm id="gfjgw"><primary><command>lpadmin</command> command</primary><secondary>adding printer description with (how to)</secondary></indexterm>Add a printer description.  </para><screen># <userinput>lpadmin -p</userinput> <replaceable>printer-name</replaceable> <userinput>-D</userinput> "<replaceable>comment</replaceable>"</screen><variablelist><varlistentry><term><option>p</option> <replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer for which you are adding
a description.</para>
</listitem>
</varlistentry><varlistentry><term><option>D</option> <replaceable>"comment"</replaceable></term><listitem><para>Specifies the characteristics of the printer, such as the
location or administrative contact. Enclose characters that the shell might
interpret, such as <literal>*</literal>, <literal>?</literal>, <literal>\</literal>, <literal>!</literal>, <literal>^</literal>, in single quotation marks.</para>
</listitem>
</varlistentry>
</variablelist><para>For more information, see the <olink targetdoc="refman" targetptr="lpadmin-1m" remap="external"><citerefentry><refentrytitle>lpadmin</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page.</para>
</step><step id="verify-1"><para>Verify that the <literal>Description</literal> information
is correct.</para><screen># <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable> <userinput>-l</userinput></screen>
</step>
</procedure><example id="gfjer"><title>Adding a Printer Description</title><para>The following example shows how to add a printer description for the
printer <literal>luna</literal>.</para><screen># <userinput>lpadmin -p luna -D "Nathans office"</userinput></screen>
</example>
</task>
</sect2><sect2 id="gfjfj"><title>Setting Up a Default Printer Destination by Using
LP Print Commands</title><indexterm id="gfjfr"><primary>default printer</primary><secondary>setting with <command>lpadmin</command> command (overview)</secondary>
</indexterm><indexterm id="gfjeo"><primary>printer destination</primary><secondary>setting with <command>lpadmin</command> command (overview)</secondary>
</indexterm><para>You can specify a default printer destination for a user so that the
user does not need to type the printer name when using the print commands.
Before you can designate a printer as the default, the printer must be known
to the print service on the system.</para><itemizedlist><para>Set a user's default printer destination by setting any of the following:</para><listitem><para><literal>LPDEST</literal> environment variable</para>
</listitem><listitem><para><literal>PRINTER</literal> environment variable</para>
</listitem><listitem><para>The <literal>_default</literal> variable in the user's <filename>.PRINTERS</filename> file</para>
</listitem><listitem><para>The system's default printer by using the <command>lpadmin</command> <option>d</option> command or Solaris Print Manager</para>
</listitem>
</itemizedlist><para>When an application provides a printer destination, that destination
is used by the print service, regardless of whether you have set a system's
default printer destination. If an application doesn't provide a printer destination
or if you don't provide a printer name when using a print command, the print
command searches for the default printer in a specific order. The following
table shows the search order for a system's default printer destination.</para><table frame="topbot" id="gfjep"><title>Search Order for Default Printer Destinations</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colname="column1" colwidth="72*"/><colspec colname="column2" colwidth="144*"/><colspec colname="column3" colwidth="141*"/><thead><row rowsep="1"><entry><para>Search Order</para>
</entry><entry><para>Using <command>/usr/bin/lp</command> Command</para>
</entry><entry><para>Using LPD-Based Compatibility Commands (<command>lpr</command>, <command>lpq</command>, and <command>lprm</command>)</para>
</entry>
</row>
</thead><tbody><row><entry><para>First</para>
</entry><entry><para><literal>LPDEST</literal> variable</para>
</entry><entry><para><literal>PRINTER</literal> variable</para>
</entry>
</row><row><entry><para>Second</para>
</entry><entry><para><literal>PRINTER</literal> variable</para>
</entry><entry><para><literal>LPDEST</literal> variable</para>
</entry>
</row><row><entry><para>Third</para>
</entry><entry><para>System's default printer</para>
</entry><entry><para>System's default printer</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2><task id="gfjex"><title>How to Set a System's Default Printer Destination
by Using LP Print Commands</title><procedure><step id="gfjeq"><para><indexterm id="gfjhi"><primary>default printer</primary><secondary>setting with <command>lpadmin</command> command (how to)</secondary></indexterm>Log in as superuser, <literal>lp</literal>, or assume an equivalent
role on the system where you want to set a default printer.</para>
</step><step id="gfjjg"><para><indexterm id="gfjju"><primary><command>lpadmin</command> command</primary><secondary>setting default printer with (how to)</secondary></indexterm>Set the system's default printer.</para><screen># <userinput>lpadmin -d</userinput> [<replaceable>printer-name</replaceable>]</screen><para><command>-d</command> <replaceable>printer-name</replaceable> specifies
the name of the printer you are assigning as the system's default printer.
If you don't specify <replaceable>printer-name</replaceable>, the system is
set up with no default printer.</para>
</step><step id="gfjhr"><para>Check the system's default printer.</para><screen># <userinput>lpstat -d</userinput></screen>
</step>
</procedure><example id="gfjjz"><title>Setting a System's Default Printer Destination</title><para><indexterm id="gfjhw"><primary><literal>LPDEST</literal> environment variable</primary></indexterm><indexterm id="gfjjm"><primary>environment variables</primary><secondary><literal>LPDEST</literal></secondary></indexterm><indexterm id="gfjjy"><primary><literal>PRINTER</literal> environment variable</primary></indexterm><indexterm id="gfjhx"><primary>environment variables</primary><secondary><literal>PRINTER</literal></secondary></indexterm>The following
example shows how to set the printer <literal>luna</literal> as the system's
default printer. The printer <literal>luna</literal> is used as the system's
default printer if the <literal>LPDEST</literal> or the <literal>PRINTER</literal> environment
variables are not set.</para><screen># <userinput>lpadmin -d luna</userinput>
# <userinput>lpstat -d</userinput>
system default destination: luna</screen>
</example>
</task><sect2 id="gfjji"><title>Printing Banner Pages by Using LP Print Commands</title><indexterm id="gfjja"><primary>banner pages</primary><secondary>setting</secondary><tertiary>with <command>lpadmin</command> command</tertiary>
</indexterm><indexterm id="gfjhn"><primary>printing</primary><secondary>banner pages</secondary>
</indexterm><para><indexterm id="gfjjd"><primary>print requests</primary><secondary>IDs</secondary><tertiary>in banner page</tertiary></indexterm>A banner page identifies who
submitted the print request, the print request ID, and when the request was
printed. A banner page also has a modifiable title to help users identify
their printouts.  </para><para><indexterm id="gfjjp"><primary>banner pages</primary><secondary>reasons to turn off</secondary></indexterm>Banner pages make identifying the owner
of a print job easy, which is especially helpful when many users submit jobs
to the same printer. However, printing banner pages uses more paper and might
be unnecessary if a printer has only a few users. In some cases, printing
banner pages is undesirable. For example, if a printer has special paper or
forms mounted, such as paycheck forms, printing banner pages might cause problems. </para><para>By default, the print service forces banner pages to be printed. However,
you can give users a choice to turn off printing of a banner page when they
submit a print request. You can set this choice through the <command>lpadmin</command> command
or through Solaris Print Manager. If you give the users a choice, they have
to use the <option>o banner</option> option to turn off banner page printing.</para><para>Also, if you don't need or want banner pages, you can turn off banner
pages so that they are never printed. You can turn off banner page printing
by using the <command>lpadmin</command> command or through Solaris Print Manager.</para><table frame="topbot" id="gfjih"><title>Banner Page Printing</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row rowsep="1"><entry><para>Command Used</para>
</entry><entry><para>Banner Page Printing</para>
</entry><entry><para>Override?</para>
</entry>
</row>
</thead><tbody><row><entry><para><command>lpadmin -p</command> <replaceable>printer</replaceable> <option>o
banner</option> OR</para><para><command>lpadmin -p</command> <replaceable>printer</replaceable> <option>o
banner=always</option></para>
</entry><entry><para>Required and printed</para>
</entry><entry><para>If you are a regular user and use <command>p -o nobanner</command>,
the request is printed. However, the <literal>nobanner</literal> argument
is ignored.</para><para>If you are superuser (<literal>root</literal>), or another privileged
user, the <literal>nobanner</literal> argument is honored.</para>
</entry>
</row><row><entry><para><command>lpadmin -p</command> <replaceable>printer</replaceable> <option>o
nobanner</option></para><para><command>lpadmin -p</command> <replaceable>printer</replaceable> <option>o
banner=optional</option></para>
</entry><entry><para>On by default, but can be disabled on a per request basis with the <command>lp -o nobanner</command> command</para>
</entry><entry><para>Not applicable.</para>
</entry>
</row><row><entry><para><command>lpadmin -p</command> <replaceable>printer</replaceable> <option>o
banner=never</option></para>
</entry><entry><para>Disabled</para>
</entry><entry><para>No, if you are a regular user. If you are superuser (<literal>root</literal>),
or the <literal>lp</literal> user, you can override this option to cause the
generation of a burst page.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2><task id="gfjiu"><title>How to Make Banner Pages Optional by Using LP Print
Commands</title><procedure><step id="gfjir"><para><indexterm id="gfjht"><primary>banner pages</primary><secondary>making optional (how to)</secondary></indexterm>Log in as superuser, <literal>lp</literal>, or assume an equivalent role on the print server.</para>
</step><step id="gfjjo"><para>Make banner pages optional.</para><screen># <userinput>lpadmin -p</userinput> <replaceable>printer-name</replaceable> <userinput>-o banner=optional</userinput></screen><variablelist><varlistentry><term><option>p</option> <replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer for which you are making
banner pages optional.</para>
</listitem>
</varlistentry><varlistentry><term><option>o banner=optional</option></term><listitem><para>Enables users to specify no banner page when they submit a
print request.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="gfjjn"><para>Verify that the banner page is optional. The command
output contains the line <literal>Banner not required</literal>.</para><screen># <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable> <userinput>-l</userinput></screen>
</step>
</procedure><example id="gfjie"><title>Making Banner Pages Optional</title><para>The following example shows how to make the banner page optional on
the printer <literal>luna</literal>.</para><screen># <userinput>lpadmin -p luna -o banner=optional</userinput></screen>
</example>
</task><task id="gfjix"><title>How to Turn Off Banner Pages by Using LP Print Commands</title><procedure><step id="gfjit"><para><indexterm id="gfjjv"><primary>banner pages</primary><secondary>turning off (how to)</secondary></indexterm>Log in as superuser, <literal>lp</literal>, or assume an equivalent role on the print server.</para>
</step><step id="gfjhd"><para>Turn off banner printing.</para><screen># <userinput>lpadmin -p</userinput> <replaceable>printer-name</replaceable> <userinput>-o banner=never</userinput></screen><variablelist><varlistentry><term><option>p</option> <replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer for which you are turning
off banner pages.</para>
</listitem>
</varlistentry><varlistentry><term><option>o banner=never</option></term><listitem><para>Disables banner page printing under all circumstances.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="gfjii"><para>Verify that banner printing is turned off. </para><screen># <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable> <userinput>-l</userinput></screen><para>The command output contains the line <literal>Banner not printed</literal>.</para>
</step><step id="gfjhq"><para>Submit a print request to the printer to ensure that
a banner page does not print.</para>
</step>
</procedure><example id="gfjiw"><title>Turning Off Printing Banner Pages</title><para>The following example shows how to disable the printing of banner pages
on the printer <literal>luna</literal>.</para><screen># <userinput>lpadmin -p luna -o banner=never</userinput></screen>
</example>
</task><sect2 id="gfjjt"><title>Setting Up Printer Classes by Using LP Print Commands</title><indexterm id="gfjhv"><primary>printer class</primary>
</indexterm><indexterm id="gfjho"><primary>class (printer)</primary>
</indexterm><para>The LP print service enables you to group several locally attached printers
into one class. You can perform this task only by using the <command>lpadmin</command> <option>c</option> command.</para><para>After you set up a printer class, users can then specify that class,
rather than individual printers, as the destination for a print request. The
first printer in the class that is available to print is used. The result
is faster turnaround because printers are kept as busy as possible.</para><para>No default printer classes are known to the print service. Printer classes
exist only if you define them.</para><itemizedlist><para>Here are some ways you could define printer classes:</para><listitem><para><emphasis role="strong">By printer type</emphasis> &ndash;
For example, a PostScript printer.</para>
</listitem><listitem><para><emphasis role="strong">By location</emphasis> &ndash; For
example, a printer located on the 5th floor.</para>
</listitem><listitem><para><emphasis role="strong">By work group or department</emphasis> &ndash;
For example, the accounting department.</para>
</listitem>
</itemizedlist><para>Alternatively, a class might contain several printers that are used
in a particular order. The LP print service always checks for an available
printer in the order in which printers were added to a class. Therefore, if
you want a high-speed printer to be accessed first, add the high-speed printer
to the class before you add a low-speed printer. As a result, the high-speed
printer handles as many print requests as possible. The low-speed printer
is reserved as a backup printer when the high-speed printer is in use.</para><note><para>Print requests are balanced between printers in a class only for
local printers.</para>
</note><para>Class names, similar to printer names, must be unique and can contain
a maximum of 14 alphanumeric characters and underscores.</para><para>You are not obligated to define printer classes. You should add printer
classes only if you determine that using them would benefit users on the network. </para>
</sect2><task id="gfjil"><title>How to Define a Class of Printers by Using LP Print
Commands</title><procedure><step id="gfjhu"><para><indexterm id="gfjhh"><primary>printer class</primary><secondary>defining with <command>lpadmin</command> command (how to)</secondary></indexterm><indexterm id="gfjij"><primary>class (printer)</primary><secondary>defining with <command>lpadmin</command> command (how to)</secondary></indexterm>Log
in as superuser, <literal>lp</literal>, or assume an equivalent role on the
print server.</para>
</step><step id="gfjiq"><para><indexterm id="gfjia"><primary><command>lpadmin</command> command</primary><secondary>defining printer class with (how to)</secondary></indexterm>Define a class of printers. </para><screen># <userinput>lpadmin -p</userinput> <replaceable>printer-name</replaceable> <userinput>-c</userinput> <replaceable>printer-class</replaceable></screen><variablelist><varlistentry><term><option>p</option> <replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer you are adding to a class
of printers.</para>
</listitem>
</varlistentry><varlistentry><term><option>c</option> <replaceable>printer-class</replaceable></term><listitem><para>Specifies the name of a class of printers.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="gfjhe"><para>Verify that the printers are in a printer class.</para><screen># <userinput>lpstat -c</userinput> <replaceable>printer-class</replaceable></screen>
</step>
</procedure><example id="gfjis"><title>Defining a Class of Printers</title><para>The following example shows how to add the printer <literal>luna</literal> in
the printer class <literal>roughdrafts</literal>.</para><screen># <userinput>lpadmin -p luna -c roughdrafts</userinput></screen>
</example>
</task><sect2 id="gfjim"><title>Setting Up Printer Fault Alerts by Using LP Print
Commands</title><indexterm id="gfjhs"><primary>fault notification (printer)</primary><secondary>setting with <command>lpadmin</command> command (overview)</secondary>
</indexterm><indexterm id="gfjhj"><primary>printers</primary><secondary>fault notification</secondary>
</indexterm><itemizedlist><para>If you choose, the LP print service can notify you when it detects a
printer fault. With the <command>lpadmin</command> <option>A</option> command
or with Solaris Print Manager, you can select any of the following methods
to receive printer fault notification:</para><listitem><para>A message to the terminal on which <literal>root</literal> is
logged in</para>
</listitem><listitem><para>Electronic mail to <literal>root</literal></para>
</listitem><listitem><para>No notification</para>
</listitem>
</itemizedlist><para>However, the <command>lpadmin</command> <option>A</option> command offers
you an additional option of receiving a message specified by the program of
your choice. The <command>lpadmin</command> <option>A</option> command also
enables you to selectively turn off notification for an error that you already
know about.</para><para>Unless you specify a program to deliver fault notification, the content
of the fault alert is a predefined message that states that the printer has
stopped printing and needs to be fixed.</para><para><indexterm id="gfjip"><primary>fault notification (printer)</primary><secondary>values for alerts</secondary></indexterm>The following table lists
the alert values that you can set for a printer with the <command>lpadmin</command> <option>A</option> command. These alert values can also be set for print wheels, font
cartridges, and forms. </para><table frame="topbot" id="gfjik"><title>Values for Printer Fault Alerts</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="131*"/><colspec colname="column2" colwidth="226*"/><thead><row rowsep="1"><entry><para>Value for <option>A</option> <literal>alert</literal></para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>'<literal>mail</literal> [<replaceable>username</replaceable>]'</para>
</entry><entry><para>Sends the alert message by email to <literal>root</literal> or <literal>lp</literal> on
the print server, or the specified <replaceable>username</replaceable>, which
is a name of a user.</para>
</entry>
</row><row><entry><para>'<literal>write</literal> [<replaceable>user-name</replaceable>]'</para>
</entry><entry><para>Sends the alert message to the <literal>root</literal> or <literal>lp</literal> console
window on the print server, or to the console window of the specified <replaceable>username</replaceable>, which is a name of a user. The specified user must
be logged in to the print server to get the alert message.</para>
</entry>
</row><row><entry><para>'<replaceable>command</replaceable>'</para>
</entry><entry><para>Runs the specified <replaceable>command</replaceable> file for each
alert. The environment variables and current directory are saved and restored
when the file is executed.</para>
</entry>
</row><row><entry><para><literal>quiet</literal></para>
</entry><entry><para>Stops alerts until the fault is fixed. Use this valve when you, <literal>root</literal> or a specified user, receive repeated alerts.</para>
</entry>
</row><row><entry><para><literal>none</literal></para>
</entry><entry><para>Does not send any alerts. This value is the default if you don't specify
fault alerts for a printer.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2><task id="gfjhy"><title>How to Set Fault Alerts for a Printer by Using LP
Print Commands</title><procedure><step id="gfjiv"><para><indexterm id="gfjhp"><primary>alerts</primary><secondary>for printer faults (how to)</secondary></indexterm>Log in as superuser, <literal>lp</literal>, or assume an equivalent role on the print server.</para>
</step><step id="gfjid"><para><indexterm id="gfjjf"><primary><command>lpadmin</command> command</primary><secondary>setting printer fault alerts with (how to)</secondary></indexterm>Set fault alerts for a printer. </para><screen># <userinput>lpadmin -p</userinput> <replaceable>printer-name</replaceable> <userinput>-A</userinput> <replaceable>alert</replaceable> [<userinput>-W</userinput> <replaceable>minutes</replaceable>]</screen><variablelist><varlistentry><term><option>p</option> <replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer for which you are specifying
an alert for printer faults.</para>
</listitem>
</varlistentry><varlistentry><term><option>A</option> <replaceable>alert</replaceable></term><listitem><para><indexterm id="gfjjs"><primary>fault notification (printer)</primary><secondary>setting with <command>lpadmin</command> command (how to)</secondary></indexterm>Specifies what kind of alert occurs when the printer faults. Some
valid values are <literal>mail</literal>, <literal>write</literal>, and <literal>quiet</literal>. </para>
</listitem>
</varlistentry><varlistentry><term><option>W</option> <replaceable>minutes</replaceable></term><listitem><para>Specifies how often, in minutes, the fault alert occurs. If
you don't specify this option, the alert is sent one time.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="gfjjk"><para>Verify that the fault alert has been sent properly.</para><screen># <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable> <userinput>-l</userinput></screen>
</step>
</procedure><example id="gfjjj"><title>Setting Fault Alerts for a Printer</title><para>The following example shows how to set up the printer <literal>mars</literal> to
send fault alerts by email to a user named <literal>joe</literal>. A reminder
is sent every 5 minutes.</para><screen># <userinput>lpadmin -p mars -A 'mail joe' -W 5</userinput></screen><para>The following example shows how to set up the printer <literal>venus</literal> to
send fault alerts to the console window. A reminder i sent every 10 minutes.</para><screen># <userinput>lpadmin -p venus -A write -W 10</userinput></screen><para>The following example shows how to stop fault alerts for the printer <literal>mercury</literal>.</para><screen># <userinput>lpadmin -p mercury -A none</userinput></screen><para>The following example shows how to stop fault alerts until the printer <literal>venus</literal> has been fixed.</para><screen># <userinput>lpadmin -p venus -A quiet</userinput></screen>
</example>
</task><sect2 id="gfjhf"><title>Setting Up Printer Fault Recovery by Using LP Print
Commands</title><para>If you choose not to send any fault notification, you can still find
out about printer faults so that you can correct the problem. The LP print
service will not continue to use a printer that has a fault. In addition to
alerts for printer faults, you can also provide alerts that instruct you to
mount print wheels, font cartridges, and forms when print requests require
them.</para><para>You can define the fault recovery options for a printer only by using
the <command>lpadmin</command> <option>F</option> command. This task is not
available in Solaris Print Manager.</para><para>Printer faults can be as simple as running out of paper or needing to
replace a toner cartridge. More serious problems can include complete printer
failure or power failure.</para><itemizedlist><para>After you fix a printer fault, the print request that was active when
the fault occurred begins printing in one of three ways:</para><listitem><para>Starts printing from the beginning</para>
</listitem><listitem><para>Continues printing from the top of the page where printing
stopped</para>
</listitem><listitem><para>After you enable the printer, continues printing from the
top of the page where the printing stopped</para>
</listitem>
</itemizedlist><para>The LP print service requires a separate print filter to continue printing
from the top of a page where the printing stopped. This print filter records
the control sequences set by the default print filters. The printer uses these
control sequences to track page boundaries. You will be notified by the LP
print service if recovery cannot proceed with the specified print filter.
For information about writing filters, see <olink targetptr="printcust-53777" remap="internal">How
to Create a New Print Filter</olink>. </para><para>If you want printing to resume immediately after a printer fault is
fixed, enable the printer by using the <command>enable</command> command. </para><para><indexterm id="gfjhm"><primary>printers</primary><secondary>fault recovery (overview)</secondary></indexterm>The following table lists the fault recovery
values that you can set for a printer by using the <command>lpadmin</command> <option>F</option> command. </para><table frame="topbot" id="gfjhg"><title>Values for Printer Fault Recovery</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="131*"/><colspec colname="column2" colwidth="228*"/><thead><row rowsep="1"><entry><para>Value for <option>F</option> <replaceable>recover-options</replaceable></para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para><literal>beginning</literal></para>
</entry><entry><para>After a fault recovery, printing restarts from the beginning of the
file.</para>
</entry>
</row><row><entry><para><literal>continue</literal></para>
</entry><entry><para><indexterm id="gfjif"><primary>print filters</primary><secondary>required for printer fault recovery</secondary></indexterm>After a fault recovery,
printing starts at the top of the page where the printing stopped. This recovery
option requires a print filter. </para>
</entry>
</row><row><entry><para><literal>wait</literal></para>
</entry><entry><para>After a fault recovery, printing stops until you enable the printer.
After you enable the printer by using the <command>enable</command> command,
printing starts at the top of the page where printing stopped. This recovery
option requires a print filter.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2><task id="gfjhl"><title>How to Set Printer Fault Recovery by Using LP Print
Commands</title><procedure><step id="gfjiy"><para>Log in as superuser, <literal>lp</literal>, or assume
an equivalent role on the print server.</para>
</step><step id="gfjhk"><para><indexterm id="gfjjw"><primary><command>lpadmin</command> command</primary><secondary>setting printer fault recovery with (how to)</secondary></indexterm>Set up fault recovery for the printer. </para><screen># <userinput>lpadmin -p</userinput> <replaceable>printer-name</replaceable> <userinput>-F</userinput> <replaceable>recovery-options</replaceable></screen><variablelist><varlistentry><term><option>p</option> <replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer for which you are specifying
fault recovery.</para>
</listitem>
</varlistentry><varlistentry><term><option>F</option> <replaceable>recovery-options</replaceable></term><listitem><para>Specifies one of the three valid recovery options: <literal>beginning</literal>, <literal>continue</literal>, or <literal>wait</literal>. </para>
</listitem>
</varlistentry>
</variablelist><para>For more information, see the <olink targetdoc="refman" targetptr="lpadmin-1m" remap="external"><citerefentry><refentrytitle>lpadmin</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page.</para>
</step><step id="gfjjr"><para>Verify that printer fault recovery has been set up
properly.</para><screen># <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable> <userinput>-l</userinput></screen>
</step>
</procedure><example id="gfjhz"><title>Setting Printer Fault Recovery</title><para>The following example shows how to set up the printer <literal>luna</literal> to
continue printing at the top of the page where printing stopped.</para><screen># <userinput>lpadmin -p luna -F continue</userinput></screen>
</example>
</task><sect2 id="gfjic"><title>Limiting User Access to a Printer by Using LP Print
Commands</title><indexterm id="gfjjl"><primary>user</primary><secondary>access to printer (overview)</secondary><tertiary>limiting with <command>lpadmin</command> command</tertiary>
</indexterm><indexterm id="gfjjb"><primary>user</primary><secondary>access to printer (overview)</secondary><tertiary>limiting with Solaris Print Manager</tertiary>
</indexterm><para>You can control which users can access some printers or all of the available
printers. For example, you can prevent some users from printing on a high-quality
printer to minimize expense. To restrict user access to printers, you create <filename>allow</filename> and <filename>deny</filename> lists by using the <command>lpadmin</command> <option>u</option> command on the print server. Solaris Print Manager
enables you to create only <filename>allow</filename> lists. If you create
neither list, a printer is available to all users who can access the printer.</para><para>An <filename>allow</filename> list contains the names of users who are
allowed access to the specified printer. A <filename>deny</filename> list
contains the names of users denied access to the specified printer.</para><para>The rules for <filename>allow</filename> and <filename>deny</filename> lists
are explained in the following table:</para><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="179*"/><colspec colname="column2" colwidth="180*"/><thead><row rowsep="1"><entry><para>Allow and Deny List Rule</para>
</entry><entry><para>User Consequence</para>
</entry>
</row>
</thead><tbody><row><entry><para>Do not create <filename>allow</filename> and <filename>deny</filename> lists.
Or, if you leave both lists empty.</para>
</entry><entry><para>All users can access the printer.</para>
</entry>
</row><row><entry><para>Specify <literal>all</literal> in the <filename>allow</filename> list.</para>
</entry><entry><para>All users can access the printer.</para>
</entry>
</row><row><entry><para>Specify <literal>all</literal> in the <filename>deny</filename> list</para>
</entry><entry><para>All users, except <literal>root</literal> and <literal>lp</literal> user
on the server, are denied access to the printer.</para>
</entry>
</row><row><entry><para>Make any entry in the <filename>allow</filename> list.</para>
</entry><entry><para>The <filename>deny</filename> list is ignored. Only users who are listed
can access the printer.</para>
</entry>
</row><row><entry><para>Create a deny list, but you do not create an <filename>allow</filename> list
or you leave the <filename>allow</filename> list empty.</para>
</entry><entry><para>Users who are listed in the <filename>deny</filename> list are denied
access to the printer.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><para>Because the print server is responsible for controlling access to the
printer, <filename>allow</filename> and <filename>deny</filename> lists can
only be created on the print server. If you create <filename>allow</filename> and <filename>deny</filename> lists, the print server will exclusively control user access
to printers.</para><para><indexterm id="gfjka"><primary>allow list</primary><secondary>for user access to printers (overview)</secondary></indexterm><indexterm id="gfjig"><primary>printers</primary><secondary>allow list (overview)</secondary></indexterm><indexterm id="gfjjx"><primary>deny list</primary><secondary>for user access to printers (overview)</secondary></indexterm><indexterm id="gfjiz"><primary>printers</primary><secondary>deny list (overview)</secondary></indexterm>The following table lists the values that you can add to an <filename>allow</filename> list or a <filename>deny</filename> list to limit user access
to a printer.    </para><table frame="topbot" id="gfjje"><title>Values for Allow and Deny Lists</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="132*"/><colspec colname="column2" colwidth="264*"/><thead><row rowsep="1"><entry><para>Value for <replaceable>user-list</replaceable> </para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para><replaceable>user</replaceable></para>
</entry><entry><para><replaceable>User</replaceable> on any system</para>
</entry>
</row><row><entry><para><literal>all</literal></para>
</entry><entry><para>All users on all systems</para>
</entry>
</row><row><entry><para><literal>none</literal></para>
</entry><entry><para>No user on any system</para>
</entry>
</row><row><entry><para><replaceable>system</replaceable><literal>!</literal><replaceable>user</replaceable></para>
</entry><entry><para><replaceable>User</replaceable> on <replaceable>system</replaceable> only</para>
</entry>
</row><row><entry><para><literal>!</literal><replaceable>user</replaceable></para>
</entry><entry><para><replaceable>User</replaceable> on local system only</para>
</entry>
</row><row><entry><para><literal>all!</literal><replaceable>user</replaceable></para>
</entry><entry><para><replaceable>User</replaceable> on any system</para>
</entry>
</row><row><entry><para><literal>all!all</literal></para>
</entry><entry><para>All users on all systems</para>
</entry>
</row><row><entry><para><replaceable>system</replaceable><literal>!all</literal></para>
</entry><entry><para>All users on <replaceable>system</replaceable></para>
</entry>
</row><row><entry><para><literal>!all</literal></para>
</entry><entry><para>All users on local system</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2><task id="gfjib"><title>How to Limit User Access to a Printer by Using LP
Print Commands</title><procedure><step id="gfjjq"><para><indexterm id="gfjjc"><primary>printers</primary><secondary>allowing user access (how to)</secondary></indexterm><indexterm id="gfjio"><primary>printers</primary><secondary>denying user access (how to)</secondary></indexterm>Log in as superuser, <literal>lp</literal>, or
assume an equivalent role on the print server.</para>
</step><step id="gfjin"><para><indexterm id="gfjkz"><primary><command>lpadmin</command> command</primary><secondary>limiting access to printers with (how to)</secondary></indexterm>Allow or deny users access to a printer. </para><screen># <userinput>lpadmin -p</userinput> <replaceable>printer-name</replaceable> <userinput>-u allow</userinput>:<replaceable>user-list</replaceable> [<userinput>deny</userinput>:<replaceable>user-list</replaceable>]</screen><variablelist><varlistentry><term><option>p</option> <replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer to which the <filename>allow</filename> or <filename>deny</filename> access list applies.</para>
</listitem>
</varlistentry><varlistentry><term><option>u allow:</option><replaceable>user-list</replaceable></term><listitem><para>Specifies the user names to be added to the <filename>allow</filename> access
list. You can specify multiple user names with this command. Use a space or
a comma to separate names. If you use spaces, enclose the list of names in
quotation marks.</para>
</listitem>
</varlistentry><varlistentry><term><option>u deny:</option><replaceable>user-list</replaceable></term><listitem><para>Specifies user names to be added to the deny user access list.
You can specify multiple user names with this command. Use a space or a comma
to separate names. If you use spaces, enclose the list of names in quotation
marks.</para>
</listitem>
</varlistentry>
</variablelist><para>The specified users are added to the <filename>allow</filename> or <filename>deny</filename> list for the printer in one of the following files on the
print server:</para><note><para>If you specify <literal>none</literal> as the value for <replaceable>user-list</replaceable> in the <filename>allow</filename> list, the following
files are not created on the print server:</para>
</note>
</step><step id="gfjky"><para>Verify that information is correct under the <literal>Users
allowed</literal> or the <literal>Users denied</literal> heading in the following
command output:</para><screen># <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable> <userinput>-l</userinput></screen>
</step>
</procedure><example id="gfjkb"><title>Limiting User Access to a Printer</title><para>The following example shows how to allow only the users <literal>nathan</literal> and <literal>george</literal> access to the printer <literal>luna</literal>. </para><screen># <userinput>lpadmin -p luna -u allow:nathan,george</userinput></screen><para>The following example shows how to deny the users <literal>nathan</literal> and <literal>george</literal> access to the printer <literal>asteroid</literal>. </para><screen># <userinput>lpadmin -p asteroid -u deny:"nathan george"</userinput></screen>
</example>
</task>
</sect1><sect1 id="gfjrw"><title>Administering Print Requests by Using the LP Print
Commands (Task Map)</title><informaltable frame="all"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Check the status of print requests.</para>
</entry><entry><para>Use the <command>lpstat</command> command to check the status of print
requests.</para>
</entry><entry><para><olink targetptr="printadmin-93252" remap="internal">How to Check the Status of Print
Requests</olink></para>
</entry>
</row><row><entry><para>Enable or disable a printer.</para>
</entry><entry><para>Use the <command>enable</command> and <command>disable</command> commands
to control whether a printer prints requests or stops printing requests that
are in the print queue.</para>
</entry><entry><para><olink targetptr="printadmin-22348" remap="internal">How to Enable or Disable a Printer</olink></para>
</entry>
</row><row><entry><para>Accept or reject print requests for a printer.</para>
</entry><entry><para>Use the <command>accept</command> and <command>reject</command> commands
to turn on or turn off a print queue that stores requests to be printed. </para>
</entry><entry><para><olink targetptr="printadmin-73033" remap="internal">How to Accept or Reject Print Requests
for a Printer</olink></para>
</entry>
</row><row><entry><para>Cancel a print request.</para>
</entry><entry><itemizedlist><para>Use the can use the cancel command to cancel print requests in one of
the following three ways:</para><listitem><para>Cancel requests by request identification number (request
ID) </para>
</listitem><listitem><para>Cancel requests from a specific user on all printers or specific
printers</para>
</listitem><listitem><para>Cancel the job currently printing</para>
</listitem>
</itemizedlist>
</entry><entry><para><olink targetptr="printadmin-82243" remap="internal">How to Cancel a Print Request</olink></para>
</entry>
</row><row><entry><para>Cancel a print request from a specific user.</para>
</entry><entry><para>Cancel the request for a user by using the <command>cancel -u</command> command
and specifying that user.</para>
</entry><entry><para><olink targetptr="printadmin-14973" remap="internal">How to Cancel a Print Request From
a Specific User</olink></para>
</entry>
</row><row><entry><para>Move print requests to another printer.</para>
</entry><entry><para>Move or cancel any requests that are currently queued to a printer.
You can use the <command>lpmove</command> command to move individual or all
print requests to another local printer.</para>
</entry><entry><para><olink targetptr="printadmin-22663" remap="internal">How to Move Print Requests to Another
Printer</olink></para>
</entry>
</row><row><entry><para>Change the priority of a print request.</para>
</entry><entry><itemizedlist><para>Change the priority of a print request in one of the following ways:</para><listitem><para>Put a print request on hold if it has not finished printing.</para>
</listitem><listitem><para>Move a print request to the head of the queue.</para>
</listitem><listitem><para>Change the priority of a job still waiting to be printed.</para>
</listitem>
</itemizedlist>
</entry><entry><para><olink targetptr="printadmin-30451" remap="internal">How to Change the Priority of a
Print Request</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><para>When a user submits a print request from a print client, the print request
is added to a queue on the print server before it is sent to the printer.
While a print request is in the queue, you can cancel or gain status information
on the request from a client system. You must log in to the print server to
move, hold, resume, or change the priorities of print requests with LP print
service commands. These actions can help you keep printing services operating
smoothly.</para><para><indexterm id="printadmin-ix448"><primary>print requests</primary><secondary>changing priority of (overview)</secondary></indexterm><indexterm id="printadmin-ix449"><primary>priority of print requests</primary></indexterm><indexterm id="printadmin-ix450"><primary>changing</primary><secondary>priority of print requests (overview)</secondary></indexterm>The following table lists the values
for changing the priority of a print request by using the <command>lp</command> <option>H</option> command.</para><table frame="topbot" id="printadmin-71857"><title>Values for Changing the
Priority of a Print Request</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="144*"/><colspec colname="column2" colwidth="215*"/><thead><row rowsep="1"><entry><para>Value for <option>H</option> <replaceable>change-priority</replaceable></para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para><literal>hold</literal></para>
</entry><entry><para>Places the print request on hold until you cancel the request or instruct
the LP print service to resume printing the request.</para>
</entry>
</row><row><entry><para><literal>resume</literal></para>
</entry><entry><para>Places a print request that has been on hold back in the queue. The
request is printed according to its priority and placement in the queue. If
you place on hold a print job that is already printing, <literal>resume</literal> places
the print request at the head of the queue so that it becomes the next request
printed.</para>
</entry>
</row><row><entry><para><literal>immediate</literal></para>
</entry><entry><para>Places a print request at the head of the queue. If a request is already
printing, you can put the request on hold to allow the next request to print
immediately.</para>
</entry>
</row>
</tbody>
</tgroup>
</table><task id="printadmin-93252"><title>How to Check the Status of Print Requests</title><indexterm><primary>printers</primary><secondary>checking status of print requests</secondary>
</indexterm><indexterm><primary>print requests</primary>
</indexterm><procedure><step id="printadmin-step-70"><para>Log in on any system on the network.</para>
</step><step id="printadmin-step-71"><para>Check the status of printers and print
requests.</para><para>Only the most commonly used options are shown here.
For other valid options, see the <olink targetdoc="refman" targetptr="lpstat-1" remap="external"><citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry></olink> man
page.</para><screen>$ <userinput>lpstat -o</userinput> [<replaceable>list</replaceable>] | <userinput>-u</userinput> [<replaceable>user-list</replaceable>]</screen><variablelist><varlistentry><term><option>o</option> <replaceable>list</replaceable></term><listitem><para><indexterm id="printadmin-ix455"><primary>printer class</primary><secondary>checking status for</secondary></indexterm><indexterm id="printadmin-ix456"><primary>class (printer)</primary><secondary>checking status for</secondary></indexterm><indexterm id="printadmin-ix457"><primary>print requests</primary><secondary>IDs</secondary></indexterm>Shows the status of
print requests on a specific printer. <replaceable>list</replaceable> can
be one or more printer names, printer class names, or print request IDs.</para><para>To specify multiple printer names, class names, and IDs for <replaceable>list</replaceable>, use a space or a comma to separate values. If you use spaces,
enclose the list of values in quotation marks.</para><para>If you don't specify <replaceable>list</replaceable>, the status of
print requests sent to all printers is displayed.</para>
</listitem>
</varlistentry><varlistentry><term><option>u</option> <replaceable>user-list</replaceable></term><listitem><para>Shows the status of print requests for a specific user. <replaceable>user-list</replaceable> can be one or more user names. </para><para>To specify multiple users with this command, use a space or a comma
to separate user names. If you use spaces, enclose the list of names in quotation
marks.</para><para>If you don't specify <replaceable>user-list</replaceable>, the status
of print requests for all users is displayed.</para>
</listitem>
</varlistentry>
</variablelist><para><indexterm id="printadmin-ix459"><primary>print requests</primary><secondary>IDs</secondary><tertiary>in status of print request</tertiary></indexterm>When used to check the status of print requests, the <command>lpstat</command> command
displays one line for each print request. </para><itemizedlist><para>From left to right, the line shows the following information:</para><listitem><para>Request ID</para>
</listitem><listitem><para>User</para>
</listitem><listitem><para>Output size in bytes</para>
</listitem><listitem><para>Date and time of the request,</para>
</listitem><listitem><para>Information about the request, such as &ldquo;being filtered.&rdquo;</para>
</listitem>
</itemizedlist>
</step>
</procedure><example id="emjfb"><title>Checking the Status of Print Requests</title><para>The following example shows that user <literal>fred</literal> has one
print request queued on the printer <literal>luna</literal>.</para><screen>$ <userinput>lpstat</userinput>
luna-1    fred     1261    Jul 12 17:34</screen><para>The following example shows that the user <literal>paul</literal> currently
has no print requests in queue.</para><screen>$ <userinput>lpstat -u paul</userinput></screen><para>The following example shows that  two print requests are queued on the
printer <literal>moon</literal>.</para><screen>$ <userinput>lpstat -o moon</userinput>
moon-78    root     1024   Jul 14 09:07
moon-79    root     1024   Jul 14 09:08</screen>
</example>
</task><sect2 id="endis-2"><title>Enabling or Disabling a Printer From Printing</title><para><indexterm id="printconcept-ix151"><primary>stopping</primary><secondary>a printer (overview)</secondary></indexterm><indexterm id="printconcept-ix152"><primary>printers</primary><secondary>enabling (overview)</secondary></indexterm><indexterm id="printconcept-ix153"><primary>printers</primary><secondary>disabling (overview)</secondary></indexterm>The <command>enable</command> and <command>disable</command> commands control whether a printer prints or stops printing
requests that are in the print queue. When you disable a printer, the printer
stops printing requests in the queue. However, requests are still added to
the queue. You must set the printer to reject print requests so that requests
are not added to the queue. For information about rejecting print requests,
see <olink targetptr="printconcept-43797" remap="internal">Accepting or Rejecting Print Requests</olink>. </para><para>A printer is enabled to print and accepts print requests when the printer
is added by using Solaris Print Manager. Solaris Print Manager doesn't provide
any additional printer processing management.</para><para>You must enable the printer whenever it has been disabled, which can
happen when a printer fault occurs. When you enable a printer, it prints requests
from the print queue until the queue is empty, even if the print service rejects
additional requests for the print queue. </para><para>The following figure shows the point at which the processing of print
requests is interrupted when a printer is disabled.</para><figure id="printconcept-fig-31"><title id="printconcept-77600">What Happens
When a Printer Is Enabled or Disabled</title><mediaobject><imageobject><imagedata entityref="fig184.epsi"/>
</imageobject><textobject><simpara>Illustration of an enabled printer, which processes requests
in the queue, and of a disabled printer, which does not process requests in
the queue.</simpara>
</textobject>
</mediaobject>
</figure>
</sect2><task id="printadmin-22348"><title>How to Enable or Disable a Printer</title><procedure><step id="printadmin-step-80"><para><indexterm id="printadmin-ix464"><primary>printers</primary><secondary>disabling (how to)</secondary></indexterm><indexterm id="printadmin-ix465"><primary>printers</primary><secondary>enabling (how to)</secondary></indexterm><indexterm id="printadmin-ix466"><primary>enabling</primary><secondary>printers (how to)</secondary></indexterm><indexterm id="printadmin-ix467"><primary>disabling</primary><secondary>printers (how to)</secondary></indexterm>Log in as superuser, <literal>lp</literal>, or
assume an equivalent role on the print server.</para>
</step><step id="printadmin-step-81"><para><indexterm id="printadmin-ix473"><primary><command>disable</command> command, example of</primary></indexterm>Stop printing print
requests.</para><screen># <userinput>disable</userinput> [<userinput>-c</userinput> | <userinput>-W</userinput>] [<userinput>-r "</userinput><replaceable>reason</replaceable><userinput>"</userinput>] <replaceable>printer-name</replaceable></screen><variablelist><varlistentry><term><command>disable</command></term><listitem><para><indexterm id="printadmin-ix468"><primary>canceling</primary><secondary>print requests (how to)</secondary><tertiary>by disabling printer</tertiary></indexterm><indexterm id="printadmin-ix469"><primary>print requests</primary><secondary>canceling (how to)</secondary><tertiary>by disabling printer</tertiary></indexterm>Cancels the current job, then disables the printer. The current
job is saved to reprint when the printer is enabled.  </para>
</listitem>
</varlistentry><varlistentry><term><option>c</option></term><listitem><para>Cancels the current job, then disables the printer. The current
job is not printed later.</para>
</listitem>
</varlistentry><varlistentry><term><option>W</option></term><listitem><para>Waits until the current job is finished before disabling the
printer.</para>
</listitem>
</varlistentry><varlistentry><term><option>r</option> <replaceable>"reason"</replaceable></term><listitem><para>Provides users with a reason why the printer is disabled.
The reason is stored and displayed whenever a user checks on the status of
the printer by using the <command>lpstat -p</command> command.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer that will stop printing
print requests.</para>
</listitem>
</varlistentry>
</variablelist><note><para><indexterm id="printadmin-ix470"><primary>printer class</primary><secondary>not valid for enabling/disabling printer</secondary></indexterm><indexterm id="printadmin-ix471"><primary>class (printer)</primary><secondary>not valid for enabling/disabling printer</secondary></indexterm>You cannot enable or
disable classes of printers. Only individual printers can be enabled or disabled.
 </para>
</note>
</step><step id="printadmin-step-82"><para><indexterm><primary><command>enable</command> command, example of</primary></indexterm>Start printing print requests.  </para><screen># <userinput>enable</userinput> <replaceable>printer-name</replaceable></screen>
</step><step id="printadmin-step-119"><para>Verify that the printer is enabled.</para><screen># <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable></screen>
</step>
</procedure><example id="emjfj"><title>Enabling or Disabling a Printer</title><para>The following example shows how to stop the current job on the printer <literal>luna</literal>, save the job to print later, and provide a reason why the
printer has stopped printing print requests.</para><screen># <userinput>disable -r "changing the form" luna</userinput></screen><para>The following example shows how to start printing print requests on
the printer <literal>luna</literal>.</para><screen># <userinput>enable luna</userinput>
printer "luna" enabled</screen>
</example>
</task><sect2 id="printconcept-43797"><title>Accepting or Rejecting Print Requests</title><para><indexterm id="printconcept-ix142"><primary>accepting print requests (overview)</primary></indexterm><indexterm id="printconcept-ix143"><primary>rejecting print requests (overview)</primary></indexterm><indexterm id="printconcept-ix145"><primary>printers</primary><secondary>accepting print requests (overview)</secondary></indexterm><indexterm id="printconcept-ix146"><primary>printers</primary><secondary>rejecting print requests (overview)</secondary></indexterm>The <command>accept</command> and <command>reject</command> commands enable you to turn
on or turn off a print queue that stores requests to be printed.  </para><para>When you use the <command>reject</command> command, the print queue
for a specified printer is turned off. No new print requests can enter the
queue on the print server. However, all print requests that are in the queue
are still printed. You must disable the printer if you want it to stop printing
requests that are already in the queue. The following table compares the functions
of the <command>accept</command>, <command>reject</command>, <command>enable</command>,
and <command>disable</command> commands.</para><table frame="topbot" id="printconcept-22101"><title>Functions of <command>accept</command>, <command>reject</command>, <command>enable</command>, and <command>disable</command> Print Commands</title><indexterm id="printconcept-ix148"><primary><command>accept</command> command</primary>
</indexterm><indexterm id="printconcept-ix149"><primary><command>reject</command> command</primary>
</indexterm><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="143*"/><colspec colname="column2" colwidth="216*"/><thead><row rowsep="1"><entry><para>Command</para>
</entry><entry><para>Function</para>
</entry>
</row>
</thead><tbody><row><entry><para><command>accept</command></para>
</entry><entry><para>Accepts print requests that are sent to the print queue.</para>
</entry>
</row><row><entry><para><command>disable</command></para>
</entry><entry><para>Stops printing requests that are currently in the print queue.</para>
</entry>
</row><row><entry><para><command>enable</command></para>
</entry><entry><para>Prints the requests that are in the print queue.</para>
</entry>
</row><row><entry><para><command>reject</command></para>
</entry><entry><para>Rejects print requests that are sent to the print queue.</para>
</entry>
</row>
</tbody>
</tgroup>
</table><para>If a print request is rejected, the LP print service writes or mails
a message to the user who submitted the request. the message states that print
requests are not being accepted for the specified printer.</para><para>You can also specify a reason for not accepting requests through the
command line. The reason is displayed on a user's system when a user tries
to check the printer's queue. The following figure shows the point at which
the processing of print requests is interrupted when a print queue rejects
print requests. </para><figure id="printconcept-fig-30"><title id="printconcept-41913">What Happens
When a Print Queue Accepts or Rejects Requests</title><mediaobject><imageobject><imagedata entityref="fig177.epsi"/>
</imageobject><textobject><simpara>Illustration of a printer accepting and processing print
requests and of a printer rejecting print requests, which means the print
queue is blocked.</simpara>
</textobject>
</mediaobject>
</figure>
</sect2><task id="printadmin-73033"><title>How to Accept or Reject Print Requests
for a Printer</title><procedure><step id="printadmin-step-74"><para><indexterm id="printadmin-ix460"><primary>print requests</primary><secondary>accepting (how to)</secondary></indexterm><indexterm id="printadmin-ix461"><primary>print requests</primary><secondary>rejecting (how to)</secondary></indexterm><indexterm id="printadmin-ix462"><primary>accepting print requests (how to)</primary></indexterm><indexterm id="printadmin-ix463"><primary>rejecting print requests (how to)</primary></indexterm>Log in as
superuser, <literal>lp</literal>, or assume an equivalent role on the print
server.</para>
</step><step id="printadmin-step-75"><para>Stop accepting print requests for the
printer.</para><screen># <userinput>reject</userinput> [<userinput>-r</userinput> "<replaceable>reason</replaceable>"] <replaceable>printer-name</replaceable></screen><variablelist><varlistentry><term><option>r</option> <replaceable>"reason"</replaceable></term><listitem><para>Provides users with a reason why the printer is rejecting
print requests. The reason is stored and displayed whenever a user checks
on the status of the printer by using the <command>lpstat -p</command> command.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>printer-name</replaceable></term><listitem><para>Specifies the name of the printer that will stop accepting
print requests.</para>
</listitem>
</varlistentry>
</variablelist><para>The queued requests continue printing as long as the printer is enabled.
For instructions on disabling a printer so that it stops printing, see <olink targetptr="printadmin-22348" remap="internal">How to Enable or Disable a Printer</olink>.</para>
</step><step id="printadmin-step-76"><para>Start accepting print requests for the
printer.</para><screen># <userinput>accept</userinput> <replaceable>printer-name</replaceable></screen>
</step><step id="printadmin-step-118"><para>Check that the status of the printer
to see whether it is accepting or rejecting print requests.</para><screen>$ <userinput>lpstat -p</userinput> <replaceable>printer-name</replaceable></screen>
</step>
</procedure><example id="emjge"><title>Accepting or Rejecting Print Requests for a Printer</title><para>The following example shows how to stop the printer <literal>luna</literal> from
accepting print requests.</para><screen># <userinput>reject -r "luna is down for repairs" luna</userinput>
destination "luna" will no longer accept requests</screen><para>The following example shows how to set the printer <literal>luna</literal> to
accept print requests.</para><screen># <userinput>accept luna</userinput>
destination "luna" now accepting requests</screen>
</example>
</task><sect2 id="printconcept-22518"><title>Canceling a Print Request</title><indexterm id="printconcept-ix131"><primary>print requests</primary><secondary>canceling (overview)</secondary>
</indexterm><indexterm id="printconcept-ix132"><primary>canceling</primary><secondary>print requests (overview)</secondary>
</indexterm><para><indexterm id="printconcept-ix133"><primary><command>cancel</command> command</primary></indexterm>You can use the <command>cancel</command> command to
cancel print requests in printer queues or to cancel jobs that are printing. </para><itemizedlist><para>Three are three ways to use the <command>cancel</command> command:</para><listitem><para><indexterm id="printconcept-ix134"><primary>print requests</primary><secondary>IDs</secondary><tertiary>canceling print requests by</tertiary></indexterm>Cancel requests by request identification number (request ID)</para>
</listitem><listitem><para>Cancel requests from a specific user on all printers or specific
printers</para>
</listitem><listitem><para>Cancel the job currently printing</para>
</listitem>
</itemizedlist><para>When you use the <command>cancel</command> command, a message tells
you the request or requests are canceled, and the next request in queue is
being printed. </para><itemizedlist><para>You can cancel a print request only under the following conditions:</para><listitem><para>You are the user who submitted the request and you are logged
in on the system from which you submitted the request.</para>
</listitem><listitem><para>You are the user who submitted the request on any client system
and the print server has the &ldquo;user-equivalence&rdquo; option configured
for the printer in its <filename>/etc/printers.conf</filename> file.</para>
</listitem><listitem><para>You are logged in as superuser, <literal>lp</literal>, or
have assumed an equivalent role on the print server.</para>
</listitem>
</itemizedlist><para>To cancel a specific request, you need to know its request ID. The request
ID contains the name of the printer, a dash, and the number of the print request.
For example, <literal>luna-185</literal>.</para><para><indexterm id="printconcept-ix135"><primary>print requests</primary><secondary>IDs</secondary><tertiary>components of</tertiary></indexterm>When
you submit the print request, the request ID is displayed. If you do not remember
the print request ID, you can find it by using the <command>lpstat</command> command
with the <option>o printer</option> option.</para>
</sect2><task id="printadmin-82243"><title>How to Cancel a Print Request</title><procedure><step id="printadmin-step-86"><para><indexterm id="printadmin-ix474"><primary>print requests</primary><secondary>canceling (how to)</secondary></indexterm><indexterm id="printadmin-ix475"><primary>canceling</primary><secondary>print requests (how to)</secondary></indexterm>If you are going to cancel the print requests
of other users, then become superuser, <literal>lp</literal>, or assume an
equivalent role.</para>
</step><step id="printadmin-step-87"><para>Determine the request IDs of the print
requests to cancel. </para><screen># <userinput>lpstat</userinput> </screen><para>For more details, see <olink targetptr="printadmin-93252" remap="internal">How to Check
the Status of Print Requests</olink>.</para>
</step><step id="printadmin-step-88"><para>Cancel the print request.</para><screen># <userinput>cancel</userinput> <replaceable>request-id</replaceable> | <replaceable>printer-name</replaceable></screen><variablelist><varlistentry><term><replaceable>request-id</replaceable></term><listitem><para><indexterm id="printadmin-ix477"><primary>print requests </primary><secondary>IDs (how to)</secondary><tertiary>canceling print requests by</tertiary></indexterm>Specifies the request ID of a print request to be canceled. You
can specify multiple request IDs with this command. Use a space or a comma
to separate request IDs. If you use spaces, enclose the list of request IDs
in quotation marks.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>printer-name</replaceable></term><listitem><para>Specifies the printer for which you want to cancel the currently
printing print request.</para><para>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.</para>
</listitem>
</varlistentry>
</variablelist>
</step><step id="printadmin-step-120"><para>Verify that the print requests are canceled.</para><screen>$ <userinput>lpstat -o</userinput> <replaceable>printer-name</replaceable></screen>
</step>
</procedure><example id="emjfh"><title>Canceling a Print Request</title><para>The following example shows how to cancel the <literal>luna-3</literal> and <literal>luna-4</literal> print requests.</para><screen>$ <userinput>cancel luna-3 luna-4</userinput>
request "luna-3" cancelled
request "luna-4" cancelled</screen><para>The following example shows how to cancel the print request that is
currently printing on the printer <literal>luna</literal>.</para><screen># <userinput>cancel luna</userinput>
request "luna-9" cancelled</screen>
</example>
</task><task id="printadmin-14973"><title>How to Cancel a Print Request From a Specific
User</title><procedure><step id="printadmin-step-91"><para><indexterm id="printadmin-ix478"><primary>print requests</primary><secondary>canceling (how to)</secondary><tertiary>for specific user</tertiary></indexterm><indexterm id="printadmin-ix479"><primary>canceling</primary><secondary>print requests (how to)</secondary><tertiary>for specific user</tertiary></indexterm>(Optional) Become superuser, <literal>lp</literal>, or assume
an equivalent role if you are going to cancel the print requests of other
users.</para>
</step><step id="printadmin-step-92"><para>Cancel a print request from a specific
user.</para><screen>$ <userinput>cancel -u</userinput> <replaceable>user-list</replaceable> [<replaceable>printer-name</replaceable>]</screen><variablelist><varlistentry><term><option>u</option> <replaceable>user-list</replaceable></term><listitem><para>Cancels the print request for a specified user. </para><para><indexterm id="printadmin-ix480"><primary>user</primary><secondary>canceling print requests for (how to)</secondary></indexterm><replaceable>user-list</replaceable> can
be one or more user names. Use a space or a comma to separate user names.
If you use spaces, enclose the list of names in quotation marks</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>printer-name</replaceable></term><listitem><para>Specifies the printer for which you want to cancel the print
requests for a specified user.</para><para><replaceable>printer-name</replaceable> can be one or more printer names.
Use a space or a comma to separate printer names. If you use spaces, enclose
the list of printer names in quotation marks.</para><para>If you don't specify the <replaceable>printer-name</replaceable>, the  print
requests for the specified
user is canceled on all printers.</para>
</listitem>
</varlistentry>
</variablelist>
</step>
</procedure><example id="emjfy"><title>Canceling a Print Request From a Specific User</title><para>The following example shows how to cancel all the print requests submitted
by the user <literal>george</literal> on the printer <literal>luna</literal>.</para><screen># <userinput>cancel -u george luna</userinput>
request "luna-23" cancelled</screen><para>The following example shows how to cancel all the print requests submitted
by the user <literal>george</literal> on all printers.</para><screen># <userinput>cancel -u george</userinput>
request "asteroid-3" cancelled
request "luna-8" cancelled</screen>
</example>
</task><sect2 id="printconcept-36709"><title>Moving a Print Request</title><indexterm id="printconcept-ix136"><primary>print requests</primary><secondary>moving to another printer (overview)</secondary>
</indexterm><indexterm id="printconcept-ix137"><primary>moving print requests (overview)</primary>
</indexterm><para>If you plan to change the way a printer is used or decide to take a
printer out of service, you should set up the LP print service to reject additional
print requests. Then, move or cancel any requests that are currently queued
to the printer. You can use the <command>lpmove</command> command to move
individual or all print requests to another local printer.</para><para>Request IDs are not changed when you move print requests, so users can
still find their requests. Print requests that have requirements, such as
a specific file content type or form, that cannot be met by the newly specified
printer cannot be moved. These print requests must be canceled.</para>
</sect2><task id="printadmin-22663"><title>How to Move Print Requests to Another Printer</title><indexterm><primary>print requests</primary>
</indexterm><indexterm><primary>moving print requests (how to)</primary>
</indexterm><tasksummary><para>To move all print requests from one printer to another printer, you
do not need to know the request IDs. However, first determine how many print
requests are affected before you move them.</para>
</tasksummary><procedure><step id="printadmin-step-95"><para>Log in as superuser, <literal>lp</literal>,
or assume an equivalent role on the print server.</para>
</step><step id="printadmin-step-96"><para><indexterm id="printadmin-ix483"><primary>print requests</primary><secondary>IDs (how to)</secondary><tertiary>moving print requests by</tertiary></indexterm>(Optional) Determine if the request IDs
of the print requests on the original printer. </para><screen># <userinput>lpstat -o</userinput> <replaceable>printer-name1</replaceable></screen>
</step><step id="printadmin-step-97"><para>(Optional) Check to see if the destination
printer is accepting print requests.</para><screen># <userinput>lpstat -a</userinput> <replaceable>printer-name2</replaceable></screen><para><option>a</option> <replaceable>printer-name2</replaceable> reports whether print destinations are accepting  requests.</para>
</step><step id="printadmin-step-98"><para>Move all the print requests from the original
printer to the destination printer.</para><screen># <userinput>lpmove</userinput> <replaceable>printer-name1 printer-name2</replaceable></screen><variablelist><varlistentry><term><replaceable>printer-name1</replaceable></term><listitem><para>Specifies the name of the printer from which all print requests
will be moved. </para>
</listitem>
</varlistentry><varlistentry><term><replaceable>printer-name2</replaceable></term><listitem><para>Specifies the name of the printer to which all print requests
will be moved.</para>
</listitem>
</varlistentry>
</variablelist><para>For more information, see the <olink targetdoc="refman" targetptr="lpmove-1m" remap="external"><citerefentry><refentrytitle>lpmove</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> man page.</para><para>If some requests cannot be printed on the destination printer, the requests
 are left in the original printer's queue. By using request IDs, you can also
move specific print requests to another printer by using the <command>lpmove</command> command. </para>
</step><step id="printadmin-step-99"><para>(Optional) Start accepting print requests
on the original printer.</para><para>If you move all the print requests to
another printer, the <command>lpmove</command> command automatically stops
accepting print requests for the printer. This step is necessary if you want
to begin accepting new print requests for the printer.</para><screen># <userinput>accept</userinput> <replaceable>printer-name1</replaceable></screen>
</step><step id="printadmin-step-121"><para>Check for any remaining print requests
in the original printer's queue.</para><screen># <userinput>lpstat -o</userinput> <replaceable>printer-name1</replaceable></screen><para>Ensure that all specified print requests were moved to the destination
printer's queue.</para><screen># <userinput>lpstat -o</userinput> <replaceable>printer-name2</replaceable></screen>
</step>
</procedure><example id="emjfm"><title>Moving Print Requests to Another Printer</title><para>The following example shows how to move print requests from the printer <literal>luna</literal> to the printer <literal>terra</literal>. Then, the original
printer, <literal>luna</literal>, is instructed to resume accepting print
requests. </para><screen># <userinput>lpmove luna terra</userinput>
# <userinput>accept luna</userinput></screen>
</example>
</task><sect2 id="printconcept-96948"><title>Changing the Priority of Print Requests</title><indexterm id="printconcept-ix138"><primary>print requests</primary><secondary>changing priority of (overview)</secondary>
</indexterm><indexterm id="printconcept-ix139"><primary>priority of print requests</primary>
</indexterm><itemizedlist><para>After a user has submitted a print request, you can change its priority
in the print server's queue by doing any of the following:</para><listitem><para><indexterm id="printconcept-ix140"><primary>print requests</primary><secondary>putting on hold (overview)</secondary></indexterm>Putting any print
request on hold if it has not finished printing. Putting a request on hold
stops the request, if it is currently printing, and keeps it from printing
until you resume printing it. Other print requests go ahead of the on-hold
request. </para>
</listitem><listitem><para><indexterm id="printconcept-ix141"><primary>print requests</primary><secondary>moving to head of queue (overview)</secondary></indexterm>Moving
any print request to the head of the queue, where it will become the next
job eligible for printing. If you want a job to start printing immediately,
you can interrupt the job that is currently printing by putting it on hold. </para>
</listitem><listitem><para>Changing the priority of a job still waiting to be printed
or moving the job in the queue. Doing so will move the job ahead of lower
priority requests and behind other requests that are the same priority or
higher priority.</para>
</listitem>
</itemizedlist>
</sect2><task id="printadmin-30451"><title>How to Change the Priority of a Print Request</title><procedure><step id="printadmin-step-103"><para><indexterm id="printadmin-ix484"><primary>print requests</primary><secondary>changing priority of (how to)</secondary></indexterm><indexterm id="printadmin-ix486"><primary>changing</primary><secondary>priority of print requests (how to)</secondary></indexterm>Log
in as superuser, <literal>lp</literal>, or assume an equivalent role on the
print server that is holding the print request.</para>
</step><step id="printadmin-step-104"><para>Determine the request IDs of the print
requests whose priority you want to change. </para><screen># <userinput>lpstat</userinput></screen><para>For more information, see <olink targetptr="printadmin-93252" remap="internal">How to
Check the Status of Print Requests</olink>.</para>
</step><step id="printadmin-step-105"><para>Change the priority of a print request.</para><screen># <userinput>lp -i</userinput> <replaceable>request-id</replaceable> <userinput>-H</userinput> <replaceable>change-priority</replaceable></screen><variablelist><varlistentry><term><option>i</option> <replaceable>request-id</replaceable></term><listitem><para><indexterm id="printadmin-ix487"><primary>print requests </primary><secondary>IDs (how to)</secondary><tertiary>changing priority of print requests using</tertiary></indexterm>Specifies the request ID of a print request you
want to change. </para><para>You can specify multiple request IDs with this command. Use a space
or a comma to separate request IDs. If you use spaces, enclose the list of
request IDs in quotation marks.</para>
</listitem>
</varlistentry><varlistentry><term><option>H</option> <replaceable>change-priority</replaceable></term><listitem><para>Specifies one of the three ways to change the priority of
a print request: <literal>hold</literal>, <literal>resume</literal>, <literal>immediate</literal>. </para><para>For detailed information about valid values for <replaceable>change-priority</replaceable>, see <olink targetptr="printadmin-71857" remap="internal">Table&nbsp;5&ndash;6</olink>.</para>
</listitem>
</varlistentry>
</variablelist><para>You can also use the <command>lp</command> <option>q</option> command
to change the priority level of a specified print request. You can change
the priority level from 0, the highest priority, to 39, the lowest priority.</para>
</step>
</procedure><example id="emjga"><title>Changing the Priority of a Print Request</title><para>The following example shows how to change a print request with the request
ID <literal>asteroid-79</literal>, to priority level 1. </para><screen># <userinput>lp -i asteroid-79 -q 1</userinput></screen>
</example>
</task>
</sect1><sect1 id="gfjno"><title>Administering Printers That Are Associated With PPD
Files (Task Map)</title><informaltable frame="all"><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Set definitions for print queues that use PPD files.</para>
</entry><entry><para>Modify the default values that are defined in PPD files that are associated
with print queues by using the <command>lpadmin</command> command with the <option>o</option> option.</para>
</entry><entry><para><olink targetptr="gfjet" remap="internal">How to Set Default Values for Print Queues
That Are Associated With PPD Files</olink></para>
</entry>
</row><row><entry><para>Determine if a PPD file was used to create a print queue.</para>
</entry><entry><para>Use the <command>lpstat</command> command to determine if a PPD file
was used to create a print queue, or if a PPD file is associated with a print
queue.</para>
</entry><entry><para><olink targetptr="ermjr" remap="internal">Determining Whether a PPD File Is Associated
With a Print Queue</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><para>During the process of setting up a print queue, a PPD file that describes
the print queue's capabilities can be associated with that print queue. Often,
the default values that are described in the PPD file do not match the preferred
settings for your site. For example, you might want the duplex feature always
turned on, or you might want to always print to A4 sized paper. To modify
these default values, you can edit the PPD file directly. However, the easiest
and fastest method is to make the changes by using the <command>lpadmin</command> command
with the <option>o</option> option.</para><itemizedlist><para>Some common PPD file values include:</para><listitem><para>PageSize</para><itemizedlist><para>Examples of available choices include:</para><listitem><para>Letter</para>
</listitem><listitem><para>Legal</para>
</listitem><listitem><para>A4</para>
</listitem><listitem><para>B5</para>
</listitem><listitem><para>Env10</para>
</listitem>
</itemizedlist>
</listitem><listitem><para>InputSlot</para><itemizedlist><para>Examples of available choices include:</para><listitem><para>Tray1</para>
</listitem><listitem><para>Tray2</para>
</listitem><listitem><para>Tray3</para>
</listitem><listitem><para>Manual</para>
</listitem>
</itemizedlist>
</listitem><listitem><para>Duplex</para><itemizedlist><para>Examples of available choices include:</para><listitem><para>None</para>
</listitem><listitem><para>DuplexNoTumble</para>
</listitem><listitem><para>DuplexTumble</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist><task id="gfjet"><title>How to Set Default Values for Print Queues That Are
Associated With PPD Files</title><tasksummary><para>This procedure shows how to set default values for a print queue that
uses PPD files to describe its capabilities.</para>
</tasksummary><taskprerequisites><para>Check the PPD file first to determine which values can be overridden.
To view the PPD file, use the <command>more</command> or <command>less</command> command,
or open the file in a text editor.</para><para>For example:</para><screen>% <userinput>more /etc/lp/ppd/<replaceable>print-queue</replaceable>.ppd</userinput></screen>
</taskprerequisites><procedure><step><para>Become superuser or assume an equivalent role.</para><para>Roles
contain authorizations and privileged commands. For more information about
roles, see <olink targetdoc="sysadv6" targetptr="rbactask-15" remap="external"><citetitle remap="section">Configuring RBAC (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para>
</step><step><para>Set the desired option.</para><screen># <userinput>lpadmin -p <replaceable>print-queue</replaceable> -o <replaceable>key=value</replaceable></userinput></screen><variablelist><varlistentry><term><option>p</option></term><listitem><para>Specifies the printer name or print queue where the value
is to be changed.</para>
</listitem>
</varlistentry><varlistentry><term><option>o</option></term><listitem><para>Specifies the options for adjusting printer capabilities,
adjusting printer port characteristics,  configuring network printers, and
controlling the use of banner.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>key=value</replaceable></term><listitem><para>Specifies the key/value pair for the option.</para><para>The set of key/value pairs that can be used for a particular printer
depends on the content of the PPD file that is associated with the print queue.</para>
</listitem>
</varlistentry>
</variablelist><para>For example, to set the duplex feature, type:</para><screen># <userinput>lpadmin -p <replaceable>print-queue</replaceable> -o Duplex=DuplexNoTumble</userinput></screen><para>To change the input tray setting, type:</para><screen># <userinput>lpadmin -p <replaceable>print-queue</replaceable> -o InputSlot=Tray2</userinput></screen><para>You can set the default value this way for any PPD <filename>file/foomatic</filename> option.</para>
</step><step><para>Verify that the option was set to the correct value by checking
the print queue's capabilities.</para><screen># <userinput>lpstat -p <replaceable>print-queue</replaceable> -l</userinput></screen>
</step>
</procedure><example id="gfjff"><title>Setting Values for Print Queues That Use PPD Files</title><screen width="100"># <userinput>lpadmin -p hp4550 -o Media=A4 -o InputSlot=Tray2</userinput>
# <userinput>lpadmin -p hp4550 -o PageSize=A4</userinput>
# <userinput>lpstat -p hp4550 -l</userinput>
printer hp4550 idle. enabled since December  5, 2006  6:38:50 PM CET. available.
        Form mounted:
        Content types: application/postscript
        Description:
        Connection:
 Interface: /usr/lib/lp/model/netstandard_foomatic
        PPD: /usr/lib/lp/model/ppd/system/foomatic/ \
HP/HP-Color_LaserJet_4550-Postscript.ppd.gz
        On fault: write root
        After fault: continue
        Users allowed:
                (all)
        Forms allowed:
                (none)
        Media supported:
                Letter
                A4
                11x17
                A3
                A5
                B5
                Env10
                EnvC5
                EnvDL
                EnvISOB5
                EnvMonarch
                Executive
                Legal
        Banner not required
        Character sets:
                (none)
        Default pitch:
        Default page size:
        Default port setting:
        Options: PageSize=A4, Media=A4, InputSlot=Tray2, \
dest=192.168.245.62:9100, protocol=tcp
 uname -a
SunOS shuttle 5.11 snv_52 i86pc i386 i86pc
# lpstat -p hp4550 -l
printer hp4550 idle. enabled since December  5, 2006  6:38:50 PM CET. available.
        Form mounted:
        Content types: application/postscript
        Description:
        Connection:
        Interface: /usr/lib/lp/model/netstandard_foomatic
        PPD: /usr/lib/lp/model/ppd/system/foomatic/ \
HP/HP-Color_LaserJet_4550-Postscript.ppd.gz
        On fault: write root
        After fault: continue
        Users allowed:
                (all)
        Forms allowed:
                (none)
        Media supported:
                Letter
                A4
                11x17
                A3
                A5
                B5
                Env10
                EnvC5
                EnvDL
                EnvISOB5
                EnvMonarch
                Executive
                Legal
        Banner not required
        Character sets:
                (none)
        Default pitch:
        Default page size:
        Default port setting:
        Options: dest=192.168.245.62:9100, protocol=tcp</screen>
</example>
</task><sect2 id="ermjr"><title>Determining Whether a PPD File Is Associated With
a Print Queue</title><indexterm><primary><command>lpstat</command> command</primary><secondary>changes when using PPD files</secondary>
</indexterm><para>If a PPD file was used during the creation of a print queue, the PPD
file that the specified queue is configured to use is listed in the <command>lpstat</command> command output. If you do not specify a PPD file when creating
a new print queue, the <command>lpstat</command> command continues to display
the same output as it did previously. For an example of the <command>lpstat</command> command
output that shows the use of PPD files, see <olink targetptr="printadmin-55230" remap="internal">How
to Check the Status of Printers</olink>.</para><para>You can use Solaris Print Manager to modify queues that were created
without the use of PPD files. In such cases, Solaris Print Manager uses the
previous printer definitions, which do not include the printer make, printer
model, and printer driver definitions.</para><para>For tasks that are associated with expanded printer support, see<olink targetptr="geawp" remap="internal">Setting Up Printers That are Associated With PPD Files</olink>.</para><example id="esbin"><title><command>lpstat</command> Command Output When Using
PPD Files</title><para>In this example, the <command>lpstat</command> command output indicates
that the print queue was configured by using the PPD file, <filename>Mitsubishi-CP50_Color_Printer-cp50.ppd.gz</filename>.</para><screen># <userinput>lpstat -l -p paper</userinput>
printer paper is idle. enabled since Tue 30 Mar 2004 01:48:38 PM PST
			available.
        Form mounted: 
        Content types: any
        Printer types: unknown
        Description: 
        Connection: direct
        Interface: /usr/lib/lp/model/standard_foomatic
        PPD: 
/path/Mitsubishi-CP50_Color_Printer-cp50.ppd.gz
        After fault: continue
        Users allowed:
                (all)
        Forms allowed:
                (none)
        Banner required
        Character sets:
                (none)
        Default pitch:
        Default page size:
        Default port settings# lpstat l p &lt;queue&gt; </screen>
</example>
</sect2>
</sect1>
</chapter><?Pub *0000136561 0?>