以降の各節では,Advanced Printing Software で既にわかっている問題について説明します。
4.1 使用不能のスーパバイザへのプリントにより過度なシステム負荷が起こる
pddisable(1) コマンドまたは pdprintadmin GUI ツールでスーパバイザ・サーバを使用不能にしたとき,そのスーパバイザによって制御されているプリンタに対して,関連するスプーラがジョブのスケジューリングを継続している場合,スーパバイザおよびスプーラ・プロセスは,CPU 負荷を過度に使用します。この状況で,スプーラはジョブのスケジューリングを続行しようとし,スーパバイザはそれらのジョブを拒否します。
対処方法として,次のいずれかの方法を使用して,スーパバイザ上のすべての印刷を中止してください。
pddisable(1) コマンドで物理プリンタを使用不能にする。
各物理プリンタに対して pddisable(1) コマンドを発行するか,または 1 つの pddisable コマンドにすべての物理プリンタを指定します。
pdshutdown(1) コマンドでスーパバイザ・プロセスをシャットダウンする。
これにより,スーパバイザ・プロセスが停止します。スプーラは依然としてジョブを受け付けますが,スーパバイザが再起動されるまで,それらのジョブを印刷のためにスケジューリングすることはありません。スーパバイザの再起動は,サーバ・マシン上のスーパユーザ・アカウントから行う必要があります。
スーパバイザを不注意で使用不能にし,スーパバイザが CPU リソースを過度に使用しているのがわかった場合は,pdenable(1) コマンドを使用してスーパバイザを再度使用可能にした後,前述のいずれかの対処方法を使用して,すべての印刷を一時的に停止してください。
4.2 Administration GUI (pdprintadmin) の問題
次の問題は,Administration GUI (Admin GUI) に影響を及ぼします。
4.2.1 Advanced Printing Software GUI は代替ディスプレイを使用しない
リモートの X 端末または X サーバから Advanced Printing Software GUI クライアント・プログラム (pdprint, pdprintinfo, pdprintadmin) を使用する場合には,それらのプログラムを実行する前に,DISPLAY 環境変数を使用してディスプレイを指定しなければなりません。DISPLAY 変数を定義しておらず,代わりに -display オプションを使用しているときに,pdprintinfo
または
pdprintadmin
プログラムから印刷動作を起動すると,使用中のディスプレイではなく,ホスト・ワークステーションに
pdprint
ダイアログ・ボックスが表示されます。
4.3 アウトバウンド・ゲートウェイ
以下の問題は,アウトバウンド・ゲートウェイに関連しています。
4.3.1 printer-address 属性の変更
アウトバウンド・ゲートウェイ・スーパバイザ (pdspvlpr) によってサポートされている物理プリンタの
printer-address
属性を変更する場合,新しいアドレスを有効にするために,そのスーパバイザを一度シャットダウンして再起動する必要があります。
次のコマンドを使用して,lpd アウトバウンド・ゲートウェイをシャットダウンしたのちに再起動して,新しいプリンタ・アドレスが使用できるようにします。サーバをシャットダウンして再起動するには,root でなければなりません。
# pdshutdown -c server server_name # /usr/pd/lib/pdspvlpr server_name
4.3.2 アウトバウンド・ゲートウェイからの分かりにくいエラー・メッセージ
lpd アウトバウンド・ゲートウェイ・スーパバイザ (pdspvlpr
) 上に物理プリンタを作成しようとしたときに,有効な
printer-address
属性が定義されていなければ,pdenable
コマンドを使用してそのプリンタを有効にしようとすると,次のようなメッセージが表示されます。
physical printer name The operation failed in the supervisor backend.
pdset
コマンドを使用して,printer-address 属性を定義する必要があります。定義する際には,リモート・システム名,リモート・プリンタ,および拡張ファミリのフィールドを指定します。これら 3 つのフィールドは,コンマで区切って (空白は入れない),順番に指定しなければなりません。
たとえば,リモート・マシン
bigred
にリモート・プリンタ
xjprint
を設定し,純粋な
RFC 1179
プロトコルを使用するには,次のように printer-address 属性を定義します。
# pdset -c printer \ -x printer-address=bigred,xjprint,1179 bigred_pp
LPD アウトバウンド・ゲートウェイを経由して接続されているプリンタに適用する場合に必要な
printer-address
属性のフォーマットについての詳細は,『Advanced Printing Software システム管理/操作ガイド』を参照してください。
4.4 ファイルの印刷
以下の問題は,ファイルの印刷に関連しています。
4.4.1 長さがゼロ (0) のドキュメント・ファイルの処理
長さが 0 のドキュメント (データ・バイトを持たないファイル) を印刷しようとすると,pdpr
コマンドは次のようなメッセージを表示します。
An internal error has occurred.
長さが 0 のドキュメントを 1 つと,長さが 0 でないドキュメント 1 つまたは複数を同じジョブで印刷しようとすると,長さ 0 のドキュメントの後ろに指定したドキュメントは印刷されず,次のようなメッセージが表示されます。
Insufficient memory in client program
これらのメッセージは無視してかまいません。internal error
は,重大ではありません。
4.4.2 ファイル名にコロン (:) を含むファイルは印刷できない
プリンティング・システム,特に POSIX CLI インタフェースは,フィールド分離文字としてコロン (:) を使用します。ファイル名にコロンが含まれているプリンティグ・ファイルでは,プリント要求で構文解析エラーが生じます。したがって,プリント・システムでは,ファイル名にコロンが含まれているファイルの印刷をサポートしません。
そのようなファイルを印刷する必要がある場合には,まず,コロンを含まないような新しいファイル名に変更してください。
4.5 スーパバイザのシャットダウン
以降の各項では,pdshutdown コマンドが発行された後のジョブの状態に関連する問題について説明します。
4.5.1 pdshutdown -w after-current コマンド
稀ですが,スーパバイザ上でコマンド
pdshutdown -w after-current
を発行すると,ジョブが正常に終了しないで,held
(保留) 状態に置かれることがあります。
スーパバイザをシャットダウンした後に,ジョブが
held
状態に置かれていることに気づいた場合は,job-hold 属性を
no
に設定することにより,後で印刷することができます。
4.5.2 pdshutdown -w after-all コマンド
一時停止されている物理プリンタに関連付けられている論理プリンタを制御するスプーラに対し,-w after-all
を指定して
pdshutdown
コマンドを発行すると,スプーラは後処理中の状態のままになります。
このような状態になった場合は,-w
オプションを指定せずにもう一度
pdshutdown
コマンドを発行すると,スプーラをシャットダウンすることができます。
4.6 保持中のジョブは削除できない
pdrm
コマンドを使用して保持中のジョブを削除すると,次のようなメッセージが表示されます。
"The job has completed or has already been cancelled."
4.7 job-retention-period はスケジュール済みのジョブに対して設定できない
ジョブに
job-retention-period
属性を設定して,印刷が完了した後に保持されるようにすることができます。ただし,一旦,物理プリンタ上での印刷がスケジュールされたジョブには,この属性を設定することはできません。
4.8 output-bins 属性に値を追加できない
他の xxx-supported 属性や xxx-ready 属性と異なり,output-bins-supported 属性および output-bins-ready 属性は,CLI += 演算子を使用して,値を追加することはできません。同様に,-= 演算子を使用して,個々の要素を削除することもできません。これらの属性に対して個々の排出トレイの値の追加や削除を行う必要がある場合は,=
演算子を使用してすべての値を再定義しなければなりません。
たとえば,output-bins-supported の値が
top side
のとき,このリストに bottom を追加したい場合は,次のように属性全体を再定義する必要があります。
#pdset -c p -x output-bins-supported="top side bottom"
pdpromote
コマンドは,1 つのジョブをプリント・キューの先頭に移動します。複数のジョブを指定して
pdpromote
コマンドを入力すると,コマンドはエラー・メッセージを返しませんが,コマンド行の最初に指定されたジョブだけを移動します。
4.10 クライアント属性は任意のオブジェクトに対して要求または設定できる
クライアント属性やコマンド属性は,そのオブジェクトに対して有効な属性でなくても,任意のオブジェクトに対して要求したり設定したりすることができます。たとえば,次のコマンドは,retention-period
がキュー・オブジェクトに対して有効な属性でなくても,空の値を返します。
# pdls -c queue -r retention-period red_qu retention-period ---------------------
また,無効な属性を設定できるオブジェクトもあれば,無効な属性を設定できないオブジェクトもあります。次の例は,設定できる属性のいくつかを示しています。
# pdset -c queue -x retention-period=2 red_qu # pdset -c queue -x style=line red_qu
要求している属性値がデルタ時間で表現されている場合,属性の 3 つのフィールドがすべて設定されていなければ,CLI は不明瞭な値を返します。次の例は,job-retention-period 属性に時間を設定する方法と,この属性の値を参照するときにどのように出力されるかを示しています。
# pdset -c job -r job-retention-period=2 13055 # pdls -c job -r job-retention-period 13055 job-retention-period -------------------- 02
02
は,2 時間か,2 分か,あるいは 2 秒を指しているのか不確かかもしれませんが,この場合は 2 分を指しています。
4.12 通知に関する制限事項
CLI 通知プロファイルまたは GUI で,「クラス」による通知メッセージを選択すると,動作しません。通知を受信したい個々のイベントを指定する必要があります。