Solaris のシステム管理 (上級編)

プリンタと印刷スケジューラの管理

この節では、プリンタと印刷スケジューラを管理するために日常的に行う作業について説明します。

プリンタとプリンタアクセスの削除

プリンタの交換が必要な場合や、プリンタを別の場所に移動したい場合は、プリンタサーバーから物理的に削除する前に、LP 印刷サービスからプリンタ情報を削除しなければなりません。また、プリンタ上の現在の印刷要求がすべて印刷されるか、別のプリンタに移動して印刷されるかを確認する必要があります。

プリンタ情報をプリンタサーバーから削除するだけでなく、印刷クライアントまたはネットワークネームサービスからも削除する必要があります。プリンタサーバーからローカルプリンタを削除する場合は、印刷クライアントまたはネットワークネームサービスからリモートプリンタエントリを削除する必要があります。プリンタを別のプリンタサーバーに移動する場合は、印刷クライアントまたはネットワークネームサービスから古いリモートプリンタエントリを削除する必要があります。そうしてから、リモートプリンタの移動先へのアクセスを追加します。

ローカルとリモートのプリンタの削除方法については、プリンタとリモートプリンタへのアクセスを削除する方法を参照してください。Solaris プリンタマネージャを使用して、ローカルプリンタまたはリモートプリンタを削除できます。ただし、Solaris プリンタマネージャでは、待ち行列に入っている印刷要求を別のプリンタに移動できません。

プリンタとリモートプリンタへのアクセスを削除する方法

プリンタをサービスから削除するとき、プリンタアクセスを印刷クライアントから削除するには、次の手順を使用します。 そうしてから、プリンタ情報をプリンタサーバーから削除します。

  1. 削除したいプリンタへアクセスできる印刷クライアントに、スーパーユーザーまたは lp としてログインするか、同等の役割になります。

  2. 印刷クライアントからプリンタに関する情報を削除します。


    print-client# lpadmin -x printer-name
    

    -x

    指定したプリンタを削除する 

    printer-name

    削除したいプリンタ名 

    指定したプリンタに関する情報が、印刷クライアントの /etc/lp/printers ディレクトリから削除されます。

  3. 印刷クライアントが同じプリンタサーバー上の別のプリンタを使用しない場合は、そのプリンタサーバーに関する情報を印刷クライアントから削除します。


    print-client# lpsystem -r print-server
    

    -r

    指定したプリンタサーバーを削除する 

    print-server

    削除したいプリンタサーバー名 

    プリンタサーバーが、印刷クライアントの /etc/lp/Systems ファイルから削除されます。

  4. プリンタへアクセスできる各印刷クライアント上で、手順 2 から 手順 3 までを繰り返します。

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

  6. プリンタ上で印刷要求を停止します。


    print-server# reject printer-name
    

    reject printer-name
    

    指定したプリンタの印刷要求を拒否する 

    この手順を実行すると、プリンタの削除処理中は、そのプリンタの待ち行列に新しい要求が入らなくなります。詳細については、プリンタへの印刷要求を受け付けるまたは拒否する方法を参照してください。

  7. プリンタを停止します。


    print-server# disable printer-name
    

    この手順を実行すると、印刷要求の印刷は停止されます。印刷を停止する方法については、プリンタを使用可能または使用不可にする方法を参照してください。

  8. 待ち行列に残っている印刷要求がある場合は、別のプリンタに移動します。

    印刷要求を別のプリンタに移動する方法については、印刷要求を別のプリンタに移動する方法を参照してください。

  9. プリンタをプリンタサーバーから削除します。


    print-server# lpadmin -x printer-name
    

    プリンタの構成情報が、プリンタサーバーの /etc/lp/printers ディレクトリから削除されます。

  10. 削除したばかりのプリンタを使用していた印刷クライアントが、まだプリンタサーバー上で別のプリンタを使用中でなければ、その印刷クライアントに関する情報を削除します。


    print-server# lpsystem -r print-client1 [,print-client2...]
    

    -r

    指定したプリンタサーバーを削除する 

    print-client

    プリンタサーバーから削除したい印刷クライアント名。このコマンドで複数の印刷クライアントを指定できる。印刷クライアント名を区切るには空白またはコンマを使用する。空白を使用する場合は、印刷クライアントのリストを引用符で囲む 

    指定した印刷クライアントが、プリンタサーバーの /etc/lp/Systems ファイルから削除されます。

  11. プリンタ情報が削除されていることを確認します。

    1. 印刷クライアント上でプリンタ情報が削除されていることを確認します。


      print-client$ lpstat -p printer-name -l
      

      上記のコマンドの出力で、プリンタが存在しないことを示すエラーが表示されます。

    2. プリンタサーバー上でプリンタ情報が削除されていることを確認します。


      print-server$ lpstat -p printer-name -l
      

      上記のコマンドの出力で、プリンタが存在しないことを示すエラーが表示されます。

例 — プリンタとリモートプリンタへのアクセスを削除する

次の例は、印刷クライアント terra とプリンタサーバー jupiter からプリンタ luna を削除する方法を示しています。この例では、プリンタサーバーから印刷クライアント 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 印刷サービスや特定のプリンタに関する状態情報を調べることができます。

プリンタの状態をチェックする方法

  1. ネットワーク上の任意のシステムにログインします。

  2. プリンタの状態をチェックする

    ここには、最も一般的に使用するオプションだけを掲載してあります。その他のオプションについては、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 Mon 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 は、プリンタサーバー上の印刷要求を処理します。ただし、印刷スケジューラがシステム上で動作を停止したために、印刷要求の受け付けや印刷が停止されることがあります。

次の節では、印刷スケジューラの再起動の方法について説明します。印刷スケジューラが動作を停止するときに印刷要求が印刷中だった場合は、印刷スケジューラを再起動すると、その印刷要求全体が印刷されます。

印刷スケジューラを停止する方法

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

  2. 印刷スケジューラが動作しているかどうかをチェックします。


    # lpstat -r
    

    印刷スケジューラが動作していない場合は、「scheduler is not running」というメッセージが表示されます。

  3. 印刷スケジューラが動作している場合は停止します。


    # /etc/init.d/lp stop
    

印刷スケジューラを再起動する方法

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

  2. 印刷スケジューラが動作しているかどうかをチェックします。


    # lpstat -r
    

    印刷スケジューラが動作していない場合は、「scheduler is not running」というメッセージが表示されます。

  3. 印刷スケジューラが動作していない場合は起動します。


    # /etc/init.d/lp start