この章では、LP コマンドでプリンタを管理する手順について説明します。
この章で説明する手順は次のとおりです。
印刷と LP 印刷サービスの概要については、第 2 章「印刷サービスの管理 (概要)」を参照してください。
この節では、プリンタと印刷スケジューラを管理するために日常的に行う作業について説明します。
プリンタの交換が必要な場合や、プリンタを別の場所に移動したい場合は、プリンタサーバーから物理的に削除する前に、LP 印刷サービスからプリンタ情報を削除しなければなりません。また、プリンタ上の現在の印刷要求がすべて印刷されるか、別のプリンタに移動して印刷されるかを確認する必要があります。
プリンタ情報をプリンタサーバーから削除するだけでなく、印刷クライアントまたはネットワークネームサービスからも削除する必要があります。プリンタサーバーからローカルプリンタを削除する場合は、印刷クライアントまたはネットワークネームサービスからリモートプリンタエントリを削除する必要があります。プリンタを別のプリンタサーバーに移動する場合は、印刷クライアントまたはネットワークネームサービスから古いリモート印刷エントリを削除し、リモートプリンタへのアクセスを新しい位置に追加する必要があります。
ローカルとリモートのプリンタの削除方法については、「プリンタとリモートプリンタへのアクセスを削除する方法」を参照してください。Solaris プリンタマネージャを使用して、ローカルプリンタまたはリモートプリンタを削除できます。ただし、Solaris プリンタマネージャでは、待ち行列に入っている印刷要求を別のプリンタに移動できません。
プリンタをサービスから削除する場合、プリンタアクセスを印刷クライアントから削除して、プリンタの情報をプリンタサーバーから削除するには、以下の手順で行います。
削除したいプリンタへアクセスできる印刷クライアントに、スーパーユーザーまたは lp としてログインするか、同等の役割になります。
印刷クライアントからプリンタに関する情報を削除します。
print-client# lpadmin -x printer-name |
-x |
指定したプリンタを削除する |
printer-name |
削除したいプリンタ名 |
印刷クライアントが同じプリンタサーバー上の別のプリンタを使用しない場合は、そのプリンタサーバーに関する情報を印刷クライアントから削除します。
print-client# lpsystem -r print-server |
-r |
指定したプリンタサーバーを削除する |
print-server |
削除したいプリンタサーバー名 |
プリンタサーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。
print-server# reject printer-name |
reject printer-name |
指定したプリンタの印刷要求を拒否する |
この手順を実行すると、プリンタの削除処理中は、そのプリンタの待ち行列に新しい要求が入らなくなります。詳細については、「プリンタへの印刷要求を受け付けるまたは拒否する方法」を参照してください。
print-server# disable printer-name |
この手順を実行すると、印刷要求の印刷は停止されます。印刷を停止する方法については、「プリンタを使用可能または使用不可にする方法」を参照してください。
待ち行列に残っている印刷要求がある場合は、別のプリンタに移動します。
印刷要求を別のプリンタに移動する方法については、「印刷要求を別のプリンタに移動する方法」を参照してください。
print-server# lpadmin -x printer-name |
削除したばかりのプリンタを使用していた印刷クライアントが、まだプリンタサーバー上で別のプリンタを使用中でなければ、その印刷クライアントに関する情報を削除します。
print-server# lpsystem -r print-client1 [,print-client2...] |
-r |
指定したプリンタサーバーを削除する |
print-client |
プリンタサーバーから削除したい印刷クライアント名。このコマンドで複数の印刷クライアントを指定できる。印刷クライアント名を区切るには空白またはコンマを使用する。空白を使用する場合は、印刷クライアントのリストを引用符で囲む |
指定した印刷クライアントが、プリンタサーバーの /etc/lp/Systems ファイルから削除されます。
プリンタ情報が削除されていることを確認します。
次の例では、印刷クライアント terra とプリンタサーバー jupiter からプリンタ mercury を削除し、印刷クライアント terra をプリンタサーバーから削除する方法を示しています。
terra# lpadmin -x luna Removed "luna". terra# lpstat -p luna -l jupiter# lpadmin -x luna jupiter# lpsystem -r terra Removed "terra". jupiter# lpstat -p luna -l |
多くの日常的なプリンタ管理作業には、LP 印刷サービスや特定のプリンタの状態に関する情報が必要です。たとえば、どのプリンタが使用できるかを判別し、そのプリンタの特性を検査しなければならない場合があります。lpstat コマンドを使用すると、LP 印刷サービスや特定のプリンタに関する状態情報を調べることができます。
ネットワーク上の任意のシステムにログインします。
プリンタの状態をチェックする
ここには、最も一般的に使用するオプションだけを掲載してあります。その他のオプションについては、lpstat(1) を参照してください。
$ lpstat [-d] [-p printer-name [-D] [-l]] [-t] |
-d |
システムのデフォルトプリンタが表示される |
-p printer-name |
プリンタが使用可能かアイドル状態か、いつ使用可能または使用不可になったか、および印刷要求を受け付けているかどうかが表示される。 このコマンドで複数のプリンタ名を指定できる。プリンタ名を区切るには空白またはコンマを使用する。空白を使用する場合は、印刷クライアントのリストを引用符で囲む。printer-name を指定しなければ、すべてのプリンタの状態が表示される |
-D |
指定した printer-name の記述が表示される |
-l |
指定した printer-name の特性が表示される |
-t |
すべてのプリンタの状態、使用可能かどうか、印刷要求を受け付けているかどうかなど、LP 印刷サービスに関する状態情報が表示される |
次の例は、システムのデフォルトプリンタを表示する方法を示しています。
$ lpstat -d system default destination: luna |
次の例は、プリンタ luna の状態を表示する方法を示しています。
$ lpstat -p luna printer luna is idle. enabled since Jul 12 11:17 2001. available. |
次の例は、プリンタ asteroid と luna を説明する記述を表示する方法を示しています。
$ lpstat -p "asteroid luna" -D printer asteroid faulted. enabled since Jul 12 11:35 2001. available. unable to print: paper misfeed jam Description: Printer by break room printer luna is idle. enabled since Jul 12 11:36 2001. available. Description: Printer by server room. |
次の例は、プリンタ luna の特性を表示する方法を示しています。
$ lpstat -p luna -l printer luna is idle. enabled since Thu Jul 12 15:02:32 ... Form mounted: Content types: postscript Printer types: PS Description: Connection: direct Interface: /usr/lib/lp/model/standard After fault: continue Users allowed: (all) Forms allowed: (none) Banner not required Character sets: Default pitch: Default page size: 80 wide 66 long Default port settings: |
印刷スケジューラ lpsched は、プリンタサーバー上の印刷要求を処理します。ただし、印刷スケジューラがシステム上で動作を停止したために、印刷要求の受け付けや印刷が停止されることがあります。
次の節では、印刷スケジューラの再起動の方法について説明します。印刷スケジューラが動作を停止するときに印刷要求が印刷中だった場合は、印刷スケジューラを再起動すると、その印刷要求全体が印刷されます。
プリンタサーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。
印刷スケジューラが動作しているかどうかをチェックします。
# lpstat -r |
印刷スケジューラが動作していない場合は、「scheduler is not running」というメッセージが表示されます。
印刷スケジューラが動作している場合は停止します。
# /etc/init.d/lp stop |
プリンタサーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。
印刷スケジューラが動作しているかどうかをチェックします。
# lpstat -r |
印刷スケジューラが動作していない場合は、「scheduler is not running」というメッセージが表示されます。
印刷スケジューラが動作していない場合は起動します。
# /etc/init.d/lp start |
この節では、プリンタ定義の設定またはリセットの手順を説明します。次のプリンタ定義の一部は、Solaris プリンタマネージャを使用して設定できます。次の手順では、迅速にプリンタ定義を設定またはリセットするために、lp コマンドを使用しています。
# lpadmin -p printer-name -D "comment" |
-p printer-name |
記述を追加するプリンタ名 |
-D "comment" |
設置場所や管理担当者など、プリンタの特性を指定する。シェルが解釈する文字は ( *、?、\、!、 ^ など) は、一重引用符で囲む。 |
詳細については、lpadmin(1M) のマニュアルページを参照してください。
プリンタ記述はプリンタサーバーの /etc/lp/printers/printer-name/comment ファイルに追加されます。
Description 情報をチェックします。
$ lpstat -p printer-name -l |
次の例は、プリンタ luna のプリンタ記述を追加する方法を示しています。
# lpadmin -p luna -D "Nathans office" |
印刷コマンドを使用するときにプリンタ名を入力しなくてもすむように、ユーザーのデフォルトプリンタを指定できます。あるプリンタをデフォルトとして指定する前に、そのプリンタをシステム上の印刷サービスに認識させなければなりません。次のいずれかを設定すれば、ユーザーのデフォルトプリンタを設定できます。
LPDEST 環境変数
PRINTER 環境変数
ユーザーの .PRINTERS ファイルの _default 変数
システムのデフォルトプリンタ (lpadmin -d コマンドまたは Solaris プリンタマネージャを使用)
アプリケーションがプリンタを指定する場合は、システムのデフォルトプリンタを設定したかどうかに関係なく、その出力先が印刷サービスに使用されます。アプリケーションにプリンタの出力先がない場合や、印刷コマンドの使用時にプリンタ名が指定されていない場合は、印刷コマンドはデフォルトプリンタを特定の順序で検索します。表 5-1 は、システムのデフォルトプリンタの検索順序を示しています。
表 5-1 デフォルトプリンタの検索順序
検索順序 |
/usr/bin/lp コマンドを使用 |
lpd ベースの互換コマンド (lpr、lpq および lprm) を使用 |
---|---|---|
1 |
LPDEST 変数 |
PRINTER 変数 |
2 |
PRINTER 変数 |
LPDEST 変数 |
3 |
システムのデフォルトプリンタ |
システムのデフォルトプリンタ |
# lpadmin -d [printer-name] |
-d printer-name |
システムのデフォルトプリンタとして割り当てるプリンタ名。printer-name を指定しなければ、システムはデフォルトプリンタなしで設定される |
システムのデフォルトプリンタをチェックします。
$ lpstat -d |
次の例は、プリンタ luna をシステムのデフォルトプリンタとして設定する方法を示しています。 これは、LPDEST または PRINTER 環境変数が設定されていない場合、luna がシステムのデフォルトプリンタとして使用されることを意味します。
# lpadmin -d luna # lpstat -d system default destination: luna |
バナーページには、印刷要求を出したユーザー、印刷要求 ID、要求の印刷時期が出力されます。また、バナーページには、ユーザーがプリントアウトを識別しやすいように変更可能なタイトルを付けることもできます。
バナーページは、印刷ジョブの所有者を簡単に識別できるようにします。これは、多数のユーザーが同じプリンタにジョブを依頼するときに特に便利です。ただし、バナーページを印刷すると用紙の消費量が増えますが、1 台のプリンタを使用するユーザーが少ない場合は必要ないことがあります。また場合によっては、バナーページを印刷しない方がよいこともあります。たとえば、プリンタに支払い小切手などの特殊な用紙やフォームが装着されている場合は、バナーページを印刷すると問題が起きることがあります。
デフォルトでは、印刷サービスはバナーページを強制的に印刷します。ただしユーザーは、印刷要求を出すときにバナーページの印刷を抑制するかどうかを選択できます。これは、lpadmin コマンドまたは Solaris プリンタマネージャから設定することができます。 ユーザーが選択できるようにする場合、ユーザーがバナーページの印刷を抑制するには、-o banner オプションを使用する必要があります。
また、プリンタのバナーページを抑制して印刷されないようにすることもできます。これは、バナーページが不要な状況では重要です。バナーページの印刷は、lpadmin コマンドを使用することによって抑制することができます。
表 5-2 バナーページの印刷
使用するコマンド |
バナーページの印刷 |
変更 |
---|---|---|
lpadmin -p printer -o banner または lpadmin -p printer -o banner=always |
常に行われる |
一般ユーザーが lp -o nobanner コマンドを使用すると、要求は印刷されるが nobanner 引数は無視される root または別の権限のユーザーの場合、nobanner 引数が使用される |
lpadmin -p printer -o nobanner lpadmin -p printer -o banner=optional |
デフォルトで有効。ただし、lp -o nobanner コマンドを使えば要求単位で無効にできる |
該当しない |
lpadmin -p printer -o banner=never |
無効 |
不可 |
詳細は、「バナーページを抑制する方法」を参照してください。
# lpadmin -p printer-name -o banner=optional |
-p printer-name |
バナーページ印刷を選択可能にするプリンタ名 |
ユーザーが印刷要求を出すときにバナーページなしを指定できるようにする |
すべての印刷要求でバナーページを強制印刷したい場合は、 -o banner=always オプションを指定します。
バナーページの設定は、プリンタサーバーの /etc/lp/printers/printer-name/configuration ファイルに指定します。
次のコマンドの出力には、「Banner not required」という行が入っています。
$ lpstat -p printer-name -l |
次の例は、プリンタ luna のバナーページを選択可能にする方法を示しています。
# lpadmin -p luna -o banner=optional |
バナー印刷を抑制します。
lpadmin -p printer-name -o banner=never |
-p printer-name |
バナーページ印刷を抑制するプリンタ名 |
-o banner=never |
どのような状況でもバナーページ印刷を無効にする |
バナーページの設定は、プリンタサーバーの /etc/lp/printers/printer-name/configuration ファイルに指定されます。
次のコマンドの出力に Banner not printed という行が含まれていることを確認します。
$ lpstat -p printer-name -l |
プリンタに印刷要求を送ってバナーページが印刷されないことを確認します。
次の例は、プリンタ luna のバナーページを印刷しないようにする方法を示しています。
# lpadmin -p luna -o banner=never |
印刷サービスを使用すると、複数のローカルプリンタを 1 つのクラスにグループ化できます。この作業は、lpadmin -c コマンドを使用しなければ実行できません。
プリンタクラスを設定すると、ユーザーは印刷要求の出力先として (個々のプリンタではなく) そのクラスを指定できます。そのクラスで空いている最初のプリンタが印刷に使用されます。その結果、プリンタはできる限りビジーに保たれるので、応答時間が短縮されます。
印刷サービスに認識されるデフォルトのプリンタクラスはなく、定義したプリンタクラスのみが存在することになります。プリンタクラスを定義するには、次の 3 つの方法があります。
プリンタタイプ別 (PostScript など)
場所別 (5 階など)
作業グループや部署別 (経理など)
また、1 つのクラスには特定の順序で使用される複数のプリンタを含めることができます。LP 印刷サービスでは、常に各プリンタがクラスに追加された順番に従って利用できるプリンタをチェックします。したがって、最初に高速プリンタにアクセスしたい場合は、高速プリンタを低速プリンタよりも先にクラスに追加します。その結果、高速プリンタで最大限の印刷要求が処理されることになります。低速プリンタは、高速プリンタが使用されているときのバックアッププリンタとして確保されます。
印刷要求の負荷は、ローカルプリンタのクラス内のプリンタ間でのみ調整されます。
クラス名も、プリンタ名と同様に固有の名前でなければなりません。クラス名は 14 文字以内の英数字で、下線を使用できます。
プリンタクラスは定義しなくてもかまいません。プリンタクラスを使用するとネットワーク上のユーザーに利点があると判断した場合にのみ、クラスを追加してください。
# lpadmin -p printer-name -c printer-class |
-p printer-name |
プリンタのクラスに追加するプリンタ名 |
-c printer-class |
プリンタのクラス名 |
指定したプリンタが、プリンタサーバーの /etc/lp/classes/printer-class ファイル内でそのクラスのリストの最後に追加されます。プリンタクラスが存在しない場合は、作成されます。
プリンタがプリンタクラスの中にあることを確認します。
$ lpstat -c printer-class |
次の例は、プリンタ luna をプリンタクラス roughdrafts に追加する方法を示しています。
# lpadmin -p luna -c roughdrafts |
事前に選択しておくと、印刷サービスはプリンタ障害を検出したときに通知できます。プリンタの障害通知を受け取る方法として、以下のいずれかの方法を lpadmin -A コマンドまたは Solaris プリンタマネージャを使用して選択することができます。
root がログインしている端末にメッセージを書き込む
root に電子メールを送る
通知しない
ただし、lpadmin -A コマンドを使用すると、選択したプログラムで指定されるメッセージを受信するようにすることもできます。また、すでに知っているエラーに関する通知を選択的に抑制することもできます。
障害通知を配信するプログラムを指定しなければ、障害警告の内容は事前に定義済みのメッセージになります。このメッセージは、プリンタが印刷を停止しており、解決が必要であることを示します。
次の表は、lpadmin -A コマンドでプリンタに設定できる警告値を示しています。 これらの警告値は、印字ホイール、フォントカートリッジ、フォームについても設定できます。
表 5-3 印刷障害の警告値
-A alert の値 |
説明 |
---|---|
'mail [user-name]' |
警告メッセージをプリンタサーバー上の root か lp、またはユーザー名として指定した user-name に電子メールで送信する |
'write [user-name]' |
警告メッセージをプリンタサーバー上の root か lp のコンソールウィンドウ、またはユーザー名として指定した user-name のコンソールウィンドウに送信する。指定したユーザーが警告メッセージを受け取るには、プリンタサーバーにログインしていなければならない |
'command' |
警告ごとに command ファイルを実行する。環境変数とカレントディレクトリは保存され、ファイルの実行時に復元される |
quiet |
障害が解決されるまで警告を停止する。この値は、ユーザー (root または指定したユーザー) が繰り返し警告を受け取るときに使用する |
none |
警告を送信しない。プリンタの障害警告を指定しない場合は、これがデフォルト値である |
# lpadmin -p printer-name -A alert [-W minutes] |
-p printer-name |
プリンタ障害の警告を指定するプリンタ名 |
-A alert |
プリンタ障害が起きたときに出される警告の種類を指定する。alert の有効値については,表 5-3を参照してください。 有効な値は mail、write、quiet など。 |
-W minutes |
障害警告が出される間隔 (分単位) を指定する。このオプションを指定しなければ、警告は一度だけ送信される |
障害警告の設定は、プリンタサーバーの /etc/lp/printers/printer-name/alert.sh ファイルに入力されます。
次のコマンドの出力から、「On fault」見出しに続く情報をチェックします。
$ lpstat -p printer-name -l |
次の例は、障害警告をユーザー joe に電子メールで送信し、その後は 5 分ごとに送信するプリンタ mars の設定方法を示しています。
# lpadmin -p mars -A 'mail joe' -W 5 |
次の例は、障害警告をコンソールウィンドウに送信し、その後は 10 分ごとに送信するプリンタ venus の設定方法を示しています。
# lpadmin -p venus -A write -W 10 |
次の例は、プリンタ mercury の障害警告を停止する方法を示しています。
# lpadmin -p mercury -A none |
次の例は、プリンタ venus の障害が解決するまで、障害警告を停止する方法を示しています。
# lpadmin -p venus -A quiet |
障害通知を送信しないことを選択した場合には、問題を解決するために印刷障害を検出することができます。LP 印刷サービスは、障害のあるプリンタを継続して使用しません。プリンタ障害の警告に加えて、印刷要求が必要とするときに、印字ホイール、フォントカートリッジ、およびフォームを取り付けるようにシステム管理者に知らせる警告も設定できます。
lpadmin -F コマンドを使用すると、プリンタ専用の障害回復オプションを定義できます。これは、Solaris プリンタマネージャではできません。
プリンタ障害は、用紙切れやトナーカートリッジの交換が必要であるなど、きわめて単純な場合があります。より重大な問題としては、完全なプリンタ障害や電源障害などがあります。プリンタ障害を解決すると、障害が発生したときに有効だった印刷要求は、次のいずれかの方法で印刷を開始します。
印刷を最初から開始する
印刷を停止したページの先頭から印刷を再開する
プリンタを使用可能にした後に、印刷を停止したページの先頭から印刷を再開する
印刷を停止したページの先頭から印刷を再開するには、印刷フィルタが必要です。印刷フィルタは、プリンタに使用される制御シーケンスを記録してページ境界を追跡します。この処理は、印刷サービスに使用されるデフォルトフィルタでは実行できません。指定した印刷フィルタで回復処理を実行できなければ、印刷サービスから通知されます。フィルタの作成方法については、「新しい印刷フィルタを作成する方法」を参照してください。
プリンタ障害を解決した直後に印刷を再開したい場合は、enable コマンドを使用してプリンタを使用可能にします。
次の表は、lpadmin -F コマンドでプリンタに設定できる障害回復値を示しています。
表 5-4 プリンタ障害回復の値
-F recover-options の値 |
説明 |
---|---|
beginning |
障害回復後に、ファイルの先頭から印刷を再開する |
continue | |
wait |
障害回復後に、プリンタを使用可能にするまで印刷が停止される。enable コマンドでプリンタを使用可能にすると、印刷は停止されたページの先頭から始まる。この回復オプションには印刷フィルタが必要 |
プリンタサーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。
# lpadmin -p printer-name -F recovery-options |
-p printer-name |
障害からの回復方法を指定するプリンタ名 |
-F recovery-options |
beginning、 continue、wait の 3 つの有効な回復オプション。
recovery-options の有効値については、表 5-4を参照してください。 |
詳細については、lpadmin(1M) のマニュアルページを参照してください。
障害回復の設定がプリンタサーバーの /etc/lp/printers/printer-name/configuration ファイルに入力されます。
次のコマンドの出力から、「After fault」見出しに続く情報をチェックします。
$ lpstat -p printer-name -l |
次の例は、印刷が停止したページの先頭から再開させるプリンタ luna の設定方法を示しています。
# lpadmin -p luna -F continue |
利用できるプリンタの一部またはすべてにアクセスできるユーザーを制限する必要がある場合があります。たとえば、一部のユーザーが高品質プリンタ上で印刷できないようにして経費を抑えることができます。プリンタへのユーザーアクセスを制限するには、プリンタサーバー上で lpadmin -u コマンドを使用して「許可」リストと「拒否」リストを作成できます (Solaris プリンタマネージャを使用すると、許可リストのみを作成できます)。どちらのリストも作成しなければ、プリンタはそこにアクセスできる全ユーザーが利用できます。
許可リストには、指定したプリンタへのアクセスを許可されるユーザー名が入っています。拒否リストには、指定したプリンタへのアクセスを拒否されるユーザー名が入っています。
許可リストと拒否リストには、次の規則が適用されます。
許可リストと拒否リストの規則 |
ユーザアクセスの制限 |
---|---|
許可リストも拒否リストも作成しない、または両方のリストが空 |
そのプリンタには全ユーザーがアクセスできる |
許可リストで all を指定する |
そのプリンタには全ユーザーがアクセスできる |
拒否リストで all を指定する |
サーバー上の root と lp 以外の全ユーザーのアクセスが拒否される |
許可リストにエントリを作成する |
拒否リストは無視されるリストに指定されているユーザーだけがプリンタにアクセスできる。 |
拒否リストを作成し、許可リストは作成しないか許可リストを空にする |
拒否リストで指定されたユーザーはプリンタにアクセスできない |
実際にプリンタへのアクセスを制御しているのはプリンタサーバーなので、許可リストと拒否リストを作成できるのはプリンタサーバー上でだけです。許可リストと拒否リストを作成した場合、プリンタサーバーは、プリンタへのユーザーアクセスを排他的に制御します。
表 5-5 は、プリンタへのユーザーアクセスを制限するために許可リストまたは拒否リストに追加できる値を示しています。
表 5-5 許可リストと拒否リストの値
user-list の値 |
説明 |
---|---|
user |
任意のシステム上の特定ユーザー |
any |
すべてのシステム上の全ユーザー |
none |
すべてのシステム上の全ユーザーが該当しない |
system !user |
特定システム上の特定ユーザー |
!user |
ローカルシステム上の特定ユーザー |
all!user |
任意のシステム上の特定ユーザー |
all!all |
すべてのシステム上の全ユーザー |
system!all |
特定システム上の全ユーザー |
!all |
ローカルシステム上の全ユーザー |
# lpadmin -p printer-name -u allow:user-list [deny:user-list] |
-p printer-name |
許可または拒否ユーザーアクセスリストを適用するプリンタ名 |
-u allow:user-list |
許可ユーザーアクセスリストに追加するユーザー名。このコマンドで複数のユーザーを指定できる。空白またはコンマを使用して名前を区切る。空白を使用する場合は、名前のリストを引用符で囲む。 user-list の有効な値については、表 5-5を参照 |
-u deny:user-list |
拒否ユーザーアクセスリストに追加するユーザー名。このコマンドで複数のユーザーを指定できる。空白またはコンマを使用して名前を区切る。空白を使用する場合は、名前のリストを引用符で囲む。 user-list の有効な値については、表 5-5を参照 |
指定したユーザーが、プリンタサーバーの次のファイル内でプリンタの許可または拒否ユーザーアクセスリストに追加されます。
/etc/lp/printers/printer-name/users.allow
/etc/lp/printers/printer-name/users.deny
許可ユーザーアクセスリストの user-list に none を指定した場合、プリンタサーバー用に次のファイルは作成されません。
/etc/lp/printers/printer-name/alert.sh
/etc/lp/printers/printer-name/alert.var
/etc/lp/printers/printer-name/users.allow
/etc/lp/printers/printer-name/users.deny
次のコマンドの出力から、「Users allowed」または「Users denied」見出しに続く情報をチェックします。
$ lpstat -p printer-name -l |
次の例は、nathan と george にだけプリンタ luna へのアクセスを許可する方法を示しています。
# lpadmin -p luna -u allow:nathan,george |
次の例は、nathan と george にだけプリンタ asteroid へのアクセスを拒否する方法を示しています。
# lpadmin -p asteroid -u deny:"nathan george" |
ユーザーが印刷クライアントから印刷要求を出すと、その印刷要求はプリンタサーバー上の待ち行列に追加されてからプリンタに送信されます。印刷要求が待ち行列に入っている間は、クライアントシステムからの要求で取り消したり、その状態情報を取得したりできます。LP コマンドで印刷要求の移動、停止、再開または優先順位の変更などを実行するには、プリンタサーバーにログインする必要があります。これらの動作によって、印刷サービスを絶えずスムーズに機能させることができます。
次の表は、lp -H コマンドを使用して印刷要求の優先順位を変更する値を示しています。
表 5-6 印刷要求の優先順位を変更する値
-H change-priority の値 |
説明 |
---|---|
hold |
ユーザーが取り消すか、LP 印刷サービスに要求の印刷再開を指示するまで、印刷要求を停止する |
resume |
停止されていた印刷要求を待ち行列に戻す。印刷要求は、優先順位と待ち行列内での位置に従って印刷される。すでに印刷中の印刷ジョブを停止すると、resume は印刷要求が次に印刷される要求になるように待ち行列の先頭に配置する |
immediate |
印刷要求を待ち行列の先頭に配置する。要求がすでに印刷中であれば、次の要求をすぐに印刷できるように、印刷中の要求を停止する |
ネットワーク上の任意のシステムにログインします。
プリンタと印刷要求の状態をチェックします。
ここには、最も一般的に使用するオプションだけを掲載してあります。その他の有効なオプションについては、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 コマンドと disable コマンドは、プリンタが待ち行列に入っている印刷要求を印刷するか保留するかを制御します。 プリンタを使用不可にすると、プリンタは待ち行列内の要求の印刷を保留します。ただし、要求はそのまま待ち行列に追加されたままです (要求が待ち行列に追加されないようにするには、プリンタを設定して印刷要求を拒否させなければなりません。 印刷要求の拒否については、「印刷要求の受け付けまたは拒否」を参照してください)。
Solaris プリンタマネージャを使用してプリンタを追加すると、プリンタは有効になり印刷要求を受け付けます。Solaris プリンタマネージャは、それ以上のプリンタ管理は提供しません。
プリンタが使用不可になっている場合は、使用可能にしなければなりません。この状態は、プリンタ障害が起きると発生することがあります。プリンタを使用可能にすると、印刷サービスがそれ以後に印刷待ち行列の要求を拒否しても、待ち行列が空になるまで、印刷待ち行列からの要求が印刷されます。
次の図は、プリンタが使用不可になったときに印刷要求の処理が中断される様子を示しています。
印刷要求の印刷を停止します。
# disable [-c | -W] [-r "reason"] printer-name |
プリンタのクラスを使用可能または使用不可にすることはできません。個々のプリンタのみを使用可能または使用不可にすることができます。
# enable printer-name |
プリンタが使用可能になっていることを確認します。
$ lpstat -p printer-name |
次の例は、プリンタ luna 上の現在のジョブを停止し、後から印刷できるように保存して、プリンタが印刷要求の印刷を停止した理由を表示する方法を示しています。
# disable -r "changing the form" luna |
次の例は、プリンタ luna の印刷要求の印刷を開始する方法を示しています。
# enable luna printer "luna" enabled |
accept コマンドと reject コマンドを使用すると、印刷要求が格納される印刷待ち行列のオンとオフを切り替えることができます。
reject コマンドを使用すると、プリンタの印刷待ち行列がオフになります。 新しい印刷要求はプリンタサーバーの待ち行列に入れません。その待ち行列に入っているすべての印刷要求は、そのまま印刷されます。すでに待ち行列に入っている要求の印刷を停止したい場合は、そのプリンタを使用不可にしなければなりません。次の表は、accept、reject、enable、disable の各コマンドの機能を比較したものです。
表 5-7 accept/reject コマンドと enable/disable コマンドの機能
コマンド |
機能 |
---|---|
accept |
印刷待ち行列に送信された印刷要求を受け付ける |
enable |
印刷待ち行列にある要求を印刷する |
reject |
印刷待ち行列に送信された印刷要求を拒否する |
disable |
現在印刷待ち行列にある印刷要求を停止する |
印刷要求が拒否されると、印刷サービスはその要求を出したユーザーにメッセージを送り、指定されたプリンタには印刷要求が受け付けられていないことを通知します。
また、要求を受け付けない理由をコマンド行から指定できます。その理由は、ユーザーがプリンタの待ち行列をチェックしようとするとユーザーのシステムに表示されます。次の図は、印刷待ち行列が拒否されたときに印刷要求が中断される様子を示しています。
プリンタの印刷要求を停止します。
# reject [-r "reason"] printer-name |
-r "reason" |
プリンタが印刷要求を拒否している理由をユーザーに示す。理由は格納され、ユーザーがプリンタの状態をチェックする (lpstat -pコマンド) と表示される |
printer-name |
印刷要求を停止するプリンタ名 |
待ち行列に入れられた要求は、プリンタが使用可能になっている限りそのまま印刷されます。印刷を停止するようにプリンタを使用不可にする手順については、「プリンタを使用可能または使用不可にする方法」を参照してください。
プリンタの印刷要求を開始します。
# accept printer-name |
プリンタの状態が、印刷要求を受け付けているか、拒否しているかをチェックします。
$ 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 |
cancel コマンドを使用すると、印刷待ち行列からの印刷要求を取り消したり、印刷中のジョブを取り消すことができます。 cancel コマンドには、次の 3 つの使用方法があります。
cancel コマンドを使用すると、要求が取り消され、待ち行列内の次の要求が印刷されることを示すメッセージが表示されます。次の場合にのみ、印刷要求を取り消すことができます。
要求を出したユーザーが、要求を出したシステムにログインしている状態で取り消しを実行した場合
プリンタサーバーの /etc/printers.conf ファイルで user-equivalence オプションが構成されていて、要求を出したユーザーが任意のクライアントシステムから取り消しを実行した場合
プリンタサーバーにスーパーユーザーまたは lp としてログインしているか、同等の役割になっている場合
特定の要求を取り消すには、その要求 ID を知る必要があります。リクエスト ID は必ず、プリンタ名、ハイフン、印刷要求番号から構成されています。たとえば、luna-185 となります。
印刷要求を依頼すると、その要求 ID が表示されます。印刷要求 ID を忘れた場合は、-o printer オプションを指定して lpstat コマンドを使用すると ID を調べることができます。
取り消す印刷要求の要求 ID を決めます。
# lpstat |
詳細は、「印刷要求の状態をチェックする方法」を参照してください。
印刷要求を取り消します。
$ 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 -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 コマンドを使用すると、個々の印刷要求またはすべての印刷要求を別のローカルプリンタに移動できます。
要求 ID は印刷要求を移動しても変更されないので、ユーザーは引き続き各自の要求を調べることができます。新しく指定したプリンタでは満たせない要件 (ファイル内容形式やフォームなど) を持つ印刷要求は移動できません。この種の印刷要求は取り消さなければなりません。
あるプリンタから別のプリンタにすべての要求を移動する場合は、要求 ID がわからなくてもかまいません。ただし移動する前に、影響を受ける印刷要求の数を調べておくとよいでしょう。
プリンタサーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。
(省略可能) 元のプリンタ上で印刷要求の要求 ID をチェックします。
# lpstat -o printer-name1 |
(省略可能) 宛先プリンタが印刷要求を受け付けているかどうかをチェックします。
# lpstat -p printer-name2 |
-p printer-name2 |
印刷要求の移動先となるプリンタ名 |
元のプリンタから宛先プリンタにすべての印刷要求を移動します。
# lpmove printer-name1 printer-name2 |
printer-name1 |
すべての印刷要求の移動元となるプリンタ名 |
printer-name2 |
すべての印刷要求の移動先となるプリンタ名 |
詳細は、lpmove(1M) のマニュアルページを参照してください。
一部の要求を宛先プリンタ上で印刷できない場合は、元のプリンタの待ち行列内に残ります。要求 ID を使用すると、lpmove コマンドで特定の印刷要求を別のプリンタに移動することもできます。
元のプリンタ上で印刷要求の受け付けを開始します。
すべての印刷要求を別のプリンタに移動すると、lpmove コマンドはそのプリンタへの印刷要求の受け付けを自動的に停止します。そのプリンタへの新しい印刷要求の受け付けを開始したい場合は、この手順が必要です。
# accept printer-name1 |
移動元のプリンタの待ち行列に残っている印刷要求をチェックします。
$ lpstat -o printer-name1 |
次のコマンドを使用して、すべての指定した印刷要求が宛先のプリンタ待ち行列に移動していることを確認します。
$ lpstat -o printer-name2 |
次の例は、プリンタ luna からプリンタ terra に印刷要求を移動し、移動元プリンタ luna に印刷要求の受付を再開させる方法を示しています。
# lpmove luna terra # accept luna |
印刷要求を出し終わったら、その優先順位をプリンタサーバーの待ち行列内で次のように変更できます。
印刷が終了していない場合は、その印刷要求を停止できます。要求を保留状態にして停止すると、現在印刷されている場合は、再開するまで印刷されません。他の印刷要求は、停止中の要求よりも先に印刷されます。
任意の印刷要求を待ち行列の先頭に移動できます。その場合、先頭の印刷要求は次に印刷されます。ジョブの印刷を即座に開始したい場合は、現在印刷中のジョブを停止して中断できます。
引き続き印刷したいジョブの優先順位を変更して、待ち行列内で優先順位が低い要求の前と、優先順位が同じか高い要求の後の間に移動できます。
優先順位を変更したい印刷要求の要求 ID を決めます。
# lpstat |
詳細は、「印刷要求の状態をチェックする方法」を参照してください。
印刷要求の優先順位を変更します。
# 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 |