ユーザーが印刷クライアントから印刷要求を出すと、その印刷要求はプリンタサーバー上の待ち行列に追加されてからプリンタに送信されます。印刷要求が待ち行列に入っている間は、クライアントシステムからの要求で取り消したり、その状態情報を取得したりできます。LP コマンドで印刷要求の移動、停止、再開または優先度の変更などを実行するには、プリンタサーバーにログインする必要があります。これらの動作によって、印刷サービスを絶えずスムーズに機能させることができます。
表 5-6 は、lp -H コマンドを使用して印刷要求の優先順位を変更するための値を示しています。
表 5-6 印刷要求の優先順位を変更する値
-H change-priority の値 |
説明 |
---|---|
-hold |
ユーザーが取り消すか、LP 印刷サービスに要求の印刷再開を指示するまで、印刷要求を停止する |
-resume |
停止されていた印刷要求を待ち行列に戻す。印刷要求は、優先順位と待ち行列内での位置に従って印刷される。すでに印刷中の印刷ジョブを停止すると、resume は印刷要求が次に印刷される要求になるように待ち行列の先頭に配置する |
-immediate |
印刷要求を待ち行列の先頭に配置する。要求がすでに印刷中であれば、次の要求をすぐに印刷できるように、印刷中の要求を停止する |
ネットワーク上の任意のシステムにログインします。
lpstat コマンドを使用して、プリンタと印刷要求の状態をチェックします。
ここには、最も一般的に使用するオプションだけを掲載してあります。他の有効なオプションについては、lpstat(1) のマニュアルページを参照してください。
$ lpstat -o [list] | -u [user-list] |
lpstat コマンドを使用して印刷要求の状態をチェックすると、印刷要求ごとに 1 行ずつ表示されます。各行には、左から右に要求 ID、ユーザー、出力バイト数、要求日時、「being filtered」のような要求に関する情報が表示されます。
次の例で、コマンドはユーザー fred の印刷要求がプリンタ luna への待ち行列に 1 つ入っていることを示しています。
$ lpstat luna-1 fred 1261 Jul 12 17:34 |
次の例は、ユーザー paul には待ち行列に入っている印刷要求がないことを示しています。
$ lpstat -u paul |
次の例は、プリンタ moon に 2 つの印刷要求があることを示しています。
$ lpstat -o moon moon-78 root 1024 Jul 14 09:07 moon-79 root 1024 Jul 14 09:08 |
enable(1) コマンドと disable(1) コマンドを使用すると、プリンタが待ち行列に入っている要求の印刷を処理または停止するかを制御できます。プリンタを使用不可にすると、プリンタは待ち行列内の要求の印刷を停止します。ただし、要求はそのまま待ち行列に追加されます (要求が待ち行列に追加されないように、プリンタを設定して印刷要求を拒否させなければなりません。印刷要求を拒否する方法については、「印刷要求の受け付けまたは拒否」を参照してください)。
Solaris プリンタマネージャを使用してプリンタを追加すると、プリンタは有効になり印刷要求を受け付けます。Solaris プリンタマネージャは、それ以上のプリンタ管理は提供しません。
プリンタが使用不可になっている場合は、使用可能にしなければなりません。この状態は、プリンタ障害が起きると発生することがあります。プリンタを使用可能にすると、印刷サービスがそれ以後に印刷待ち行列の要求を拒否しても、待ち行列が空になるまで、印刷待ち行列からの要求が印刷されます。
図 5-1 は、プリンタが使用不可になったときに印刷要求の処理が中断される様子を示しています。
reject(1M) コマンドを使用して、プリンタで印刷要求を停止します。
# reject [-r "reason"] printer-name |
-r "reason" |
プリンタが印刷要求を拒否している理由をユーザーに示す。理由は格納され、ユーザーがプリンタの状態をチェックする (lpstat -p) と表示される |
printer-name |
印刷要求を停止するプリンタ名 |
待ち行列に入れられた要求は、プリンタが使用可能になっている限りそのまま印刷されます。印刷を停止するようにプリンタを使用不可にする手順については、「プリンタを使用可能または使用不可にする方法」を参照してください。
accept(1M) コマンドを使用して、プリンタで印刷要求を受け付けるようにします。
# accept printer-name |
lpstat コマンドを使用してプリンタの状態をチェックし、印刷要求を受け付けているか停止しているかを調べます。
$ lpstat -p printer-name |
次の例で、コマンドはプリンタ luna の印刷要求を停止します。
# reject -r "luna is down for repairs" luna destination "luna" will no longer accept requests |
次の例で、コマンドはプリンタ luna が印刷要求を受け付けるように設定します。
# accept luna destination "luna" now accepting requests |
accept コマンドと reject コマンドを使用すると、印刷要求が格納される印刷待ち行列のオンとオフを切り替えることができます。
reject コマンドを使用すると、指定したプリンタの印刷待ち行列がオフになり、新しい印刷要求はプリンタサーバーの待ち行列に入れなくなります。その待ち行列に入っているすべての印刷要求は、そのまま印刷されます。すでに待ち行列に入っている要求の印刷を停止したい場合は、そのプリンタを使用不可にしなければなりません。表 5-7 では accept、reject、enable、および disable コマンドの機能を比較します。
表 5-7 accept/reject コマンドと enable/disable コマンドの機能
コマンド |
機能 |
---|---|
accept |
印刷待ち行列に送信された印刷要求を受け付ける |
enable |
印刷待ち行列にある要求を印刷する |
reject |
印刷待ち行列に送信された印刷要求を拒否する |
disable |
現在印刷待ち行列にある印刷要求を停止する |
プリンタを使用不可にする方法については、「印刷の処理または停止」を参照してください。
印刷要求が拒否されると、印刷サービスはその要求を出したユーザーにメッセージを送り、指定されたプリンタには印刷要求が受け付けられていないことを通知します。
また、要求を受け付けない理由をコマンド行から指定できます。その理由は、ユーザーがプリンタの待ち行列をチェックしようとするとユーザーのシステムに表示されます。図 5-2 は、印刷待ち行列が拒否されたときに印刷要求が中断される様子を示しています。
disable コマンドを使用して、プリンタ上の印刷要求の印刷を停止します。
# disable [-c | -W] [-r "reason"] printer-name |
プリンタのクラスを使用可能または使用不可にすることはできません。個々のプリンタのみを使用可能または使用不可にすることができます。
enable を使用して、プリンタ上で印刷要求の印刷を開始します。
# enable printer-name |
プリンタが使用可能になっていることを確認します。
$ lpstat -p printer-name |
次の例では、プリンタ luna 上の現在のジョブを停止し、後から印刷できるように保存して、プリンタが印刷要求の印刷を停止した理由を表示します。
# disable -r "changing the form" luna |
次の例では、プリンタ luna 上で印刷要求の印刷を開始します。
# enable luna printer "luna" enabled |
cancel(1) を使用すると、印刷待ち行列から印刷要求を取り消したり、印刷中のジョブを取り消したりできます。cancel コマンドには、次の 3 つの使用方法があります。
cancel を使用すると、要求が取り消され、待ち行列内の次の要求が印刷されることを示すメッセージが表示されます。次の場合にのみ、印刷要求を取り消すことができます。
要求を出したユーザーが、要求を出したシステムにログインしている状態で取り消しを実行した場合
プリンタサーバーの /etc/printers.conf ファイルで user-equivalence オプションが構成されていて、要求を出したユーザーが任意のクライアントシステムから取り消しを実行した場合
プリンタサーバーにスーパーユーザーまたは lp としてログインしている状態で取り消しを実行した場合
特定の要求を取り消すには、その要求 ID を知る必要があります。要求 ID は、luna-185 のように、プリンタ名、ハイフン、印刷要求番号からなっています。印刷要求を依頼すると、その要求 ID が表示されます。印刷要求 ID を忘れた場合は、-o printer オプションを指定して lpstat コマンドを使用すると ID を調べることができます。
lpstat コマンドを使用して、取り消す印刷要求の要求 ID を判別します。
詳細は、「印刷要求の状態をチェックする方法」を参照してください。
cancel コマンドを使用して印刷要求を取り消します。
$ cancel request-id | printer-name |
印刷要求が取り消されていることを確認します。
$ lpstat -o printer-name |
次の例では、luna-3 と luna-4 の印刷要求を取り消します。
$ cancel luna-3 luna-4 request "luna-3" cancelled request "luna-4" cancelled |
次の例では、現在プリンタ luna 上で印刷中の印刷要求を取り消します。
# cancel luna request "luna-9" cancelled |
cancel コマンドを使用して、特定のユーザーからの印刷要求を取り消します。
$ cancel -u user-list [printer-name] |
次の例で、コマンドはプリンタ luna 上でユーザー george から依頼されたすべての印刷要求を取り消します。
# cancel -u george luna request "luna-23" cancelled |
次の例で、コマンドはユーザー george から依頼されたすべての印刷要求をすべてのプリンタ上で取り消します。
# cancel -u george request "asteroid-3" cancelled request "luna-8" cancelled |
プリンタの使用方法を変更する計画がある場合や、プリンタの使用を中止する場合は、それ以後の印刷要求を拒否するように LP 印刷サービスを設定し、現在待ち行列に入っている要求があればプリンタに移動するか取り消す必要があります。lpmove(1M) コマンドを使用すると、個々の印刷要求またはすべての印刷要求を別のローカルプリンタに移動できます。
要求 ID は印刷要求を移動しても変更されないので、ユーザーは引き続き各自の要求を調べることができます。新しく指定したプリンタでは満たせない要件 (ファイル内容形式やフォームなど) を持つ印刷要求は移動できません。この種の印刷要求は取り消さなければなりません。
あるプリンタから別のプリンタにすべての要求を移動する場合は、要求 ID がわからなくてもかまいません。ただし移動する前に、影響を受ける印刷要求の数を調べておくとよいでしょう。
プリンタサーバーにスーパーユーザーまたは lp としてログインします。
(省略可能) 元のプリンタ上で印刷要求の要求 ID をチェックします。
# lpstat -o printer-name1 |
(省略可能) 宛先プリンタが印刷要求を受け付けているかどうかをチェックします。
# lpstat -p printer-name2 |
-p printer-name2 |
印刷要求の移動先となるプリンタ名 |
元のプリンタから宛先プリンタにすべての印刷要求を移動します。
# lpmove printer-name1 printer-name2 |
printer-name1 |
すべての印刷要求の移動元となるプリンタ名 |
printer-name2 |
すべての印刷要求の移動先となるプリンタ名 |
一部の要求を宛先プリンタ上で印刷できない場合は、元のプリンタの待ち行列内に残ります。要求 ID を使用すると、lpmove コマンドで特定の印刷要求を別のプリンタに移動することもできます。
元のプリンタ上で印刷要求の受け付けを開始します。
すべての印刷要求を別のプリンタに移動すると、lpmove コマンドはそのプリンタへの印刷要求の受け付けを自動的に停止します。そのプリンタへの新しい印刷要求の受け付けを開始したい場合は、この手順が必要です。
# accept printer-name1 |
次のコマンドを使用して、元のプリンタの待ち行列に残っている印刷要求をチェックします。
$ lpq -P printer-name1 |
次のコマンドを使用して、すべての指定した印刷要求が宛先のプリンタ待ち行列に移動していることを確認します。
$ lpq -P printer-name2 |
次の例では、lpmove コマンドにより印刷要求をプリンタ luna からプリンタ terra へ移動し、accept コマンドによりプリンタ luna に対し印刷要求の受け付けを再開するよう通知します。
# lpmove luna terra # accept luna |
印刷要求を出し終わったら、その優先順位をプリンタサーバーの待ち行列内で次のように変更できます。
印刷が終了していない場合は、その印刷要求を停止できます。要求を保留状態にして停止すると、現在印刷されている場合は、再開するまで印刷されません。他の印刷要求は、停止中の要求よりも先に印刷されます。
任意の印刷要求を待ち行列の先頭に移動できます。その場合、先頭の印刷要求は次に印刷されます。ジョブの印刷を即座に開始したい場合は、現在印刷中のジョブを停止して中断できます。
引き続き印刷したいジョブの優先順位を変更して、待ち行列内で優先順位が低い要求の前と、優先順位が同じか高い要求の後の間に移動できます。
lpstat コマンドを使用して、優先順位を変更したい印刷要求の要求 ID を判別します。
詳細は、「印刷要求の状態をチェックする方法」を参照してください。
lp コマンドを使用して、印刷要求の優先順位を変更します。
# lp -i request-id -H change-priority |
-i request-id |
このコマンドで複数の要求 ID を指定できる。空白またはコンマを使用する。空白を使用する場合は、要求 ID のリストを引用符で囲む |
-H change-priority |
印刷要求の優先順位を変更する方法として、hold、resume、immediate のいずれかを指定する。 change-priority に有効な値については、表 5-6 を参照 |
また、lp の -q コマンドを使用すると、指定した印刷要求の優先順位を変更できます。優先順位は、最上位の 0 から最下位の 39 までの間で変更できます。
次の例では、コマンドは要求 ID が asteroid-79 の印刷要求を優先順位 1 に変更します。
# lp -i asteroid-79 -q 1 |