Solaris のシステム管理 (第 2 巻)

LP 印刷サービスの基本機能をチェックするには

この手順では、基本 LP 印刷サービス機能をチェックする例として、プリンタ luna を使用しています。

  1. プリンタサーバー上と印刷クライアント上で、LP 印刷サービスが動作していることを確認します。

    1. このコマンドは、LP スケジューラが動作しているか表示します。


      # lpstat -r
      scheduler is running

    2. スケジューラが動作していない場合は、スーパーユーザーまたは lp になり、スケジューラを起動します。


      # /usr/lib/lp/lpsched
      

      スケジューラを起動できない場合は、「LP 印刷サービスのハングを解除する方法」を参照してください。

  2. プリンタサーバー上と印刷クライアント上で、プリンタが要求を受け付けていることを確認します。

    1. プリンタが要求を受け付けていることを確認します。


      # lpstat -a
      mars accepting requests since Jul 12 14:23 1999
      luna not accepting requests since Jul 12 14:23 1999
      unknown reason

      このコマンドは、LP システムがシステム用に構成された各プリンタの要求を受け付けているか確認します。

    2. プリンタが要求を受け付けていない場合は、スーパーユーザーまたは lp になり、プリンタが印刷要求を受け付けるようにします。


      # accept luna
      

      これで、指定したプリンタは要求を受け付けます。

  3. プリンタサーバー上と印刷クライアント上で、プリンタが依頼された印刷要求の印刷で使用可能になっているか確認します。

    1. プリンタが使用可能になっていることを確認します。


      # lpstat -a
      mars accepting requests since Jul 12 14:23 1999
      luna not accepting requests since Jul 12 14:23 1999
      unknown reason

      このコマンドは、プリンタの状態に関する情報を表示します。プリンタ名を省略すると、システム用に設定されたすべてのプリンタに関する情報を表示できます。次の例は、使用不可になっているプリンタを示しています。

    2. プリンタが使用不可になっている場合は、スーパーユーザーまたは lp になり、プリンタを使用可能にします。


      # enable luna
      printer "luna" now enabled.

      指定したプリンタが、印刷要求の処理に使用可能になります。

  4. プリンタサーバー上で、プリンタが正しいシリアルポートに接続されていることを確認します。

    1. プリンタが正しいシリアルポートに接続されていることを確認します。


      # enable luna
      printer "luna" now enabled.

      device for printer-name」というメッセージは、ポートアドレスを示します。LP 印刷サービスの接続先のポートにケーブルが接続されているか確認します。ポートが正しければ、手順 5 に進みます。

    2. スーパーユーザーまたは lp になります。

    3. ポートを表すデバイスファイルのファイル所有権を変更します。


      # chown lp device-filename
      

      このコマンドは、特殊なユーザー lp をデバイスファイルの所有者として割り当てます。このコマンドで、device-filename はデバイスファイル名です。

    4. プリンタポートのデバイスファイルのアクセス権を変更します。


      # chmod 600 device-filename
      

      このコマンドにより、root または lp だけがプリンタポートデバイスファイルにアクセスできます。

  5. プリンタサーバー上と印刷クライアント上で、プリンタが正しく構成されていることを確認します。

    1. プリンタが適切に設定されていることを確認します。


      # lpstat -p luna -l
      printer luna is idle. enabled since Jul 12 14:24 1999. available
              Content types: postscript
              Printer types: PS

      上の例は、正しく設定された PostScript プリンタと、そのプリンタを印刷要求の処理に利用できることを示しています。プリンタタイプとファイル内容形式が正しい場合は、手順 6 に進みます。

    2. プリンタタイプまたはファイル内容形式が違っている場合は、印刷クライアント上で、プリンタタイプを unknown に設定し、内容形式を any に設定してください。


      # lpadmin -p printer-name -T printer-type -I file-content-type
      
  6. プリンタサーバー上で、プリンタがプリンタ障害のために待機していないことを確認します。

    1. プリンタ障害のためにプリンタが待機していないことを確認します。


      # lpadmin -p printer-name -F continue
      

      このコマンドは LP 印刷サービスに対して、障害のために待機していない場合は続行するように指示します。

    2. プリンタを再び使用可能にすることによって、すぐに再試行させます。


      # enable printer-name
      
    3. (省略可能) プリンタ障害をすぐに通知するように、LP 印刷サービスに指示します。


      # lpadmin -p printer-name -A 'write root'
      

      このコマンドは LP 印刷サービスに対して、プリンタが障害を起こした場合に、root に書き込むというデフォルトポリシーを設定し、root がログインした端末にプリンタ障害メッセージを送るように指示します。これにより、問題を修正するときに障害通知をすぐに受け取れます。

  7. プリンタがログイン端末として間違った設定になっていないか確認します。


    注 -

    ログイン端末としてプリンタを設定する作業では誤りをおかしやすいので、当てはまらないと思われる場合にも、必ず設定値を確認してください。


    1. ps -ef コマンドの出力で、プリンタポートのエントリを探します。


      # ps -ef
          root   169   167  0   Apr 04 ?        0:08 /usr/lib/saf/listen tcp
          root   939     1  0 19:30:47 ?        0:02 /usr/lib/lpsched
          root   859   858  0 19:18:54 term/a   0:01 /bin/sh -c ¥ /etc/lp/
      interfaces/luna
      luna-294 rocket!smith "passwd¥n##
      #

      このコマンドの出力で、プリンタポートのエントリを探します。上の例で、ポート /dev/term/a はログイン端末として間違って設定されています。この行の最後に "passwd¥n## 情報が付いているのでわかります。ポートが正しく設定されている場合は、この手順の最後を飛ばしてください。

    2. 印刷要求を取り消します。


      # cancel request-id
      

      このコマンドで、request-id は取り消したい印刷要求の要求 ID 番号です。

    3. プリンタポートをログインデバイス以外のものとして設定します。


      # lpadmin -p printer-name -h
      
    4. ps -ef コマンドからの出力をチェックして、プリンタポートがログインデバイスではなくなったことを確認します。

      基本的な LP 印刷サービス機能に印刷時の問題の原因が見つからない場合は、次の中から該当するクライアント/サーバーの手順に進んでください。