6    キューとプリンタの作成および管理

この章では,キュー,論理プリンタ,物理プリンタの作成および管理の方法と,プリンタに対する省略時のオブジェクトの作成方法を説明します。 この章は次の項に分けられています。

この章で使用されるコマンドの詳細説明については,『Advanced Printing Software コマンド・リファレンス・ガイド』を参照してください。

6.1    キューの作成と管理

論理プリンタと物理プリンタの抽象化は,キューによって結び付けられます。1 つの論理プリンタと 1 つの物理プリンタを 1 つのキュー・オブジェクトに関連付けることによって,ユーザが印刷のために指定するプリンタと,出力デバイスの特性によって定義された物理プリンタとの関係を確立することになります。

キューを作成するときには,キューをスプーラに関連付けます。関連付けられたスプーラは,次の処理を行います。

キューの作成は,pdcreate コマンドまたは pdprintadmin GUI を使用して行います。pdprintadmin GUI を使用してプリンタを作成すると,プリント・システムでキューを自動的に作成するかどうかが尋ねられます。また,pdcreate を使用してキューを作成するとき,pdcreate の構文は次のとおりです。

pdcreate [-c queue] [-x extended_attribute_string] [- X attribute_filename] [queue_name]

6.1.1    キューを使用可能にする

pdenable コマンドを使用するとキューを使用可能にできます。キューを使用可能にすると,キューはプリント・ジョブを受け付けます。キューを使用可能にする場合,pdenable コマンドの構文は次のようになります。

pdenable [-c queue] [-m message text] [-x extended_attribute_string] [-X attribute_filename] [queue_name ]

6.1.2    キューからのジョブの削除

オペレータと管理者は pdclean コマンドを使用して,1 つのキューからすべてのジョブを削除することができます。

pdclean コマンドを使用してキューからすべてのジョブを削除すると,関連付けられた物理プリンタで,現在印刷中,保持中,または,処理中のジョブは削除されます。このコマンドを実行する前に,キューを使用不能にする必要があります。

6.1.3    キューの状態

state 属性には,キューの現在の状態が入っています。 キューは次の 2 つの状態のいずれかになります。

キューは pdpause コマンドで一時停止され,pdresume コマンドで再開されます。

6.1.4    キュー属性のリスト

pdls コマンドを使用すると,キューの属性を表示できます。

6.2    物理プリンタの作成と管理

プリント・システムでは,物理プリンタとは出力デバイスを表すオブジェクトのことです。

サポートされる物理プリンタには,それぞれのプリンタのためのプリンタ属性ファイル (Printer Attribute File - PAF) があります。PAF ファイルには,プリンタとの通信とその制御に必要な属性の推奨設定が含まれています。プリンタ属性ファイルは名前のフォーマットが printer_model.paf なので,新しい物理プリンタ用の適切なプリンタ属性ファイルは,プリンタ・モデルによって決定できます。たとえば,Digital_DEClaser5100_level2PS.paf は Digital DEClaser5100 プリンタ用のプリンタ属性ファイルになります。

paf ファイルは /usr/pd/share/cap ディレクトリに格納されています。

6.2.1    物理プリンタの作成

pdcreate コマンドを使用すると物理プリンタを作成できます。pdcreate コマンドの構文は次のとおりです。

pdcreate [-c printer] [-x extended_attribute_string] [- X attribute_filename] [printer_name]

物理プリンタを作成する際に指定する必要のある属性は,次のとおりです。

プリンタ属性ファイルには,printer-modelprinter-connection-levelprinter-tcpip-port-number 属性の省略時の値が含まれています。他の属性の値については,物理プリンタを作成するときに指定するか,物理プリンタを作成した後でその値を設定または変更できます。

6.2.1.1    プリンタ・アドレスの設定

スーパバイザでは,接続されているすべてのプリンタについて,printer-address 属性に一意な値が指定されていることが必要です。この属性に値が割り当てられていない場合,物理プリンタを使用可能にすることはできません。

次の表は,スーパバイザが認識する printer-address 属性の一般的な形式です。この形式は,シリアル,パラレル,IP ネットワーク・ソケットの各接続を示しています。IP ネットワーク・ソケット・ポートは,シンプルなノード名,ドット付きまたはドットなしのドメイン構文のアドレス,ポート番号付きまたはポート番号なしのアドレスのいずれかになります。

表 6-1:  プリンタ・アドレス・フォーマット

形式 説明 接続方法 スーパバイザ
/dev/lp<n> パラレル・ポート n パラレル pdspvr
/dev/tty<nn> シリアル・ポート nn シリアル pdspvr
name[:port] ホスト名 (ドメインなし) とポート IP ソケット pdspvr
name.dom[:port] ドメインを指定したホスト名とポート IP ソケット pdspvr
address [:port] 数値の IP アドレスとポート IP ソケット pdspvr
ホスト,プリンタ,拡張 アウトバウンド・ゲートウェイ・プリンタ bsd pdspvlpr

ポート番号を指定しなければ,スーパバイザはその番号を printer-tcpip-port-number 属性から取り出すことに注意してください。printer-address の一部としてポート番号を指定した場合は,printer-tcpip-port-number に値が指定されていても,そのポート番号が優先されます。

6.2.1.2    プリンタ接続方法の設定

プリンタ・ハードウェアは,いくつかの方法でスーパバイザ・ホストに接続されます。デスクトップ・プリンタやミッドレンジ・プリンタには,通常,背面に 1 つ以上のコネクタがあり,それによってホスト,ターミナル・サーバ,ネットワークなどのデータ・ソースに接続できます。そのようなコネクタと,コネクタが接続しているハードウェアをプリンタ・インタコネクトといいます。

プリンタの中には,インタコネクトが,顧客が別個に購入するハードウェア・オプションであり,1 つのプリンタ・モデルに対して常に同じとは限らないものもあります。また,別のプリンタでは,接続可能なものは既知であって,変わりません。物理インタコネクトの例としては,次のものが挙げられます。

物理インタコネクトの中には,単方向や双方向などのバリエーションがあります。また,中には,TCP/IP などのリンク・レイヤ・プロトコルや bsd/lpd などのセッション・レイヤ・プロトコルをサポートするものもあります。

プリント・システムでの接続方法とは,サーバ・プロセスがプリンタ出力デバイスと通信できる一連の方法のことですprinter-connection-method 属性は,プリンタで使用できる適切な接続方法を指定します。サポートされている接続方法には,次のものがあります。

1 つのスーパバイザは,複数の接続方法を同時に使用することによって,複数の出力デバイスをサポートできます。

printer-connection-method の値が指定されていなければ,pdspvr スーパバイザは次の基準で値を選択します。

  1. printer-address の値の形式が /dev/lp<n> の場合,接続方法は parallel です。

  2. printer-address の値の形式が /dev/tty<nn> の場合,接続方法は serial です。

  3. printer-address の値が "/dev/デバイス・ファイル名" ではない場合,接続方法は ip-socket です。

6.2.1.3    プリンタ接続レベルの設定

プリンタの中には,他のプリンタが提供するよりも多くの接続機能を使用するものがあります。たとえば,シリアル・バック・チャネルに状態メッセージを提供するプリンタもあります。広範囲の接続タイプをサポートするために,プリント・システムは printer-connection-level 属性を使用します。次の表に示すように,この属性に設定可能な値は 0 から 5 までです。

説明
0 何も指定していない - システムの省略時の値を使用する。
1 出力専用データ (単方向)。単方向のみのプリンタは,用紙切れや紙詰まり,オフラインなどの状態をスーパバイザ・プロセスに報告できない。スーパバイザは,フロー制御を利用 (利用可能な場合) して,プリンタの電源が入っていなかったり,利用可能でなかったりしたときに,ドキュメント・データがあふれるのを妨ぐ。
2 出力専用データ,状態ビットが返される。状態ビットの形式で状態を報告するプリンタは,プリンタがオフラインであるときや,エンジン・エラーが発生したときなどの状態情報をスーパバイザに提供できる。
3 双方向 (同期のとれたセッション制御のないもの)。双方向データ接続を利用する PostScript プリンタは,ホストに対してさらに詳細で,広範囲のプリンタ情報メッセージを送信する。プリント・システム・スーパバイザは,このようなプリンタ・メッセージの多くをイベントや障害テキストに変換する。これは,クライアントが表示できる。
4 双方向 (同期のとれたセッション制御のあるもの)。前述の値 3 での PostScript プリンタに関する説明を参照。
5 DIGITAL PrintServer。

プリント・システム・ソフトウェアで提供されるプリンタ属性ファイルには,サポートされるそれぞれのプリンタの適切な接続レベル定義が含まれています。通常の環境では,プリンタ属性ファイル設定の printer-connection-level の値を変更する必要はありません。これは,通常,プリンタとそのインタコネクトによってレベルが決まるためです。ただし,ターミナル・サーバや他の特殊な目的のインタフェースを使用すると,プリント・システムが提供できるサポートのレベルに影響するので,プリンタに対する (性能は劣るが) 信頼性の高いサポートを得るために,接続レベルを低くしなければならないこともあります。

6.2.1.4    シリアル・ポート・パラメータ属性の設定

プリンタをシリアル・ポートに接続するには,いくつかの通信パラメータを指定する必要があります。printer-baud-rate 属性を指定しない場合,プリント・システムは,ポートがあらかじめ正しく設定されていると想定します。ただし,printer-baud-rate を指定した場合,スーパバイザは,他の属性が当初何も指定されていない場合は,それらの属性を管理者が指定した値,または次の表に示す値に設定します。

属性 有効な値 省略時の値
printer-baud-rate 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 物理ポート設定を使用する。
printer-data-bits 5, 6, 7, 8 8
printer-stop-bits 0, 1, 2 1
printer-input-flow-control none, xoff, dtr xoff
printer-output-flow-control none, xoff, dtr xoff
printer-parity none, even, odd, mark, space none

6.2.1.5    TCP/IP ポート番号の設定

TCP/IP ソケット接続へ接続するには,プリンタが通信に使用するポート番号を知っている必要があります。printer-tcpip-port-number 属性により,スーパバイザは ip-socket 接続のプリンタに接続するときに,指定されたポート番号を使用します。

printer-address 属性の一部としてポート番号を指定した場合,そのポート番号はこの属性値を無効にします。プリンタ属性ファイルは,HP JetDirect プリンタなどのように,主流となっているネットワーク接続オプションをプリンタが備えているときにはいつでも printer-tcpip-port-number 属性を含みます。

属性 有効な値 省略時の値
printer-tcpip-port-number 1 - 65535 9100
     

6.2.2    物理プリンタの作成例

次に示すのは,物理プリンタ作成の例です。

6.2.3    物理プリンタに対するオプション属性の設定

プリンタやプリント・システムの機能を十分に活用するために,多くの属性を設定することができます。これらの属性によって,両面印刷,セパレータ・ページ,「N アップ (片面への複数ページ印刷)」などの機能を使用することができます。

次の例は,いくつかの一般的な属性を設定する方法を示しています。

6.2.4    物理プリンタを使用可能にする

物理プリンタを使用可能にすると,プリンタはそれに関連付けられたキューからのプリント・ジョブを受け付けることができます。

pdenable コマンドを使用して物理プリンタを使用可能にします。物理プリンタを使用可能にする場合は,次のことに注意する必要があります。

pdenable コマンドの構文は次のとおりです。

pdenable [-c class_name] [-mmessage_txt] [-x extended_attribute_string] [-X attribute_filename] [server_name: ] [printer_name]

pdenable コマンドの省略時クラスが printer なので,プリンタを使用可能にするときに -c オプションを指定する必要はありません。

6.2.5    物理プリンタを使用不能にする

pddisable コマンドは物理プリンタを使用不能にするために使用します。物理プリンタを使用不能にすると,プリンタは新しいプリント・ジョブを受け付けなくなります。ただし,現在印刷中または処理中のジョブは最後まで実行されます。

次の属性は,物理プリンタを使用不能にすると更新されます。

pddisable コマンドの構文は次のとおりです。

pddisable [-c printer] [-m message_txt] [-x extended_attribute_string] [-X attribute_filename] [server_name: ] [printer_name]

次に示すのは,pddisable コマンドを使用して物理プリンタを使用不能にする例です。

6.2.6    物理プリンタの一時停止

pdpause コマンドは,物理プリンタの出力を一時停止するために使用できます。物理プリンタを一時停止すると,次の処理が行われます。

一時停止されたときにプリンタが印刷をしていない場合にも,印刷をもう一度開始するには,再開操作 (pdresume) が必要です。

pdpause コマンドの構文は次のとおりです。

pdpause [-c class_name] [-m message_txt] [-x extended_attribute_string] [-X attribute_filename] [printer_name ]

pdpause を使用して物理プリンタを一時停止させる場合には,オブジェクト・クラスの省略時の値がプリンタなので,これを指定する必要はありません。

6.2.7    物理プリンタの再開

pdresume コマンドは,pdpause コマンドによって一時停止されているプリンタの処理を再開します。プリンタを再開するときに,プリンタは,現在割り当てられているプリント・ジョブがある場合には,そのジョブが一時停止された時点から印刷を再開します。

pdresume コマンドの構文は次のとおりです。

pdresume [-c class_name] [-m message_txt] [-x extended_attribute_string] [-X attribute_filename] [printer_name ]

このコマンドの省略時のクラスはプリンタです。

6.2.8    物理プリンタ・オブジェクトの削除

pddelete コマンドは,物理プリンタ・オブジェクトを削除するために使用します。

物理プリンタ・オブジェクトを削除する前に,プリンタを使用不能にして,現在アクティブなジョブをすべて削除する必要があります。

次の属性は,物理プリンタを削除するときに更新されます。

pddelete コマンドの構文は次のとおりです。

pddelete [-c class_name] [-x extended_attribute_string] [-X attribute_filename] [printer_name]

6.3    論理プリンタの作成と管理

論理プリンタ・オブジェクトは,特定の特性と 1 つ以上の物理プリンタの機能を示す抽象化です。ユーザはジョブを印刷するときに,論理プリンタを指定することによって,ジョブやドキュメントの必要条件を満たす一連のデバイスにプリント・データを渡します。

次の例のように,pdcreate コマンドを使用して,論理プリンタを作成し,オペランドの一部としてスプーラ・サーバを指定します。

pdcreate [-c printer] [-x extended_attribute_string] [- X attribute_filename] [spooler_name:printer_name]

論理プリンタを作成するとき,関連付けられたスプーラは次の処理を行います。

プリント・システムは,論理プリンタを使用可能にする前に,論理プリンタに関連付けられたキューの名前を必要とします。オブジェクトを作成した後でも,対応する associated-queue 属性を設定できますが,この属性は作成操作で指定するようにしてください。

作成操作で associated-queue 属性を指定した場合,関連付けられたスプーラはスプーラの logical-printers-supported 属性を更新します。associated-queue を指定した場合は,指定されたキューが存在する必要があります。キューが存在しない場合,処理は失敗します。

また,initial-value-job オブジェクトと initial-value-document オブジェクトを指定して,printer-initial-value-job 属性と printer-initial-value-document 属性を持つ論理プリンタのジョブとドキュメントの省略時の値を設定することもできます。これらの属性は,作成操作で設定することも,オブジェクト作成後に設定操作で設定することもできます。

6.3.1    論理プリンタの作成例

次は,論理プリンタの作成例を示しています。

6.3.2    オプションの論理プリンタ属性の設定

プリンタの機能を最大限に実現するために,設定が必要となる属性は数多くあります。これらの属性によって,プリンタの機能の使用を可能にし,両面印刷,セパレータ・ページ,「N アップ (片面への複数ページ印刷)」(テキスト・ファイルの方向) などの機能を有効にできます。

これらの属性は,論理プリンタが使用可能になったときに,物理プリンタの属性から継承されることに注意してください。論理プリンタを使用可能にする前に,論理プリンタ属性の値を物理プリンタ属性とは異なる値に設定した場合,物理プリンタの属性は継承されません。

6.3.3    論理プリンタに対する管理機能の実行

以降の各項では,プリント環境で論理プリンタに対して実行できる管理機能を説明します。機能には次のものがあります。

6.3.4    論理プリンタを使用可能にする

pdenable コマンドは,論理プリンタを使用可能にするために使用されます。論理プリンタを使用可能にするときには,次の点に注意してください。

pdenable コマンドの構文は次のとおりです。

pdenable [-c printer] [-mmessage_txt] [-x extended_attribute_string] [-X attribute_filename] [printer_name ]

次に示すのは,論理プリンタを使用可能にする例です。

6.3.5    論理プリンタを使用不能にする

pddisable コマンドは論理プリンタを使用不能にするために使用されます。論理プリンタを使用不能にすると,新しいプリント・ジョブ要求は受け付けられず,そのプリンタの名前は関連付けられたキューとスプーラの logical-printers-ready 属性から削除されます。

pddisable コマンドの構文は次のとおりです。

pddisable [-c printer] [-m message_txt] [-x extended_attribute_string] [-X attribute_filename] [printer_name ]

次に示すのは,pddisable コマンドを使用して論理プリンタを使用不能にする例です。

6.3.6    プリンタ属性のリスト表示

pdls コマンドを使用すると,論理プリンタの属性をリスト表示できます。pdls コマンドの構文は次のとおりです。

pdls [-c class_name] [-ffilter_txt] [-F] [-g] [-r requested_attribute] [s-style_name] [x-extended_attribute_string ] [X-attribute_filename ] [printer_name]

次の例は,pdls コマンドの使用方法と,このコマンドで生成される出力を示しています。

6.3.7    論理プリンタに対して実行されたジョブの表示

pdq コマンドを使用すると,論理プリンタに対して実行されたジョブのリストを作成することができます。このコマンドは,プリンタに関連付けられたキューの中に現在ある,1 つまたはすべてのジョブを表示するために使用できます。ジョブは,印刷のためにスケジューリングされた順序で表示されます。 次に示すのは,pdq コマンドの使用例です。

6.3.8    論理プリンタの削除

pddelete コマンドは論理プリンタを削除するために使用します。論理プリンタを削除する際は,次のことを考慮してください。

pddelete コマンドの構文は次のとおりです。

pddelete [-c printer] [-m message_txt] [-x extended_attribute_string] [-X attribute_filename] [printer_name ]

次のコマンドは,論理プリンタの削除方法を示しています。

6.4    省略時のオブジェクトの作成

印刷の省略時の値は,相当する属性がプリント要求の中に存在しない場合に,プリント・システムがジョブやドキュメントに自動的に適用する属性値です。プリント・システムはプリント・オブジェクトの 2 つのクラスを使用して,省略時の属性値のセットを特定します。これらのオブジェクト・クラスは,次のとおりです。

省略時の値は,ジョブの本来の出力先である物理プリンタの機能を反映しています。このため,最初に物理プリンタを作成し,希望するプリンタ属性を設定してから,initial-value-job オブジェクトと initial-value-document オブジェクトを作成してください。

initial-value-job オブジェクトと initial-value-document オブジェクトはスプーラ・オブジェクトなので,関連付けられたスプーラは,初期値オブジェクトを作成する前に存在している必要があります。

6.4.1    ジョブとドキュメントの省略時の値の指定

物理プリンタの機能を考慮して,1 つの物理プリンタにさまざまな省略時の値を指定するために,複数の initial-value-job オブジェクトと initial-value-document オブジェクトを作成することができます。initial-value-job オブジェクトと initial-value-document オブジェクトを適用する方法によって,物理プリンタが出力に使用する省略時の値が決定されます。

initial-value-job オブジェクトまたは initial-value-document オブジェクトを適用するには,次のいずれか一方,または両方を行う必要があります。

initial-value-job オブジェクトと initial-value-document オブジェクトを論理プリンタとジョブの両方に適用すると,ジョブに指定されたオブジェクトが,論理プリンタに指定されたオブジェクトを無効にします。

管理者は,initial-value-job オブジェクトと initial-value-document オブジェクトをどのように適用するかを決定してください。

次の例を参考にすると,サイトで適用可能な initial-value-job オブジェクトと initial-value-document オブジェクトを判断できるでしょう。

initial-value-job オブジェクト JobDefaults1 には,ジョブ属性 job-sheets=job-copy-start が含まれていて,プリント・システムが JobDefaults1 を適用するときに,印刷された出力にジョブの開始シートを含めるようにします。これはよく使用されるので,JobDefaults1 を対応する論理プリンタに関連付けます。

# pdset -c printer \-x 'printer-initial-value-job=JobDefault1' \
[spooler_name:]logical_printer_name

ただし,開始シートがいらない場合もあるので,initial-value-job オブジェクト JobDefaults2 を属性 job-sheets=none で作成します。これは特殊な場合だと考えられるので,JobDefaults2 は論理プリンタには関連付けません。代わりに,JobDefaults2 は次のようにジョブの実行時に適用できます。

# pdpr -x 'initial-value-job=JobDefaults2' file_name

JobDefaults2 はジョブ実行プリント要求の一部なので,これは論理プリンタに関連付けられた JobDefaults1 を無効にします。

この例は,1 つの属性 (job-sheets) だけを説明していますが,initial-value-job オブジェクトの JobDefaults1 と JobDefaults2 は,属性が複数になると,異なる可能性があります。

6.4.2    省略時のオブジェクトの作成

サイトに必要なジョブとドキュメントの省略時の値を決定したので,initial-value-job オブジェクトと initial-value-document オブジェクトを作成する準備ができました。

pdcreate コマンドを使用すると,initial-value-job オブジェクトと initial-value-document オブジェクトを作成できます。 これらのコマンドのフォーマットは次のとおりです。

pdcreate [-c initial-value-job ] [[spooler_name]:iv-job-name]

pdcreate [-c initial-value-document ] [[spooler_name]:iv-doc-name]

# pdcreate -c initial-value-job [spooler_name:]iv_job_name
# pdcreate -c initial-value-document [spooler_name:]iv_document_name

省略時のサーバにオブジェクトが作成されない場合,スプーラ名を指定する必要があります。

initial-value-job オブジェクトと initial-value-document オブジェクトに含めたいジョブ属性とドキュメント属性が既にわかっている場合は,pdcreate コマンドに -x 'attribute_name=attribute_value' を指定することができます。

pdprintadmin GUI アプリケーションは,論理プリンタの省略時の設定へのアクセスを提供します。論理プリンタに initial-value-job オブジェクトと initial-value-document オブジェクトをまだ適用していない場合は,省略時の設定によって initial-value-job オブジェクトと initial-value-document オブジェクトを作成できます。

initial-value-job オブジェクトと initial-value-document オブジェクトには,次に示すように 2 セットの属性があります。

pdset コマンドを使用して,initial-value-job オブジェクトと initial-value-document オブジェクトの属性を設定します。

# pdset -c initial-value-job \
-x attribute_name=attribute_value iv_job_name

# pdset -c initial-value-document \
-x attribute_name=attribute_value iv_document_name