Solaris のシステム管理 (印刷)

LP 印刷コマンドを使用したプリンタの管理 (作業マップ)

表 6–1 LP 印刷コマンドを使用したプリンタの管理 (作業マップ)

作業 

説明 

参照先 

プリンタの説明 (備考欄) を追加します。 

lp コマンドを -p オプションとともに使用すると、プリンタの説明 (備考欄) を追加できます。

「LP 印刷コマンドを使用してプリンタの説明を追加する方法」

システムのデフォルトプリンタを設定します。 

プリンタ名を入力しなくてもすむように、ユーザーのデフォルトプリンタを指定できます。 

「LP 印刷コマンドを使用してシステムのデフォルトプリンタを設定する方法」

バナーページを選択可能にします。 

ユーザーが印刷要求を出すときに、バナーページの印刷を抑制するかどうかを選択できます。  

「LP 印刷コマンドを使用してバナーページを選択可能にする方法」

バナーページを抑制します。 

プリンタの -o banner=never 変数を設定すると、バナーページを常に抑制できます。

「LP 印刷コマンドを使用してバナーページを抑制する方法」

プリンタのクラスを定義します。 

lpadmin -c コマンドを使用すると、プリンタをクラス別にグループ化できます。

プリンタは、次のクラスにグループ化できます。

  • プリンタタイプ

  • 場所

  • ワークグループ

「LP 印刷コマンドを使用してプリンタのクラスを定義する方法」

プリンタに障害警告を設定します。 

印刷サービスはプリンタ障害を検出したときに通知できます。lpadmin コマンドとともに -A オプションを使用すると、プリンタの障害警告を設定できます。

「LP 印刷コマンドを使用してプリンタの障害警告を設定する方法」

プリンタ障害からの回復を設定します。 

障害通知を受け取らない選択もできます。問題を解決するため、印刷障害を検出できます。lpadmin コマンドとともに -F オプションを使用すると、障害回復オプションを定義できます。

「LP 印刷コマンドを使用してプリンタの障害回復を設定する方法」

プリンタへのユーザーアクセスを制限します。 

プリンタへのユーザーアクセスを制御するには、印刷サーバー上で許可リストと拒否リストを作成します。 

「LP 印刷コマンドを使用してプリンタへのユーザーアクセスを制限する方法」

LP 印刷コマンドを使用したプリンタ定義の設定

ネットワーク上でのプリンタの定義の設定は、より効率的な印刷環境をユーザーに提供するための継続的な作業です。たとえば、サイトにあるすべてのプリンタに説明を付ければ、ユーザーはプリンタがどこにあるのかを見つけやすくなります。あるいは、プリンタのクラスを定義することにより、印刷要求を迅速に処理できます。LP 印刷コマンドを使用したプリンタ定義の設定方法については、「プリンタの設定時に PPD ファイルを指定する」を参照してください。

多くのプリンタ定義は、Solaris 印刷マネージャーを使用して設定またはリセットすることができます。詳細は、「Solaris 印刷マネージャーを使用したプリンタ定義の設定」を参照してください。

次の手順では、LP 印刷コマンドを使用してプリンタ定義を設定またはリセットする詳細な手順を説明します。これらの手順は、プリンタ定義をすばやく設定またはリセットする方法を示します。

ProcedureLP 印刷コマンドを使用してプリンタの説明を追加する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。

  2. プリンタの説明を追加します。


    # lpadmin -p printer-name -D "comment"
    -p printer-name

    説明 (備考欄) を追加するプリンタ名を指定します。

    -D "comment"

    設置場所や管理担当者など、プリンタの特性を指定します。シェルが解釈する文字 (*?\!^ など) は、一重引用符で囲みます。

    詳細は、lpadmin(1M) のマニュアルページを参照してください。

  3. Description 情報をチェックします。


    # lpstat -p printer-name -l
    

例 6–1 プリンタの説明 (備考欄) を追加する

次の例は、プリンタ luna の説明 (備考欄) を追加する方法を示しています。


# lpadmin -p luna -D "Nathans office"

LP 印刷コマンドを使用したデフォルトプリンタの設定

印刷コマンドを使用するときにプリンタ名を入力しなくてもすむように、ユーザーのデフォルトプリンタを指定できます。あるプリンタをデフォルトとして指定する前に、そのプリンタをシステム上の印刷サービスに認識させなければなりません。

次のいずれかを設定して、ユーザーのデフォルトプリンタを設定します。

アプリケーションがプリンタを指定する場合は、システムのデフォルトプリンタを設定したかどうかに関係なく、その出力先が印刷サービスに使用されます。アプリケーションにプリンタの出力先がない場合や、印刷コマンドの使用時にプリンタ名が指定されていない場合は、印刷コマンドはデフォルトプリンタを特定の順序で検索します。次の表は、システムのデフォルトプリンタの検索順序を示しています。

表 6–2 デフォルトプリンタの検索順序

検索順序 

/usr/bin/lp コマンドを使用

LPD ベースの互換コマンド (lprlpq、および lprm) を使用

LPDEST 変数

PRINTER 変数

PRINTER 変数

LPDEST 変数

システムのデフォルトプリンタ 

システムのデフォルトプリンタ 

ProcedureLP 印刷コマンドを使用してシステムのデフォルトプリンタを設定する方法

  1. デフォルトプリンタを設定したいシステムに、スーパーユーザーまたは lp としてログインするか、同等の役割になります。

  2. システムのデフォルトプリンタを設定します。


    # lpadmin -d [printer-name]

    -d printer-name はシステムのデフォルトプリンタとして割り当てるプリンタ名を指定します。printer-name を指定しなければ、システムはデフォルトプリンタなしで設定されます。

  3. システムのデフォルトプリンタをチェックします。


    # lpstat -d
    

例 6–2 システムのデフォルトプリンタを設定する

次の例は、プリンタ luna をシステムのデフォルトプリンタとして設定する方法を示しています。LPDEST または PRINTER 環境変数が設定されない場合に、luna がシステムのデフォルトプリンタとして使用されます。


# lpadmin -d luna
# lpstat -d
system default destination: luna

LP 印刷コマンドを使用したバナーページの印刷

バナーページには、印刷要求を出したユーザー、印刷要求 ID、要求の印刷日時が出力されます。また、バナーページには、ユーザーがプリントアウトを識別しやすいように変更可能なタイトルを付けることもできます。

バナーページは、印刷ジョブの所有者を簡単に識別できるようにします。これは、多数のユーザーが同じプリンタにジョブを依頼するときに特に便利です。ただし、バナーページを印刷すると用紙の消費量が増えますが、1 台のプリンタを使用するユーザーが少ない場合は必要ないことがあります。また場合によっては、バナーページを印刷しない方がよいこともあります。たとえば、プリンタに支払い小切手などの特殊な用紙やフォームが装着されている場合は、バナーページを印刷すると問題が起きることがあります。

デフォルトでは、印刷サービスはバナーページを強制的に印刷します。ただし、ユーザーが印刷要求を出すときにバナーページの印刷を抑制するかどうかを選択できるようにすることもできます。これは、lpadmin コマンドまたは Solaris 印刷マネージャーから設定することができます。ユーザーが選択できるようにする場合、ユーザーがバナーページの印刷を抑制するには、-o banner オプションを使用する必要があります。

また、バナーページが不要な場合、バナーページの印刷を抑制してまったく印刷されないようにすることもできます。バナーページの印刷は、lpadmin コマンドを使用するか Solaris 印刷マネージャーを通して抑制できます。

次の表は、バナーページ印刷の管理に使用されるコマンドオプションについて説明したものです。

表 6–3 バナーページの印刷

使用するコマンド 

バナーページの印刷 

変更 

lpadmin -p printer -o banner または

lpadmin -p printer -o banner=always

常に行われる 

一般ユーザーが -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

無効 

通常ユーザーの場合は、なし。スーパーユーザー (root) または lp ユーザーの場合、このオプションを上書きしてバーストページを生成できる。

ProcedureLP 印刷コマンドを使用してバナーページを選択可能にする方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。

  2. バナーページを選択可能にします。


    # lpadmin -p printer-name -o banner=optional
    
    -p printer-name

    バナーページ印刷を選択可能にするプリンタ名を指定します。

    -o banner=optional

    ユーザーが印刷要求を出すときにバナーページなしを指定できるようにします。

  3. バナーページが選択可能であるかどうかを検証します。次のコマンド出力には、「Banner not required」という行が入っています。


    # lpstat -p printer-name -l
    

例 6–3 バナーページを選択可能にする

次の例は、プリンタ luna のバナーページを選択可能にする方法を示しています。


# lpadmin -p luna -o banner=optional

ProcedureLP 印刷コマンドを使用してバナーページを抑制する方法

  1. 印刷サーバーにスーパーユーザー lp としてログインするか、それと同等の役割になります。

  2. バナー印刷を抑制します。


    # lpadmin -p printer-name -o banner=never
    
    -p printer-name

    バナーページ印刷を抑制するプリンタ名を指定します。

    -o banner=never

    どのような状況でもバナーページ印刷を無効にします。

  3. バナーページ印刷が抑制されているかどうかを検証します。


    # lpstat -p printer-name -l
    

    次のコマンド出力には、「Banner not printed」という行が入っています。

  4. プリンタに印刷要求を送ってバナーページが印刷されないことを確認します。


例 6–4 バナーページ印刷を抑制する

次の例は、プリンタ luna のバナーページを印刷しないようにする方法を示しています。


# lpadmin -p luna -o banner=never

LP 印刷コマンドを使用したプリンタクラスの設定

LP 印刷サービスを使用すると、複数のローカルプリンタを 1 つのクラスにグループ化できます。この作業は、lpadmin -c コマンドを使用しなければ実行できません。

プリンタクラスを設定すると、ユーザーは印刷要求の出力先として (個々のプリンタではなく) そのクラスを指定できます。そのクラスで空いている最初のプリンタが印刷に使用されます。その結果、プリンタはできる限りビジーに保たれるので、応答時間が短縮されます。

印刷サービスに認識されるデフォルトのプリンタクラスはなく、定義したプリンタクラスのみが存在することになります。

プリンタクラスを定義するには、次の 3 つの方法があります。

また、1 つのクラスには特定の順序で使用される複数のプリンタを含めることができます。LP 印刷サービスでは、常に各プリンタがクラスに追加された順番に従って利用できるプリンタをチェックします。したがって、最初に高速プリンタにアクセスしたい場合は、高速プリンタを低速プリンタよりも先にクラスに追加します。その結果、高速プリンタで最大限の印刷要求が処理されることになります。低速プリンタは、高速プリンタが使用されているときのバックアッププリンタとして確保されます。


注 –

印刷要求の負荷は、ローカルプリンタのクラス内のプリンタ間でのみ調整されます。


クラス名も、プリンタ名と同様に一意でなければなりません。クラス名は 14 文字以内の英数字で、下線を使用できます。

プリンタクラスは定義しなくてもかまいません。プリンタクラスを使用するとネットワーク上のユーザーに利点があると判断した場合にのみ、クラスを追加してください。

ProcedureLP 印刷コマンドを使用してプリンタのクラスを定義する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。

  2. プリンタのクラスを定義します。


    # lpadmin -p printer-name -c printer-class
    
    -p printer-name

    プリンタのクラスに追加するプリンタ名を指定します。

    -c printer-class

    プリンタのクラスの名前を指定します。

  3. プリンタがプリンタクラスの中にあることを確認します。


    # lpstat -c printer-class
    

例 6–5 プリンタのクラスを定義する

次の例は、プリンタ luna をプリンタクラス roughdrafts に追加する方法を示しています。


# lpadmin -p luna -c roughdrafts

LP 印刷コマンドを使用したプリンタ障害警告の設定

事前に選択しておくと、LP 印刷サービスはプリンタ障害を検出したときに通知できます。プリンタの障害通知を受け取る方法として、次のいずれかの方法を、lpadmin -A コマンドまたは Solaris 印刷マネージャーを使用して選択することができます。

ただし、lpadmin -A コマンドを使用すると、選択したプログラムで指定されるメッセージを受信するようにすることもできます。また、lpadmin -A コマンドで、すでに知っているエラーに関する通知を選択的に抑制することもできます。

障害通知を配信するプログラムを指定しなければ、障害警告の内容は事前に定義済みのメッセージになります。このメッセージは、プリンタが印刷を停止しており、解決が必要であることを示します。

次の表は、lpadmin -A コマンドでプリンタに設定できる警告値を示しています。 これらの警告値は、印字ホイール、フォントカートリッジ、フォームについても設定できます。

表 6–4 プリンタ障害の警告値

-A alert の値

説明 

'mail [username]'

警告メッセージを、印刷サーバー上の rootlp、または、指定したユーザー名 username に電子メールで送信します。

'write [user-name]'

警告メッセージを、印刷サーバー上の rootlp のコンソールウィンドウ、または指定したユーザー名 username のコンソールウィンドウに送信します。指定したユーザーが警告メッセージを受け取るには、印刷サーバーにログインしている必要があります。

'command'

警告ごとに指定の command ファイルを実行します。環境変数とカレントディレクトリは保存され、ファイルの実行時に復元されます。

quiet

障害が解決されるまで警告を停止します。この値は、ユーザー (root または指定したユーザー) が繰り返し警告を受け取るときに使用します。

none

警告を送信しません。プリンタの障害警告を指定しない場合は、これがデフォルト値です。 

ProcedureLP 印刷コマンドを使用してプリンタの障害警告を設定する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。

  2. プリンタに障害警告を設定します。


    # lpadmin -p printer-name -A alert [-W minutes]
    -p printer-name

    プリンタ障害の警告を指定するプリンタ名を指定します。

    -A alert

    プリンタ障害が起きたときに出される警告の種類を指定します。有効な値は mailwritequiet などです。

    -W minutes

    障害警告が出される間隔 (分単位) を指定します。このオプションを指定しなければ、警告は一度だけ送られます。

  3. 障害警告が正しく送信されたかどうかを検証します。


    # lpstat -p printer-name -l
    

例 6–6 プリンタの障害警告を設定する

次の例は、プリンタ mars の障害警告をユーザー joe に電子メールで送信する設定方法を示しています。通知は 5 分ごとに送信されます。


# lpadmin -p mars -A 'mail joe' -W 5

次の例は、プリンタ venus の障害警告をコンソールウィンドウに送信する設定方法を示しています。通知は 10 分ごとに送信されます。


# lpadmin -p venus -A write -W 10

次の例は、プリンタ mercury の障害警告を停止する方法を示しています。


# lpadmin -p mercury -A none

次の例は、プリンタ venus の障害が解決するまで、障害警告を停止する方法を示しています。


# lpadmin -p venus -A quiet

LP 印刷コマンドを使用したプリンタの障害回復の設定

障害通知を送信しないことを選択した場合でも、問題を解決するためにプリンタ障害を検出することができます。LP 印刷サービスは、障害のあるプリンタを継続して使用しません。プリンタ障害の警告に加えて、印刷要求が必要とするときに、印字ホイール、フォントカートリッジ、およびフォームを取り付けるように知らせる警告も設定できます。

プリンタの障害回復オプションを定義するには、lpadmin -F コマンドを使用する必要があります。これは、Solaris 印刷マネージャーではできません。

プリンタ障害は、用紙切れやトナーカートリッジの交換が必要であるなど、きわめて単純な場合があります。より重大な問題としては、完全なプリンタ障害や電源障害などがあります。

プリンタ障害を解決すると、障害が発生したときに有効だった印刷要求は、次のいずれかの方法で印刷を開始します。

印刷が停止したページの先頭から印刷を継続するには、LP 印刷サービスは別の印刷フィルタを必要とします。この印刷フィルタは、デフォルトの印刷フィルタによって設定される制御シーケンスを記録します。プリンタは、これらの制御シーケンスを使用してページ境界を追跡します。指定した印刷フィルタで回復処理を実行できなければ、LP 印刷サービスから通知されます。フィルタの作成方法については、「新しい印刷フィルタを作成する方法」を参照してください。

プリンタ障害を解決した直後に印刷を再開したい場合は、enable コマンドを使用してプリンタを使用可能にします。

次の表は、lpadmin -F コマンドでプリンタに設定できる障害回復値を示しています。

表 6–5 プリンタ障害回復の値

-F recover-options の値

説明 

beginning

障害回復後に、ファイルの先頭から印刷を再開します。 

continue

障害回復後、印刷が停止したページの先頭から印刷が再開します。この回復オプションには印刷フィルタが必要です。

wait

障害回復後に、プリンタを使用可能にするまで印刷が停止されます。enable コマンドでプリンタを使用可能にすると、印刷は停止されたページの先頭から始まります。この回復オプションには印刷フィルタが必要です。

ProcedureLP 印刷コマンドを使用してプリンタの障害回復を設定する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。

  2. プリンタの障害回復を設定します。


    # lpadmin -p printer-name -F recovery-options
    
    -p printer-name

    障害からの回復方法を指定するプリンタ名を指定します。

    -F recovery-options

    次の 3 つの有効な回復オプションのどれかを指定します。 beginningcontinue、または wait

    詳細は、lpadmin(1M) のマニュアルページを参照してください。

  3. プリンタの障害回復が正常に設定されたかどうかを検証します。


    # lpstat -p printer-name -l
    

例 6–7 プリンタの障害回復を設定する

次の例は、印刷が停止したページの先頭から再開させるようにプリンタ luna を設定する方法を示しています。


# lpadmin -p luna -F continue

LP 印刷コマンドを使用したプリンタへのユーザーアクセスの制限

利用できるプリンタの一部またはすべてにアクセスできるユーザーを制限する必要がある場合があります。たとえば、一部のユーザーが高品質プリンタ上で印刷できないようにして経費を抑えることができます。プリンタへのユーザーアクセスを制限するには、印刷サーバー上で lpadmin -u コマンドを使用して「許可」リストと「拒否」リストを作成します。Solaris 印刷マネージャーを使用すると、「許可」リストのみを作成できます。どちらのリストも作成しなければ、プリンタはそこにアクセスできる全ユーザーが利用できます。

許可リストには、指定したプリンタへのアクセスを許可されるユーザー名が入っています。拒否リストには、指定したプリンタへのアクセスを拒否されるユーザー名が入っています。

許可リストと拒否リストには、次の規則が適用されます。

許可リストと拒否リストの規則 

ユーザアクセスの制限 

許可リストも拒否リストも作成しない、または、両方のリストを空にする。

そのプリンタには全ユーザーがアクセスできます。 

許可リストで all を指定する。

そのプリンタには全ユーザーがアクセスできます。 

拒否リストで all を指定する。

サーバー上の rootlp 以外の全ユーザーのアクセスが拒否されます。

許可リストにエントリを作成する。

拒否リストは無視されます。リストに指定されているユーザーだけがプリンタにアクセスできます。

拒否リストを作成し、許可リストは作成しないか許可リストを空にする。

拒否リストで指定されたユーザーはプリンタにアクセスできません。

プリンタへのアクセスを制御しているのは印刷サーバーなので、許可リストと拒否リストを作成できるのは印刷サーバー上でだけです。許可リストと拒否リストを作成した場合、印刷サーバーは、プリンタへのユーザーアクセスを排他的に制御します。

次の表は、プリンタへのユーザーアクセスを制限するために許可リストまたは拒否リストに追加できる値を示します。

表 6–6 許可リストと拒否リストの値

user-list の値

説明 

user

任意のシステム上の特定ユーザー

all

すべてのシステム上の全ユーザー 

none

すべてのシステム上の全ユーザーが該当しない 

system!user

特定システム上の特定ユーザー

!user

ローカルシステム上の特定ユーザー

all!user

任意のシステム上の特定ユーザー

all!all

すべてのシステム上の全ユーザー 

system!all

特定システム上の全ユーザー

!all

ローカルシステム上の全ユーザー 

ProcedureLP 印刷コマンドを使用してプリンタへのユーザーアクセスを制限する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインするか、同等の役割になります。

  2. プリンタへのユーザーアクセスを許可または拒否します。


    # lpadmin -p printer-name -u allow:user-list [deny:user-list]
    -p printer-name

    許可または拒否アクセスリストを適用するプリンタ名を指定します。

    -u allow:user-list

    許可アクセスリストに追加するユーザー名を指定します。このコマンドで複数のユーザーを指定できます。空白またはコンマを使用して名前を区切ります。空白を使用する場合は、名前のリストを引用符で囲みます。

    -u deny:user-list

    拒否ユーザーアクセスリストに追加するユーザー名を指定します。このコマンドで複数のユーザーを指定できます。空白またはコンマを使用して名前を区切ります。空白を使用する場合は、名前のリストを引用符で囲みます。

    指定したユーザーが、印刷サーバーの次のどちらかのファイル内で、プリンタの許可または拒否リストに追加されます。


    注 –

    許可リストのuser-listnone を指定した場合、印刷サーバー用に次のファイルは作成されません。


  3. 次のコマンド出力で、「Users allowed」または「Users denied」見出しに続く情報が正しいことをチェックします。


    # lpstat -p printer-name -l
    

例 6–8 プリンタへのユーザーアクセスを制限する

次の例は、ユーザー nathangeorge にだけプリンタ luna へのアクセスを許可する方法を示しています。


# lpadmin -p luna -u allow:nathan,george

次の例は、ユーザー nathan george のプリンタ asteroid へのアクセスを拒否する方法を示しています。


# lpadmin -p asteroid -u deny:"nathan george"