この節では、印刷クライアントソフトウェアがどのように動作するかについて概要を説明します。
図 1-1 に、ユーザーが要求を発行してから印刷されるまでの、印刷要求の流れを示します。
ユーザーは印刷クライアントコマンドを使用して、印刷クライアントから印刷要求を出します。
印刷クライアントコマンドは印刷構成資源の階層をチェックして、印刷要求をどこに送信するか決定します。
印刷クライアントコマンドは、印刷要求を適切な印刷サーバーに直接送信します。印刷サーバーは、BSD 印刷プロトコルを受け付ける任意のサーバーです。SVR4 (LP) 印刷サーバーや BSD 印刷サーバー (SunOS 4.1 の BSD 印刷サーバーなど) が印刷サーバーとなります。
印刷サーバーは印刷要求を適切なプリンタに送信します。
印刷要求が印刷されます。
この節では「印刷クライアント」、つまり印刷要求を印刷サーバーに送信できるシステムと、印刷クライアントが印刷要求を発行するための印刷コマンドを中心に説明します。
図 1-2 に、印刷手順の中で、ユーザーが印刷クライアントから印刷要求を発行する処理を強調して示します。
システムに印刷クライアントソフトウェアをインストールして、リモートプリンタにアクセスできるようにすると、そのシステムは印刷クライアントになります。印刷クライアントコマンドの名前と出力は、以前の Solaris リリースの印刷コマンドのものと同じです。
印刷クライアントコマンドを使用すると、クライアントシステムは、より効率的な印刷クライアントになります。プリンタ構成情報を見つけるために、より多くのオプションを印刷クライアントコマンドに指定できるようになりました。また、クライアントは印刷サーバーと直接通信します。以前の Solaris オペレーティング環境では、印刷クライアントにこのような機能はありませんでした。
印刷クライアントコマンドには、次のような利点があります。
プリンタ情報を見つけるのに、より多くのオプションを指定できます。
印刷クライアントコマンドは次の資源を調べて、プリンタとプリンタ構成情報を見つけます。
コマンド行インタフェース
ユーザーのホームディレクトリにあるプリンタ別名ファイル
ローカル (印刷クライアント) の構成ファイル
ネットワークの (共有の) 構成ファイル (ネームサービスを使用している場合)
クライアントが要求を印刷サーバーに直接出すことができます。
印刷クライアントは、その要求を印刷サーバーの待ち行列に送信します。つまり、クライアントは、ローカルの待ち行列を持ちません。クライアントが印刷要求を一時スプール領域に書き込むのは、印刷サーバーが利用できない場合か、エラーが発生した場合だけです。サーバーまでの経路がこのように簡素化されているために、印刷クライアントは少ない資源で処理を実行でき、印刷障害の発生する可能性が減り、性能が向上します。
この節では、印刷クライアントコマンドが、プリンタ名とプリンタ構成情報を見つけるのに使用する資源について説明します。
印刷クライアントコマンドは、ネットワーク上のすべてのプリンタのプリンタ構成情報を格納するネットワーク (共有) 資源である、ネームサービスを使用できます。ネームサービス (NIS または NIS+) は、プリンタ構成情報の管理を簡単にします。プリンタをネームサービスに追加すると、ネットワーク上のすべての印刷クライアントは、そのプリンタにアクセスできます。
図 1-3 に、印刷手順の中で、印刷クライアントコマンドによりプリンタ構成資源の階層を調べ、どこに印刷要求を送信するか決定する処理を強調して示します。
図 1-4 に示すように、印刷クライアントのコマンドには、プリンタとプリンタ構成情報を見つけるためにより多くのオプションを指定できます。
ユーザーは lp コマンドまたは lpr コマンドを使用して、印刷クライアントから印刷要求を出します。ユーザーは、次の 3 つの形式のいずれかを使用して、出力先のプリンタ名またはプリンタクラスを指定できます。
単独名形式。次の例に示すように、印刷コマンドとオプションの後にプリンタ名またはプリンタクラスが続きます。
% lp -d neptune filename
POSIX 形式。次の例に示すように、印刷コマンドとオプションの後に server:printer が続きます。
% lpr -P galaxy:neptune filename
コンテキストベース形式。次の例に示すように、『Federated Naming Service Programming Guide』で規定されている指定形式です。
% lpr -d thisdept/service/printer/printer-name filename
印刷コマンドは、次の手順でプリンタとプリンタ構成情報を見つけます。
ユーザーが宛先のプリンタ名またはプリンタクラスを 3 つの有効な形式のいずれかで指定しているかどうかを調べます。
ユーザーがプリンタ名またはプリンタクラスを有効な形式で指定していない場合、ユーザーの PRINTER 環境変数または LPDEST 環境変数にデフォルトプリンタ名が指定されていないか調べます。
どちらの環境変数にもデフォルトプリンタが指定されていない場合は、ユーザーのホームディレクトリの .printers ファイルで _default プリンタ別名が設定されていないか調べます。
.printers ファイルに _default プリンタ別名が設定されていない場合は、印刷クライアントの /etc/printers.conf ファイルで構成情報を調べます。
/etc/printers.conf ファイルでプリンタが見つからない場合は、ネームサービス (NIS または NIS+) があればそれを調べます。
プリンタを検出する際に 印刷クライアントが用いる方法には、次の利点があります。
ネームサービス (NIS または NIS+) を使用して、プリンタ情報を 1 つの場所に格納できます。これは、印刷クライアントソフトウェアの最も重要な機能です。プリンタを追加して、ネットワーク上のすべての 印刷クライアントで利用できるようにするには、ネームサービスにプリンタ情報を入力するだけです。プリンタの変更や削除に関しても同じことが適用されます。ネームサービス中のプリンタ情報は、すべての 印刷クライアントで利用できます。
ユーザーは各自の .printers ファイルを用いて、プリンタ情報をカスタマイズできます。印刷クライアントがネームサービスにリストされているプリンタを知っている場合でも、クライアントのプリンタ構成ファイルをカスタマイズすれば、印刷要求を取り消したり状態情報を取得するときに、プリンタ別名を使用して特定のプリンタだけを見つけることも可能です。
ネームサービスを使用しない場合でも、印刷の設定と管理に要する時間を減らすことは可能です。そのためには、ネットワーク上のすべてのプリンタに対応する /etc/printers.conf のマスターファイルを作成し、そのファイルを印刷クライアントにコピーします。/etc/printers.conf ファイルの使用方法については、第 3 章「プリンタの設定手順」を参照してください。
印刷クライアントソフトウェアは、POSIX 形式の名前を使用します。このことは、印刷クライアントが、印刷クライアントやネームサービスに定義されていないプリンタにもアクセスできることを意味します。
ネームサービスは、ネットワーク上のプリンタ構成情報を追加、変更、削除するための最も効率的な方法です。ほとんどすべてのサイトはネームサービスを使用することにより大きな恩恵を受けます。ただし、数台のプリンタと印刷クライアントだけしか存在しない小規模なネットワークは例外です。
概要のこの節では、印刷サーバーに焦点を当てて説明します。印刷サーバーにはローカルプリンタが接続されており、印刷サーバーは、ネットワーク上の他のシステムがそのプリンタを利用できるようにします。図 1-5 に、印刷手順の中で、印刷サーバーが印刷要求をプリンタに送信する処理を強調して示します。
印刷クライアントコマンドは、BSD 印刷プロトコルを使用します。このプロトコルの利点の 1 つは、さまざまな印刷サーバーと通信できることです。
SunOS 4.1 BSD (LPD) 印刷サーバー
SunOS 5.7 印刷サーバーおよび互換性のある SVR4 (LP) 印刷サーバー
BSD 印刷プロトコルをサポートする、その他の印刷サーバーやプリンタ
BSD 印刷プロトコルは業界標準のプロトコルです。このプロトコルは広く使用されており、さまざまなメーカーの異なるタイプのシステム間で互換性を提供します。Sun は、将来の相互運用性を提供するために、BSD 印刷プロトコルをサポートします。
次に第 3 章「プリンタの設定手順」に進みます。
印刷クライアントを更新して、サイトにある既存のプリンタにアクセスする。
印刷クライアントソフトウェアで新しいプリンタを設定する。
計画を立てるための情報が必要な場合は、第 2 章「ネットワーク上でのプリンタの計画方法の概要」を参照してください。