この節では、LP 印刷サービスで使用される印刷クライアントサーバー処理手順の概要について説明します。
印刷サーバーはローカルプリンタが接続されているシステムであり、プリンタがネットワーク上の他のシステムを利用できるようにします。次の図に、印刷手順の中で、印刷サーバーが印刷要求をプリンタに送信する処理を強調して示します。
印刷クライアントが印刷要求を発行する。
印刷要求が印刷クライアント上で処理される。
印刷要求が印刷サーバーに送信される。
印刷要求がプリンタに送信される。
プリンタから印刷出力される。
「印刷クライアント」とは、印刷要求を印刷サーバーに送信できるシステムのことです。
次の図に、印刷手順の中で、ユーザーが印刷クライアントから印刷要求を発行する処理を強調して示します。
次の図に、ユーザーが要求を発行してから印刷されるまでの、印刷要求の流れを示します。
ユーザーは印刷クライアントから印刷要求を出します。
印刷コマンドは印刷構成資源の階層をチェックして、印刷要求をどこに送信するか決定します。
印刷コマンドは、印刷要求を適切な印刷サーバーに直接送信します。印刷サーバーとしては、Berkley Software Distribution (BSD) 印刷プロトコルを受け付ける任意のサーバー、たとえば System V Release 4 (SVR4) (LP) 印刷サーバーや BSD LPD ベースの印刷サーバーと、IPP を受け付けるサーバーを使用できます。
印刷サーバーは印刷要求を適切なプリンタに送信します。
印刷要求が印刷されます。
印刷要求は、クライアントとサーバーが異なるシステムにある場合と同じ経路をたどります。要求は常に同じ経路をたどり、クライアントからサーバーに流れます。
次の図に、ユーザーがローカルプリンタ上に PostScript ファイルを印刷する要求を出したときに実行される処理を示します。ローカルプリンタとは、ユーザーのシステムに接続されたプリンタです。ローカルシステム上の lpsched デーモンがすべての処理を行います。
この処理には、以下が含まれます。
プリンタと内容形式の照合
デフォルトプリンタの特定、要求のフィルタリング
指定されたプリンタインタフェースプログラムの起動
プリンタインタフェースプログラムは、次のことを行います。
パナーページの印刷
プリンタ障害の検出
プリンタ障害ポリシーを、リセット、継続、または印刷ジョブのやり直しのどれかに決定する
最後に、インタフェースプログラムは lpcat プログラムを使用して、印刷要求をローカルプリンタのシリアルポートにダウンロードする
LP 印刷サービスには、lpsched というスケジューラデーモンが組み込まれています。スケジューラデーモンは、プリンタの設定と構成に関する情報を使用して LP システムファイルを更新します。
また lpsched デーモンは、次の図のように、印刷サーバー上のすべてのローカル印刷要求をスケジュールします。ユーザーは、アプリケーションまたはコマンド行から要求を出します。さらに、スケジューラはプリンタとフィルタの状態を追跡します。プリンタが 1 つの要求を印刷し終えた時に、印刷サーバー上の待ち行列に残っているものがあれば、スケジューラは次の要求をスケジュールします。
システムを再起動しなくても、svcadm disable application/print/server コマンドを使用してスケジューラを停止できます。その後、svcadm enable application/print/server コマンドを使用してスケジューラを再起動できます。各システムのスケジューラは、lp コマンドによってシステムに出された要求を管理します。
次の図は、印刷クライアントのユーザーが LPD ベースの印刷サーバーに印刷要求を出したときに実行される処理を示します。このコマンドは、直接印刷サーバーと接続して、自身の通信を処理します。
次の図は、LPD ベースの印刷クライアントが 印刷サーバーに印刷要求を出す様子を示しています。lpd デーモンは、印刷要求のローカル部分と印刷サーバーへの接続を処理します。印刷サーバー上の inetd プロセスは、ネットワーク印刷要求を待って、プロトコルアダプタを起動して要求を処理します。プロトコルアダプタは lpsched デーモンと通信し、このデーモンが印刷サーバー上で要求を処理します。
次の図は、印刷クライアントのユーザーが Solaris 印刷サーバーに印刷要求を出したときに実行される処理を示します。印刷クライアント上の印刷コマンドは、印刷サーバーと直接通信することにより、各印刷要求のローカル部分を処理します。
印刷サーバー上の inetd プロセスは、ネットワーク印刷要求を監視し、プロトコルアダプタを起動して、印刷サーバー上の lpsched デーモンと通信します。このデーモンが印刷要求を処理します。