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

ネットワークプリンタの追加

「ネットワークプリンタ」とは、ネットワークに直接接続されているハードウェアデバイスです。 これは、ネットワークプリンタがプリンタサーバーにケーブルで実際に接続されていなくても、プリンタサーバーからアクセスできることを意味します。 ネットワークプリンタは専用のシステム名と IP アドレスを持っています。 ネットワークプリンタがプリンタサーバーに接続されていない場合でも、そのプリンタ用のプリンタサーバーを設定しておく必要があります。 プリンタサーバーは、ネットワークプリンタの待ち行列化機能と印刷管理機能を提供します。

ネットワークプリンタを追加するときには、LP 印刷サービスコマンドを使用しても、Solaris プリンタマネージャを使用してもかまいません。 今回のリリースで追加または変更された印刷機能については、印刷の新機能を参照してください。

ネットワークプリンタは、ベンダー提供の印刷プログラムを必要とする特別なプロトコルを 1 つ以上使用することがあります。 ベンダーから提供される印刷プログラムの設定手順は、それぞれ異なることがあります。 プリンタにベンダー提供サポートが付いていない場合、ほとんどのデバイスについて Solaris のネットワークプリンタサポートを使用できます。 可能な場合は、プリンタのベンダーが提供するソフトウェアを使用します。

ベンダーは、SVR4 プリンタインタフェーススクリプトを提供して標準プリンタインタフェーススクリプトを置き換えている場合があります。 その場合、SVR4 インタフェーススクリプトはベンダー提供の印刷プログラムを呼び出して、ジョブをプリンタに送ります。 このスクリプトが提供されない場合は、標準インタフェーススクリプトを変更してベンダー提供の印刷プログラムを呼び出す必要があります。 この作業は、標準インタフェーススクリプトのプリンタごとのコピーをベンダー提供の印刷プログラムを呼び出すように編集することで実行できます。

ネットワークプリンタ構成で使用する用語を説明します。

ネットワークプリンタ用のプリンタベンダー提供のソフトウェア

一般に、ネットワークプリンタには、プリンタベンダーから提供されているソフトウェアが必要です。 プリンタにベンダー提供のソフトウェアがある場合、可能ならば、プリンタベンダーのソフトウェアを使用します。 プリンタベンダー提供のソフトウェアは、そのプリンタの特性をサポートするように設計されていて、プリンタの能力を最大限に活用します。 プリンタのマニュアルをよく読んで、プリンタを LP 印刷システムにインストールおよび構成してください。

Sun のネットワークプリンタのサポート

ネットワークプリンタベンダーがソフトウェアサポートを提供していない場合、Sun が提供するソフトウェアを利用できます。 このソフトウェアは、ネットワークプリンタの汎用サポートを提供するもののため、必ずしもプリンタで利用できるすべての機能を使用できません。

ネットワークプリンタを追加するための一般的な説明については、第 4 章「プリンタの設定手順 (手順) 」を参照してください。 次は、Sun 提供のソフトウェアを使用したプリンタの管理を説明します。

ネットワークプリンタサポートの呼び出し

ネットワークプリンタ用のソフトウェアサポートは、次のどちらかのインタフェーススクリプト経由で呼び出されます。

ネットワークインタフェーススクリプトでネットワークプリンタを構成すると、ネットワークプリンタサポートモジュールが呼び出されます。

次に、PPD ファイルを指定して、プリンタをネットワークサポート用に構成するコマンドを示します。


# lpadmin -p printer-name -m netstandard_foomatic 

次に、PPD ファイルを指定せずに、プリンタをネットワークサポート用に構成するコマンドを示します。


# lpadmin -p printer-name -m netstandard

プロトコルの選択

印刷サブシステムは、BSD 印刷プロトコルと raw TCP を使用してプリンタと通信します。 プリンタのマニュアルには、使用するプロトコルについての情報が提供されています。 一般に、プリンタに使用するのは TCP プロトコルです。

プロトコルを選択するには、次のどちらかのコマンドを入力します。


# lpadmin -p printer-name -o protocol=bsd

# lpadmin -p printer-name -o protocol=tcp

選択したプロトコルが BSD 印刷プロトコルの場合、さらにコントロールファイルをプリンタに送信する順番を選択できます。 一部のプリンタは、コントロールファイルの後にデータファイルという順番を仮定しますが、 その逆を仮定するプリンタもあります。 詳しくは、プリンタベンダーのマニュアルを参照してください。 デフォルトでは、コントロールファイルを先に送信します。

順番を選択するには、次のどちらかのコマンドを入力します。


# lpadmin -p printer-name -o bsdctrl=first

# lpadmin -p printer-name -o bsdctrl=last

プリンタノード名の選択

システム管理者はプリンタノード名を選択します。 ネットワーク上のノードと同様に、この名前は一意でなければなりません。 プリンタノード名は、プリンタの IP アドレスと関連付けられます。

宛先 (またはネットワークプリンタアクセス) 名の選択

印刷サブシステムはプリンタのアクセス情報を必要とします。 このサブシステムは、プリンタへのネットワーク接続を行うときに宛先名を使用します。 この名前は、システム管理者が lpadmin コマンドで印刷サブシステムに提供します。 これは、プリンタ構成データベースの一部になります。 プリンタアクセス名はプリンタノード名であり、ポート名で修飾される場合もあります。 ポート指定はプリンタベンダー間で異なります。 ポート指定については、プリンタのマニュアルを参照してください。 次に、プリンタアクセス名の書式を示します。

printer_node-name[:port-designation]

例 1 — ポート指定 (番号) 付き宛先名 (またはネットワークプリンタアクセス名)

TCP の共通ポート指定は 9100 です。プリンタノード名が pn1 で、プリンタベンダーがそのポートを 9100 と定義している場合、プリンタアクセス名は次のようになります。 pn1:9100。 この場合にプリンタを構成するには、次のコマンドを使用します。


# lpadmin -p printer_name -o dest=pn1:9100

例 2 — ポート指定 (名前) 付き宛先名 (またはネットワークプリンタアクセス名)

BSD プロトコルを使用するとき、ポート指定は番号でなく、プリンタベンダーが定義した名前です (例: xxx_parallel_1. プリンタノード名が cardboard の場合、プリンタアクセス名はcardboard:xxx_parallel_1になります。 cardboard:xxx_parallel_1. この場合にプリンタを構成するには、次のコマンドを使用します。


# lpadmin -p printer-name -o dest=cardboard:xxx_parallel_1

例 3 — ポート指定なしの宛先名 (またはネットワークプリンタアクセス名)

ポート指定がなく、プリンタノード名が newspaper の場合、プリンタアクセス名はプリンタノード名 newspaper になります。 newspaper. この場合にプリンタを構成するには、次のコマンドを使用します。


# lpadmin -p printer_name -o dest=newspaper

タイムアウト値の設定

タイムアウトオプションは、プリンタに接続しようとする試行間で待機する時間 (秒数) を個別に選択するためのものです。 ウォームアップ時間が長いプリンタの場合は、タイムアウト値を大きくします。 デフォルトは 10 秒です。

タイムアウト値は、印刷プロセスが成功するか失敗するかには影響を与えません。 これは、ソフトウェアが初期タイムアウトカウントとして使用するシード値です。 失敗が続くと、このカウントは増えます。 プリンタへの接続の試行が連続して失敗すると、メッセージがスプーラに送信されます。 これによって、ユーザーの介入が必要であることをユーザーに警告します。 プリンタの電源が入っていなかったり、用紙がなくなっていたりするときにも、このメッセージが生成される可能性があります。 たとえば、プリンタがウォームアップしているときに、このようなメッセージが頻繁に生成されるようであれば、タイムアウト値を増やすことで間違ったメッセージを減らすことができます。

システム管理者は最適なタイムアウト値を探してください。 タイムアウト値を設定するには次のコマンドを入力してください。


# lpadmin -p printer-name -o timeout=n

ネットワークプリンタアクセスの管理

各ネットワークプリンタは、そのプリンタへのアクセスを提供するサーバーを 1 つだけ持っています。 この制限によって、サーバーはそのプリンタへのアクセスを管理して、ジョブの一貫性を保つことができます。

ネットワークプリンタのデフォルトデバイスは /dev/null です。 プリンタに待ち行列が 1 つしかない場合はこのデバイスで十分です。 複数の待ち行列が必要であれば、そのデバイスをファイルに設定します。 この設定によって、印刷システムはプリンタへのアクセスを待ち行列間で制限できます。 次のコマンドは、デバイスファイルを作成して、ネットワークプリンタデバイスとして構成しています。


# touch /path/filename
# chmod 600 /path/filename
# lpadmin -p printer-name -v /path/filename

次の例では、devtreedown というデバイスファイルを作成しています。


# touch /var/tmp/devtreedown
# chmod 600 /var/tmp/devtreedown
# lpadmin -p treedown -v /var/tmp/devtreedown

プリンタベンダー提供のツールを使用して新しいネットワークプリンタを追加する方法

  1. プリンタをネットワークに接続して、プリンタの電源を入れます。

    ハードウェアのスイッチとケーブル接続の要件については、プリンタのインストールマニュアルを参照してください。 IP アドレスを取得して、プリンタノード名を選択します。 これは、ネットワークにノードを追加することと同じです。

  2. プリンタのマニュアルに従って、ネットワークプリンタを追加してください。

    プリンタのマニュアルを使用して、ネットワークプリンタを構成してください。 手順は、ベンダーやプリンタに固有です。

  3. 新しいプリンタへのアクセスをクライアントに追加します。

    これでプリンタは追加されました。プリンタへのアクセスをクライアントに作成します。 詳細は、Solaris プリンタマネージャを使用してプリンタアクセスを追加する方法を参照してください。

  4. オプションの作業を完了します。

    ネットワークプリンタを設定するときは、オプションの作業がいくつかあります。 残りの作業については、印刷の設定 (作業マップ)を参照してください。

Solaris プリンタマネージャを使用して新しいネットワークプリンタを追加する方法

今回のリリースでは、Solaris プリンタマネージャで割り当てることのできるプリンタ定義が変更されました。 Solaris プリンタマネージャの追加または変更された機能の概要については、印刷の新機能を参照してください。

  1. プリンタサーバーであるシステムを選択します。

  2. プリンタをネットワークに接続します。 プリンタの電源を入れます。

    ハードウェアのスイッチとケーブル接続の要件については、プリンタのインストールマニュアルを参照してください。

  3. プリンタサーバーで Solaris プリンタマネージャを起動します。

    手順については、Solaris プリンタマネージャを起動する方法 を参照してください。

  4. 「プリンタ (Printer)」メニューから「新しいネットワークプリンタを設定 (New Network Printer)」を選択します。

    「新しいネットワークプリンタを設定 (New Network Printer)」ウィンドウが表示されます。

  5. 必須フィールドに適切な情報を入力します。

    フィールドに入力するために情報が必要な場合は、「ヘルプ (Help)」ボタンをクリックします。

    たとえば、PPD ファイルを指定して、新しいネットワークプリンタを追加するには、次のフィールドを入力します。


    プリンタ名:
    備考欄:
    プリンタポート:
    プリンタメーカー:
    プリンタモデル:
    プリンタドライバ:
    プリンタ障害通知:
    宛先:
    プロトコル:
    オプション:
    デフォルトプリンタ:
    バナーを常に印刷:
    ユーザーアクセスリスト:

    「プリンタサーバー (Printer Server)」フィールドは Solaris プリンタマネージャによって入力されます。

    PPD ファイルを指定せずに、新しいネットワークプリンタを追加するには、次のフィールドを入力します。


    プリンタ名:
    備考欄:
    プリンタポート:
    プリンタタイプ:
    ファイル内容形式:
    プリンタ障害通知:
    宛先:
    プロトコル:
    オプション:
    デフォルトプリンタ:
    バナーを常に印刷:
    ユーザーアクセスリスト:

    「プリンタサーバー (Printer Server)」フィールドは Solaris プリンタマネージャによって入力されます。

    Solaris プリンタマネージャを使用して、PPD ファイルを指定せずに、新しいネットワークプリンタを追加する方法については、以前の Solaris プリンタマネージャのプリンタ定義画面に戻す を参照してください。

  6. 「了解 (OK)」をクリックします。

  7. プリンタがインストールされていることを確認します。 確認するには、Solaris プリンタマネージャのメインウィンドウに新しいプリンタエントリがあるか調べます。

  8. プリンタが要求どおり印刷できることを確認します。


    $ lp -d printer-name filename
    
  9. Solaris プリンタマネージャを終了します。

    「プリンタマネージャ (Print Manager)」メニューから「終了 (Exit)」を選択します。

LP 印刷サービスコマンドを使用して新しいネットワークプリンタを追加する方法

この手順では、今回のリリースで拡張されたプリンタサポートを利用して、新しいネットワークプリンタを追加する方法について説明します。 この手順のあとに、2 つの例を示します。 1 番目の例では、lp コマンドで、PPD ファイルを指定して、新しいネットワークプリンタを追加する方法を示します。 2 番目の例では、lp コマンドで、PPD ファイルを指定せずに、新しいネットワークプリンタを追加する方法を示します。

以下は、ネットワークプリンタサポートソフトウェアを使用してネットワークプリンタを設定するのに必要な手順です。 このソフトウェアは、プリンタにベンダー提供のソフトウェアが付属していない場合に使用します。

新しいネットワークプリンタを追加したり既存のネットワークプリンタを変更したりする際の、PPD ファイルの使用の概要については、印刷の新機能を参照してください。

  1. プリンタをネットワークに接続して、プリンタの電源を入れます。

    ハードウェアのスイッチとケーブル接続の要件については、プリンタのインストールマニュアルを参照してください。 IP アドレスを取得して、プリンタノード名を選択します。 この手順は、ネットワークにノードを追加することと同じです。

  2. PPD ファイルを指定して新しいネットワークプリンタを構成するのに必要な情報を収集します。

    • プリンタ名とポートデバイス

    • ネットワークプリンタアクセス名

    • プロトコル

    • タイムアウト

    • ファイル内容形式

    • PPD ファイル

      PPD ファイルを決定するには、まず、プリンタのメーカー、モデル、およびドライバを定義します。

    詳細については、ネットワークプリンタの追加 を参照してください。

  3. このプリンタで使用する、プリンタ名、ポートデバイス、ファイル内容形式、および PPD ファイルを定義します。 PPD ファイルを指定する場合、ファイル内容形式は通常「PostScript」です。

    1. このプリンタで使用するプリンタ名とポートデバイスを指定します。


      # lpadmin -p printer-name -v /dev/null
      

      使用するデバイスは /dev/null です。

    2. このプリンタで使用するインタフェーススクリプトを指定します。


      # lpadmin -p printer-name -m netstandard_foomatic 
      

      ネットワークプリンタ用のサポートソフトウェアと一緒に提供されるインタフェーススクリプトは /usr/lib/lp/model/netstandard_foomatic です。

    3. このプリンタで使用するファイル内容形式と PPD ファイルを指定します。


      # lpadmin -p printer-name -I content-type -n 
      /usr/lib/lp/model/ppd/manufacturer/ppdfile
      

      ここで指定する PPD ファイルは /usr/lib/lp/model/ppd/manufacturer/ ディレクトリにあります。

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

    4. プリンタの説明 (備考欄) を指定します。


      # lpadmin -p printer-name -D  "printer-description"
      
  4. プリンタ宛先、プロトコル、およびタイムアウト値を設定します。


    # lpadmin -p printer-name -o dest=access-name:port -o protocol=protocol
    -o timeout=value
    

    -p printer-name

    ネットワークプリンタ名を指定する 

    -o dest=access-name:port

    ネットワークプリンタアクセス名と、プリンタのマニュアルに定義されていれば指定されたプリンタベンダーポートに、プリンタ宛先を設定する  

    -o protocol=protocol

    プリンタとケーブル経由で通信するために使用するプロトコルを設定する。 BSD と raw TCP の両方をサポートしている 

    -o timeout=value

    プリンタへの接続の試行間で待機する秒数を表す再試行タイムアウト値を設定する  

  5. (省略可能) フィルタをプリンタサーバーに追加します。


    # cd /etc/lp/fd
    # for filter in *.fd;do
        > name=`basename $filter .fd`
        > lpfilter -f $name -F $filter
        > done
    
  6. プリンタが印刷要求を受け入れて、その要求を印刷できるようにします。


    # accept printer-name
    # enable printer-name
    
  7. プリンタが正しく構成されていることを確認します。


    # lpstat -p printer-name
    
  8. 新しいプリンタへのアクセスをクライアントに追加します。

    これでプリンタは追加されました。プリンタへのアクセスをクライアントに作成します。 詳細は、印刷クライアントの設定を参照してください。 ネームサービスを使用して印刷クライアントを定義する方法については、 ネームサービススイッチでの印刷サポートを参照してください。

  9. オプションの作業を完了します。

    プリンタを設定するときは、オプションの作業がいくつかあります。 残りの作業については、印刷の設定 (作業マップ)を参照してください。 ネームサービスを使用して印刷クライアントを定義する方法については、ネームサービススイッチでの印刷サポートを参照してください。

例—LP 印刷サービスコマンドで、PPD ファイルを指定して、新しいネットワークプリンタを追加する

この例では、PPD ファイルを指定して、新しいネットワークプリンタを追加する方法を示します。 lpadmin コマンドの -n オプションを使用すると、PPD ファイルを指定して、新しい印刷待ち行列を追加できます。 この例のコマンドは、プリンタサーバーで実行する必要があります。 この例では次の情報を使用しています。 実際の状況に合わせて指定する情報を変更してください。

  1. プリンタ名を定義する。デバイスを /dev/null に設定する。

  2. ネットワークプリンタ用のインタフェーススクリプトを定義する。

  3. 宛先、プロトコル、およびタイムアウトを設定する。

  4. プリンタが直接印刷できるファイル内容形式を指定する。

  5. 使用する PPD ファイルを指定する。

  6. プリンタの説明を追加する。

  7. 印刷フィルタをプリンタサーバーに追加する。

  8. プリンタが印刷要求を受け入れて、印刷できるようにする。

  9. プリンタが印刷できる状態にあることを確認する。

例—LP 印刷サービスコマンドで、PPD ファイルを指定せずに、新しいネットワークプリンタを追加する

この例では、PPD ファイルを指定せずに、新しいネットワークプリンタを追加する方法を示します。 これらのコマンドは、プリンタサーバー上で実行する必要があります。 この例では次の情報を使用しています。 実際の状況に合わせて指定する情報を変更してください。


# lpadmin -p luna1 -v /dev/null 1
# lpadmin -p luna1 -m netstandard 2
# lpadmin -p luna1 -o dest=nimquat:9100 -o protocol=tcp 
-o timeout=5 3
# lpadmin -p luna1 -I postscript -T PS 4# lpadmin -p luna1 -D "Room 1954 ps" 5
# cd /etc/lp/fd
# for filter in *.fd;do	
	   > name=`basename $filter .fd`	
	   > lpfilter -f $name -F $filter	
	   > done 6
# accept luna1
	destination "luna1" now accepting requests
# enable luna1	 7
printer "luna1" now enabled 
# lpstat -p luna1 8
 printer luna1 is idle. enabled since Feb 28 11:21 2003.  available.
  1. プリンタ名を定義する。デバイスを /dev/null に設定する。

  2. ネットワークプリンタ用のインタフェーススクリプトを定義する。

  3. 宛先、プロトコル、およびタイムアウトを設定する。

  4. プリンタが直接印刷できるファイル内容形式と、プリンタタイプを指定する。

  5. プリンタの説明を追加する。

  6. 印刷フィルタをプリンタサーバーに追加する。

  7. プリンタが印刷要求を受け入れて、印刷できるようにする。

  8. プリンタが印刷できる状態にあることを確認する。