8    プリント・サービスの管理

この章では,プリント・サービス用の情報取得と,その設定方法および管理方法について説明します。 プリント・サービスの設定および管理は,オペレーティング・システムの新規インストールまたは新バージョンへのアップグレードの直後に行うことも,後で行うこともできます。 プリント・サービスを管理するために使用するファイルとユーティリティについては,この章で説明します。

インストールがすべて終わり,システムの初期構成を行っている間に,「システム・セットアップ」というタイトルのチェック・リストが表示されます。 このメニューには,[プリンタの設定] というオプションがあります。 このオプションを選択すると,printconfig グラフィカル・ユーザ・インタフェースを実行します。 詳細については,8.3.2 項 を参照してください。

この章では,次の項目について説明します。

8.1    プリント管理タスク

プリント管理タスクには,プリント・システムの設定と,プリント・システムの管理という 2 つのカテゴリがあります。

プリント・システムを最初に設定するためには,次の処理を行います。

プリンタを設定した後,システムで動作させるには,以下のことを行う必要があります。

以上の操作を行う際に使用するツールについては,8.1.6 項を参照してください。

8.1.1    プリンタの接続方法

プリンタのインストールと接続には,ローカル・システムの構成に応じて,以下のようないくつかの方法があります。

ネットワーク接続

ローカル・エリア・ネットワーク (LAN),ローカル・エリア・トランスポート (LAT),または TCP/IP を介しての共用ネットワーク・プリンタへの接続。

直接接続

1 台の物理的に接続されたプリンタをローカルにインストールする最も簡単なオプション。 システムの後面には,1 台のプリンタをケーブルで接続する,シリアルまたはパラレルのハードウェア・ポートがあります。 ハードウェアのインストールについては,プリンタの説明書に書かれています。

ローカル・システム上のユーザは誰でもプリンタにアクセスすることができます。

リモート接続

ネットワーク上の別のシステムに直接接続されたプリンタへの接続。

リモート・オプションを選択したシステムが,プリンタの接続されているシステムにリモートからアクセスしそのサービスを受けられるようになっている必要があります。

PC ネットワーク接続

Advanced Server for UNIX (ASU) を使用している場合の,パーソナル・コンピュータ (PC) のプリント・キューへの接続。

PC と UNIX システム環境が混在している場合に,このアプリケーションを使用します。 ASU がインストールされている場合は,PC プリント・キューを構成して PC クライアント間でプリンタを共有するためのオプションがさらにあります。

8.1.2    プリンタの管理方法

プリンタの管理には,いくつかの方法があります。 それぞれに利点があります。

8.1.2.1    Printer Configuration ユーティリティ (printconfig) の使用

このユーティリティは,グラフィカル・ユーザ・インタフェースを備えており,初めてのユーザやクイック・セットアップにお勧めします。 このユーティリティはシステム管理ツールの標準セットに含まれています。 これらのツールの全般的な情報については,第 1 章を参照してください。

ASU がインストールされている場合は,printconfig を使って PC プリンタを管理することもできます。

オペレーティング・システムには,非常に多くの他社製プリンタをサポートするドライバおよび構成ファイルが用意されています。 printconfig ユーティリティを使用すると,サポートしているプリンタの全リストが自動的に表示されるので,設定が迅速にできます。

注意

旧版の /etc/printcap ファイルと一緒に printconfig を使用する場合は,制約があります。 詳細は, printcap(4) を参照してください。

8.1.2.2    lprsetup ユーティリティの使用

端末から実行するこのコマンド行ユーティリティは,以前のリリースとの互換性があります。

lprsetup ユーティリティは printconfig と同様のタスクを実行しますが,ASU がインストールされていても PC プリンタはサポートしません。 printconfig のコマンド行オプションを呼び出すと,lprsetup ユーティリティが起動されます。

lprsetup ユーティリティは,ASU (Advanced Server for UNIX) のもとでは,ASU 自身に PC キューの管理機能があるにもかかわらず,PC プリンタの管理をサポートしません。

8.1.2.3    手動によるシステム・ファイルの編集

経験を積んだシステム管理者の場合,/etc/printcap ファイルを直接編集してプリンタを管理することがあります。 たとえば,特定のプリンタ構成を多くのシステムにクローニングする場合や,あるシステムの printcap ファイルの一部を別のシステムのファイルとマージするような場合です。 この章にある参照情報は,このような作業に役に立ちます。 個々のプリント・キューのエントリを管理するには,lprsetup ユーティリティまたは printconfig ユーティリティの使用をお勧めします。

注意

/var/spool/lpd ファイルは,TruCluster Server 環境で使用される特殊リンクになっています。 スプール・ディレクトリとしては使用できません。 ファイルを手動で編集する場合は,このリンクを壊さないようにしてください。 第 6 章 の CDSL に関する項を参照してください。

8.1.3    Advanced Printing Software

Advanced Printing Software は,「Associated Products」CD-ROM で提供される,オプションのサブセットです。 このソフトウェアについては,『インストレーション・ガイド』を参照してください。 Advanced Printing Software ソフトウェアをインストールしてある場合は,Advanced Printing Software およびプリント・デーモン lpd を同じシステム上で実行するために,8.3.2 項の説明に従ってゲートウェイを構成する必要があります。 Advanced Printing Software は,lpd を無効にして実行させることもできますが,その場合は LPD の代わりにリモートからの入力プリント要求 (ソケット 515 上) をすべて受けます。 ただし,この構成では lpr のようなローカルの lpd コマンドは動作しません。

8.1.4    関連ドキュメント

プリンタ構成ツールの使用に関する追加ドキュメントが,マニュアルリファレンス・ページ,およびオンライン・ヘルプにあります。

8.1.4.1    マニュアル

Tru64 UNIX オペレーティング・システムのドキュメント・セットにある,プリンタ構成ツールの使用についての情報を,次の一覧に示します。

他の Tru64 UNIX ドキュメントとしては,PC プリント・キューを管理する ASU 機能について説明している『Advanced Server for UNIX インストレーション/管理ガイド』があります。

Advanced Printing のドキュメントには,Tru64 UNIX オペレーティング・システムのオプションの構成要素である Advanced Printing Software を使用するための情報があります。 『Advanced Printing Software User Guide』には,コマンド行インタフェースを使用して,ジョブをプリンタにサブミットする方法が説明されています。 また,ローカル・プリント環境の設定方法と,サブミットしたジョブの監視方法も説明されています。 このマニュアルは,以下のドキュメントとともに,ソフトウェア・キットに含まれています。

プリンタのインストールやデータ伝送 (ボー) レートなどの,ソフトウェアに設定する必要のある情報については,プリンタのマニュアルも参照してください。 構成しようとしているプリンタが,サポート対象デバイスのリストに載っていない場合は,必ずそのプリンタのマニュアルを参照してください。 プリンタのマニュアルには,トレイの選択など,プリンタの特殊機能を使用するために構成ユーティリティに指定しなければならない情報が説明されています。 通常,インストール・ユーティリティを使用した場合 (あるいは,/usr/lbin/lprsetup ディレクトリを見ると),プリンタはサポートされているデバイスのリストに入っています。 プリンタがこのディレクトリ内のファイルで定義されておらず,製造元もプリンタを使用するのに必要な情報を提供していない場合は,構成ツールが提供している汎用設定を使用してください。 ただし,汎用設定を使用すると,プリンタ機能の使用が制限される場合があります。

8.1.4.2    リファレンス・ページ

ここに示したリファレンス・ページは,ユーティリティ,ファイル,およびデーモンに関する詳細情報を説明しています。

lpc(8)

ライン・プリンタ・システムの動作の制御。 /etc/printcap ファイルで構成されている各ライン・プリンタに対し,プリンタを使用可能または使用不能にする,プリンタ・スプーリング・キューを有効または無効にする,スプーリング・キュー内のジョブの順序を整理する,またはプリンタや,対応するスプーリング・キュー,プリンタ・デーモンのステータスを調べるために,lpc コマンドを使用することができます。

ports(7)

システムにプリンタを接続する際に使用するプリンタ・ポートの情報,および,それらプリンタ・ポートと /dev 内のプリンタ・デバイス特殊ファイル名との対応。

printconfig(8) および lprsetup(8)

構成ツールとそのコマンド行オプションに関する情報。

printcap(4) および lprsetup.dat(4)

プリンタの構成情報が入っているシステム・ファイルに関する情報。

wwpsof(8), pcfof(8)

汎用プリント・フィルタに関する情報。

wwpsof(8) のリファレンス・ページは,ローカル言語での PostScript のプリントをサポートする PostScript プリンタ用の汎用国際化プリント・フィルタについて説明しています。

pcfof(8) のリファレンス・ページは,ANSI,PCL (Printer Control Language),および PostScript プリンタ用の汎用プリント・フィルタについて説明しています。

lpd(8)

プリント・デーモンに関する情報。

latcp(8)

ローカル・エリア・トランスポート (LAT) 制御ユーティリティに関する情報。 このユーティリティは,ネットワーク・プリンタを使っている場合にだけ使用するもので,プリント・サービスのようなサービスをホストに追加するのに使用します。

lpr(1)pr(1)lprm(1)lpq(1),および lpstat(1)

ファイルのプリントに使用するコマンドの説明。 これらのコマンドの使用については,『Tru64 UNIX ユーザーズ・ガイド』を参照してください。

lptest(8)

プリンタのテスト・パターン・ユーティリティの説明。

ppdof(8)

PostScript プリント・フィルタ用のテキストの説明。

services(4)

/etc/services ファイルのフォーマットの説明。 TCP/IP を使うプリントに対して定義するサービス・ポートをこのファイルで定義します。

8.1.4.3    オンライン・ヘルプ

Printer Configuration アプリケーション (printconfig) には,オンライン・ヘルプのボリュームがあって使用方法を調べることができます。

lprsetup ユーティリティには,コマンド行ヘルプがあります。

8.1.5    システム・ファイル

次のシステム・ファイルには,プリンタの構成情報が入っています。 ファイルの中には,/var/spool のように省略時設定つまり最初から UNIX で決まっているものがあります。 ファイル名とロケーションは,好きなように決めることができます。

/etc/printcap

構成済プリンタのデータが入っています。

/usr/lbin/lprsetup

/usr/lbin/lprsetup ディレクトリには,サポートされている (既知の) プリンタに対する一連の構成データ (*.lpd) が入っています。 各ファイルの名前は,プリンタ名に対応しています。 この情報は,使用条件に合わせてプリンタをインストールして構成すると,/etc/lprsetup.dat ファイルとしてコンパイルされ,その後 /etc/printcap ファイルに転送されます。

/etc/lprsetup.dat

/etc/lprsetup.dat ファイルは,/usr/lbin/lprsetup ディレクトリ内のファイルをコンパイルした結果です。

/usr/spool

このファイルは,/var/spool (後述参照) を指すシンボリック・リンクです。 このシンボリック・リンクは,mail または uucp などの古いプログラムのために用意されています。

/var/spool

このディレクトリは,省略時ディレクトリで,プリント・ジョブは,プリントが終わるまで一時的にここに保存されます。 スプール・キューは,/etc/printcap に定義されている各デバイスの sd エントリで識別されます。

新規作成するスプール・ディレクトリは,/var/spool 下に置いてください。 /var は,可変データ用に定義されています。

/var/spool/lpd

このファイルは,/var/spool/cluster/members/{memb}/spool/lpd を指すシンボリック・リンクです。 これはクラスタ内のノード上のメンバ固有のスプール・ディレクトリです。 スタンドアロン・システムは,単一ノード・クラスタ (member0) と見なされます。 ロック・ファイル lpd.lock は,このディレクトリに格納されます。

/usr/adm/lpd*err

/usr/adm/lpd*err ファイルは,インストールされている各プリンタのエラー・ログ・ファイルです。 エラー・ログ・ファイルは,エラー・ロギングが有効になっている場合にだけ作成されます。

/var/adm

/var/adm ディレクトリには,課金機能が有効になっている場合,プリンタ課金ファイルが置かれます。 課金ファイル名のフォーマットは,/var/adm/<printer>acct_sum です。 ここで,<printer> は,インストール時にプリンタへ割り当てた名前です。

/usr/lbin/lpd

/usr/lbin/lpd ファイルはライン・プリンタ・デーモンです。 構成ファイルは,ディレクトリ /var/spool/* (または /usr/spool/*) にあります。

/dev

/dev ディレクトリには,ローカルの UNIX ソケット /dev/printer があります。 このソケットは,lpd デーモンが作成したもので,親 lpd が動いている限り存在します。

8.1.6    関連ユーティリティ

次のユーティリティもプリンタ環境で使用できます。

lpc

このライン・プリンタ制御ユーティリティにより,プリント・キューの管理およびプリンタへのアクセス制御ができます。 また,このユーティリティを使用して,構成エラーがないかプリンタ記述ファイルを調べることができます。 詳細は, lpc(8) を参照してください。

pac

このプリンタ/プロッタ課金ユーティリティは,プリンタ課金ログ・ファイルのデータをフォーマットして表示したり,テキスト・ファイルとして保存したりします。 詳細は, pac(8) を参照してください。 課金機能については, acct(8) を参照してください。

Print Manager GUI

CDE の「アプリケーション・マネージャ -- デスクトップアプリケーション」には,印刷マネージャのグラフィカル・ユーザ・インタフェースが含まれており,以下の操作が実行できます。 プリント・キューの管理,プリンタへのアクセス制御,およびプリンタ・データのビューのカスタマイズを行うために,グラフィカル・ユーザ・インタフェースを使用する方法については,オンライン・ヘルプを参照してください。

これらの機能は,ターミナルからコマンド行で実行する lpc ユーティリティおよび lpq コマンドまたは lpstat コマンドの機能とほぼ同じです。

Print Screen GUI

CDE の「アプリケーション・マネージャ -- デスクトップアプリケーション」には,画面印刷グラフィカル・ユーザ・インタフェースが含まれており,画面の全体または一部を印刷したり,ファイルに保存することができます。 詳細は,オンライン・ヘルプを参照してください。

CDE フロント・パネルのプリンタ・アイコン

CDE のフロント・パネルにあるプリンタ・アイコンにより,プリンタの選択とプリント・キューの管理をローカルで行うことができます。 「プリンタの構成」(printconfig) は,CDE の「アプリケーション・マネージャ - システム設定」から実行することも,SysMan Menu または SysMan Station から起動することもできます。 さらに後者のユーザ・インタフェースでは,グラフィカル・ツールをリモートから使用することも,PC のような異なるワークステーションまたは他の UNIX システムから使用することもできます。 システムの省略時プリンタを CDE 環境に割り当てるために,LPDEST などの環境変数を設定する方法については,CDE のドキュメントを参照してください。

8.2    情報収集

プリンタを追加する前に,lprsetup または printconfig ユーティリティを使用するときに入力する,追加プリンタに関する情報を集める必要があります。 必要な情報は,プリンタがリモートか,直接接続か,または LAT や TCP/IP を介したネットワーク接続かによって変ってきます。

システムがネットワークに接続されている場合は,ネットワーク・プリンタを追加またはアクセスするときに必要な情報について,ローカルのネットワーク管理者に問い合わせるか『ネットワーク管理ガイド:接続編』と『ネットワーク管理ガイド:サービス編』を参照してください。

8.2.1    直接接続とネットワーク接続のプリンタ

直接接続または LAT や TCP/IP を介したネットワーク接続を行う場合は次の情報が必要になります。

使用可能なプリンタのタイプ (サポートされているプリンタ)

他社製プリンタを追加していた場合には,プリンタのタイプは lprsetup.dat(4) を参照するか,または /usr/lbin/lprsetup ディレクトリを参照して調べることができます。 普通は,たとえば LN03 といったように,プリンタの表面に表示してあるプリンタの名前とほぼ同じですが,DECLaser 5100 のプリンタ・タイプが ln09 であるように,プリンタ名とタイプが異なる場合があります。 printconfig ユーティリティは,サポートされているデバイスをリストにして表示します。 このとき,ASU がインストールされていれば,PC プリンタのオプションも一緒に表示します。

プリンタの別名 (代替名)

プリンタの別名 (代替名) -- 1 台のプリンタに対して 1 つ以上の別名を割り当てることができます。 別名はプリンタ・コマンドで使用することができます。 たとえば,ローカル・システムを alfie2 と名付けた場合,その名前を別名として割り当て,ファイルのプリントで次のようにその別名を使うことができます。

# lpr -Palfie2 prt_accounting.txt

接続タイプ

この情報は,プリンタをシステムに接続する方法によって以下のように変ります。

TCP

ネットワーク接続されたプリント・サーバ・デバイス

直接接続

システム・ボックスの後面にあるポートに接続

LAT

ローカル・エリア・トランスポート・ポートまたはサービスとして接続 (詳細は『ネットワーク管理ガイド:接続編』を参照)

デバイスのパス名

これは,接続タイプによって次のように変ります。

TCP

接続タイプが TCP/IP の場合は,TCP アドレスが必要です。 次に示すように 2 つの形式がありますが,どちらでも構いません。

@node/port

プリンタ・ホスト (またはノード) 名の後ろに,ポート番号,またはサービス名を続けます。 ポート番号には LN32 に対する 9100 のような番号を指定し,サービス名には /etc/services ファイルでこのポート用に定義されている名前を指定します。 サービス名が定義されていない場合には,ポート番号を使用する必要があります。 たとえば,@alfie.nic.ccc.com/ln32port は,/etc/services 内のエントリ ln32port 9100/tcp にマップされます。 エントリ @alfie.nic.ccc.com/9100 はポート番号を直接指定するので,/etc/services の中にサービス・エントリがなくても構いません。

@tcp_address/port

nnn.nnn.nnn.nnn 形式の TCP/IP アドレスの後ろに (LN32 に対する 9100 のような) ポート番号または /etc/services に定義されているサービス名を続けます。 たとえば,@123.321.123.321/9100 のように指定します。

直接接続

接続タイプが直接接続の場合は,このエントリには /dev ディレクトリ内のデバイス・ファイル名を指定します。 たとえば,プリンタ・ケーブルを 1 または COMM1 のラベルが付いた 9-ピンのソケットに接続する場合,対応するデバイス特殊ファイルは,/dev/tty00 です。

LAT

接続タイプが LAT の場合は,printconfig が省略時の /dev/lat ポート名またはサービス名,LAT サーバ・ノード名,または LAT ポート名を指定してくれます (詳細は『ネットワーク管理ガイド:接続編』 を参照)。

拡張オプション

これらのオプションのほとんどは基本的なインストレーションでは指定する必要がありません。 省略時の値を受け入れればすみます。 しかし,プリンタによっては,オーナーズ・マニュアルで伝送ボー・レートのような特定の設定が要求されている場合もあります。 伝送レートは,インストール時に選択したプリンタ・ケーブルの長さやタイプなどの特性に依存することがあります。

拡張オプションは,ファイル /etc/printcap ではシンボルとして設定されています。 サポートされているシンボルおよび値は, printcap(4) でリストになって定義されています。 printconfig を使用するときは,オンライン・ヘルプでシンボルの説明を見ることができます。

この画面では,スクロール・ダウンすることによって,使用可能なすべてのオプションと省略時のエントリを見ることができます。 省略時のエントリは書き換えることができます。

よく使用されるのは次のオプションです。

課金ファイル名

プリンタ課金機能を使って印刷消耗品の消費状況を調べる場合,省略時の値を選択 (または希望の値を入力) してください。

stty ボー・レート (ハード・ワイヤ・ポートのみ)

プリンタに対して使用する伝送レートが指定されている場合はここへ入力します。 プリンタのスループットを上げるために省略時のレートを高くしていることがよくあります。

使用制限

プリント・ジョブのボリュームと量を制限したい場合は,ここで制限値を指定します。

省略時のページ・レイアウト

ページ・レイアウト特性に対する省略時の値を変更する場合は,ここで特性値を指定します。 サポートされているレイアウトは,プリンタの制限と特性に左右されることがあります。 プリンタのオーナーズ・マニュアルを参照してください。

デスティネーション・ディレクトリおよびファイル

プリント・スプールまたはエラー出力用に独自のディレクトリとファイルを使いたい場合は,そのロケーションをここで指定します。

8.2.2    リモート・プリンタ

リモート・プリンタをインストールする際に必要な情報を,以下に示します。

プリンタの別名 (代替名)

1 台のプリンタに対して 1 つ以上の別名を割り当てることができます。 別名はプリンタ・コマンドで使用することができます。 たとえば,リモート・システムを alfabet と名付けた場合,その名前を別名として割り当て,ファイルのプリントで次のようにその別名を使うことができます。

# lpr -Palfabet prt_accounting.txt

リモート・システムの名前

alfabet.ccc.nic.com のようなリモート・システムのホスト名。

リモート・プリンタの名前

lp0 のようなリモート・システム上のプリンタ名,または有効な別名。

拡張オプション

これらのオプションは基本的なインストレーションでは指定する必要がありません。 リモート・プリントで構成 (またはエラー・ログなどを構成から除外) できる拡張オプションは限られています。 詳細については,8.2.1 項を参照してください。 ほとんどの拡張オプションは,リモート・システムには適用されません。

リモート・プリントの設定で選択するプリンタ・タイプは Generic_Remote_LPD です。

8.3    プリンタの構成

以降の項では,printconfig ユーティリティを使用してコンピュータにプリンタを接続する際に必要となる情報について説明します。 プリンタの構成に lprsetup ユーティリティを使用する方法を説明している項もあります。

先に進む前に,プリンタがシステムに物理的に接続されていること,リモート・プリントの場合はネットワークからアクセスできること,そしてオーナーズ・マニュアルの説明に従って機能していることを確認してください。 インストレーション時の問題を避けるには,構成ユーティリティが示す省略時データをそのまま受け入れるのが得策です。 プリンタが動作するようになれば,拡張オプションを調べ,必要なら,同じユーティリティを使って構成をチューニングすることができます。

Printer Support Environment サブセットは,事前にインストールされている必要があります。 このサブセットがインストールされているかどうかを確認するには,次のコマンドを実行します。

# setld -i | grep OSFPRINT

OSFPRINT がインストールされている場合は,次のような情報が表示されます。

OSFPRINT540     installed       Local Printer Support (Printing Environment)
 

OSFPRINT サブセットがインストールされていない場合は,『インストレーション・ガイド』 を参照して setld ユーティリティを使って追加してください。

この節で説明するプリンタ構成の項目は,以下のとおりです。

printconfig は CDE またはコマンド行から起動できます。 詳細は, printconfig(8) を参照してください。 図 1-1 に示すように,「プリンタ設定」メイン・ウィンドウが表示されます。 最初に表示されるのは,「プリンタ設定: host name」というタイトルの付いたメイン・ウィンドウです。

図 8-1 は,Printer Configuration (printconfig) のメイン・ウィンドウを示しています。

図 8-1:  Printconfig のメイン・ウィンドウ

8.3.1    printconfig を使用した TCP/IP プリントの構成

TCP/IP プリントを使用すると,ネットワークに接続されているリモート・プリンタにプリント・ジョブをサブミットすることができます。 ただし,この機能を使用するためには,プリンタにネットワーク・インタフェース・カードが搭載されているか,プリント・サーバまたはターミナル・サーバに接続されている必要があります。 また,そのカードを TCP/IP ノード名とノード・アドレスで登録する必要があります。

TCP/IP プリントでは,ローカル・ホストは,直接接続されたプリンタのプリント・ジョブを管理するのと同様に,プリント・ジョブを管理します。 唯一の違いは,TCP/IP プリントでは,ローカル・プリント・デーモン (lpd) が TCP/IP を介して リモート・プリンタと通信を行うことです (LAT プリントと同様)。 各プリンタは,ネットワーク・インタフェース・ハードウェアに指定されているソケット番号,またはプリンタ・コンソールからユーザが定義したソケット番号上で接続要求をリッスンします。

ネットワークに接続されている 1 台のプリンタに対して,複数のホストがこのように通信できますが,ホストからの要求は先着順にサービスされます。 したがって,TCP/IP プリントはリモート・プリントとは異なります。 リモート・プリントでは,リモート・ホストまたはリモート・プリンタはリモート・サイトのプリント・キューを管理して,ソケット 515 (/etc/servicesprinter 用のエントリで定義) でネットワーク接続をリッスンします。

8.3.1.1    printconfig を使用した TCP/IP プリンタの構成

TCP/IP プリントを使うと,ホスト・デバイスとしてネットワークに接続されているリモート・プリンタにジョブを送ることができます。 TCP/IP プリントについては,8.3.1 項を参照してください。 また,8.3 節で説明されているように,情報を収集してください。

これまでの項で説明したように printconfig を起動します。

このウィンドウでは,次のように,収集したデータを使用してプリンタ・タイプを選択します。

このプリンタは物理的に接続されたプリンタとして扱われるので,次に「プリンタ設定: ローカル・プリンタ設定」ウィンドウが表示されます。 lp4 のような,次に使用可能なプリンタ名が表示されます。 以下のデータをフィールドに入力します。

基本的な TCP/IP プリンタの構成は以上で終わりです。 プリント・ジョブを制限するような拡張オプションを使う場合は,[詳細] オプションを選択して「プリンタ設定: ローカル・プリンタ設定: 詳細」ウィンドウを開きます。

構成を確認すると,「プリンタ設定: host name」ウィンドウに戻ります。 そこには,設定したプリンタが構成済みプリンタとしてリストに追加されているのが見られます。 テスト・ページをプリンタにプリントさせるには,[テスト] オプションを使います。 プリントできない場合は,データをよくチェックしトラブルシューティングの節を参照してください。

プリンタには TCP/IP アドレスの構成が必要です。 そのためには,ハードウェア・コンソール・パネルでエントリを作成するか,telnet または Web ブラウザを使用して,プリンタと通信する必要があります。 詳細は,プリンタのマニュアルを参照してください。

「プリンタ設定: host name」ウィンドウにある残りのオプションは [標準に設定] で,これを使うと,システムの省略時プリンタとして,任意の構成済みプリンタを指定できます。 プリント・キューの指定されていないプリント・ジョブは,すべてこの省略時プリンタに出力されます。

必要なプリンタを選択して [標準に設定] を選択します。 現在の省略時プリンタが「標準プリンタ」フィールドに表示されます。

8.3.1.2    TCP/IP プリントの設定に必要な手動による追加手順

今までの項で説明した手順の他に,ローカル・ホストで TCP/IP プリントを設定するために,以下の手順を実行してください。

  1. プリンタを設定します。 ネットワーク・カードを持つ各プリンタに,TCP/IP アドレスおよびノード名を割り当てます。 また,プリンタが接続要求をリッスンする TCP/IPソケット番号も決定します。 /etc/services ファイルで定義されている名前を指定しても,また,プリンタに割り当てられているポート番号を直接指定しても構いません。 サービス名を作成する場合は,ステップ 2b で /etc/services ファイルを編集する際にソケット番号が必要になります。

    表 8-1 に 5 つの Compaq 製プリンタ,1 つの Lexmark 製プリンタ,そして 1 つの Hewlett-Packard 製プリンタ用のソケット番号を示します。

    表 8-1:  TCP/IP ソケット番号

    プリンタ ソケット番号
    DEClaser 3500 (LN14) 10001
    DEClaser 5100 (LN09) 10001
    HP プリンタ 9100
    Digital_LN17 2501
    Lexmark プリンタ 9100
    Compaq LN16 9100
    Compaq LN32 9100

    その他のプリンタのソケット番号を調べるには,プリンタのマニュアルでネットワーク・カードについての情報を参照してください。 この番号をユーザが指定できるプリンタもあります。

  2. ローカル・ホストを構成します。 このステップでは,実行する必要のあるユーティリティ,および TCP/IP プリントを構成するためにローカル・ホスト上で変更する必要のあるファイルについて説明します。 以下のタスクを実行するには,スーパユーザ特権が必要です。

    1. 次の値を ct および lp 変数に割り当てます。

      ct=tcp
      lp=@nodename/servicename
      

      nodename には,ネットワークで使用するために登録したプリンタのノード名を指定します。 servicename には,次のステップで /etc/services データベースに入力するために選択した名前,またはポート番号 (たとえば,lp=myHPLaserjet/9100) のいずれかを指定します。 既存の /etc/printcap プリンタ・エントリを変更して TCP/IP プリントを使用したい場合は,/etc/printcap ファイルを編集し,ct および lp 変数の値を変更します。

      制御変数 xsxcfs,および fc の値を削除することもできます。 これらの変数は,シリアル・ポート・ドライバに関連した設定を確立する制御変数ですが,ネットワーク・ソケット・ドライバでは無視されます。

    2. サービス・データベースを構成します。 /etc/services データベース・ファイルにサービス名と tcp ポート番号 (ソケット番号) を登録する必要があります。 ステップ 1 でプリンタを構成したときに決定したソケット番号を入力し,その番号にユーザが選択したサービス名を関連付けてください。 たとえば,DEClaser 3500 用にサービス・データベースを構成する場合は,/etc/services ファイルに次の行を追加します。

      declaser3500    10001/tcp
      

      ユーザが定義した declaser3500 という文字列がサービスを表しています。 つまり,これは,ステップ 2a で /etc/printcap ファイルに servicename として入力した文字列と同じものです。 変更内容を /etc/printcap ファイルに保存してください。

      ステップ 2a でポート番号を指定した場合は,/etc/services ファイルは変更しないでください。

    3. リモート・ホスト・データベースを構成します。 /etc/printcap ファイルで lp 変数値の一部として指定した nodename 値をローカル・ホストのネットワーク管理サービスに認識させる必要があります。 したがって,nodename およびそのネットワーク・アドレスを /etc/hosts データベース・ファイルに入力しなければなりません。 リモート・ホスト名用に BIND サーバを実行していれば,必ずしも /etc/hosts ファイルにプリンタのノード名を追加する必要はありませんが,BIND サーバに問題が起こった場合,/etc/hosts にエントリがあればフォールバックとして役立ちます。

    TCP/IP プリントは,一度構成すると,ローカルおよびリモート・プリントと同じように使用できます。 コマンド行からは,プリンタのノード名,コマンド・オプション,およびファイル名を指定して,lpr コマンドを実行します。 CDE のプリント・ユーティリティでも,プリンタの状態を見たりプリント・ジョブを登録したりできます。

8.3.2    printconfig を使用した直接接続のプリンタのインストール

この項では,printconfig ユーティリティを使用してプリンタをインストールする方法について説明します。 例として,グラフィカル・ユーザ・インタフェースを使用して,DEClaser 5100 プリンタをローカルにインストールする方法を説明します。 物理的な接続はすべて済んでおり,また必要な情報も収集してあるものとします。 プリンタ構成の変更またはプリンタの削除にも,printconfig を使用することができます。 このようなその他の処理については,8.4 節 に説明してあります。

注意

Version 3.2 以前が動作しているシステムで /etc/printcap ファイルを変更する場合は,printconfig コマンドを使用しないでください。 古い /etc/printcap ファイルには互換性のない部分があり,printconfig コマンドがそのファイルを壊す可能性があります。 代わりに lprsetup を使用してください。

(ハードウェアのインストール後に行う) プリンタの通常のインストールには,データ収集の時間も含めて 10 分 〜 15分 程度かかります。

プリンタを初めてインストールする場合には,省略時の値を使用することをお勧めします。 必要なら,その後で printconfig を使用して構成を変更することもできます。

以前の項で説明したように,printconfig を起動します。

printconfig ユーティリティを実行するにはスーパユーザの特権が必要です。 追加するプリンタのタイプおよび指定する情報に従って,ユーティリティは以下のような処理を行います。

printconfig ユーティリティを実行すると,「プリンタ設定: host name」というタイトルの付いたメイン・ウィンドウが最初に表示されます。 このウィンドウで,8.2 節 の説明にあるように事前に収集しておいたデータを使って,プリンタのタイプを選択します。

このプリンタはリモート・プリンタではないので,次に「プリンタ設定: ローカル・プリンタ設定」ウィンドウが表示されます。 そして,次に使用可能なプリンタの名前が表示されます (これがこのシステムで最初に設定しようとするプリンタである場合は lp0)。 このウィンドウで次のデータを入力します。

基本的な構成の場合は,以上で終わりです。 プリント・ジョブの制限を設定するような拡張オプションを使用する場合は,[詳細] オプションを選択して「プリンタ設定: ローカル・プリンタ設定: 詳細」ウィンドウを開きます。 詳細については,8.5 節を参照してください。

構成を確認すると,「プリンタ設定: host name」ウィンドウに戻ります。 そこには,設定したプリンタが構成済みプリンタとしてリストに追加されているのが見られます。 テスト・ページをプリンタにプリントさせるには,[テスト] オプションを使います。 プリントができない場合は,データをよくチェックするとともに,8.7 節を参照してください。

「プリンタ設定: host name」ウィンドウにある残りのオプションは [標準に設定] で,これを使うと,システムの省略時プリンタとして,任意の構成済みプリンタを指定できます。 つまり,プリント・キューの指定されていないプリント・ジョブは,すべてこの省略時プリンタに出力されます。

必要なプリンタを選択して [標準に設定] を選択します。 現在の省略時プリンタが「標準プリンタ」フィールドに表示されます。

以上で,プリンタは使用できるようになります。 PostScript ファイルまたはカラー・グラフィック・ファイルのような適当なファイルをプリントして,プリンタの性能をテストしてください。 8.1.6 項の説明にあるプリンタ・ユーティリティを使って,プリンタおよびキュー状態の確認ができるかどうかを確かめてください。

8.3.3    printconfig を使用したリモート・プリンタのセットアップ

リモート・プリンタは,リモート・ホストに直接接続されているプリンタ (リモート・ホストでローカルとして扱われているプリンタ) のことをいいます。 リモート・プリンタは,そのプリンタのネットワーク・カードがリモート lpd プロトコルをエミュレートしていれば,ネットワークに直接接続することができます。 その場合,プリンタは,プリンタが接続されたリモート・ホストのように見えます。

ローカル・プリント・キューを構成して,プリント・ジョブがネットワークを介してリモート・ホストに送られるようにします。 そうすると,これらのジョブはリモート・ホストでプリントされるようになります。 リモート・システムがサービスしているリモート・プリンタをセットアップする場合は,ローカル・システム (クライアント) がリモート・システム (ホスト) の hosts.lpd ファイルまたは hosts.equiv ファイルに登録されていなければなりません。

この操作を行なう前に,8.2 節 を参照して必要なデータに関する情報を収集してください。 次に,前述の項の説明に従って,printconfig を起動します (なお,リモート・キューは,その項の例で作成しているキューと同じです)。 printconfig を使用してリモート・プリントを構成する方法を,次の例で説明します。

  1. [remote] を選択します。

  2. [設定] オプションを選択します。

    注意

    設定しようとしているプリンタはリモート・プリンタなので,「プリンタ設定: リモート・プリンタ設定」ウィンドウが表示されます。 そして,次に使用可能なプリンタの名前が表示されます (これがこのシステムで最初に設定しようとするプリンタである場合は lp0)。

  3. プリンタの別名を入力します。 たとえば,リモート・ホスト名とプリンタのタイプが分かるような名前にします。

  4. リモート・システム名を入力します。

  5. リモート・プリンタ名を入力します。 たとえば,8.3.2 項 では,プリンタ lp0 をシステムに追加しました。

  6. [コミット] を選択してオプションを /etc/printcap ファイルに書き込みます。

基本的な構成の場合は,以上で終わりです。 プリント・ジョブの制限を設定するような拡張オプションを使用する場合は,[詳細] オプションを選択して「プリンタ設定: ローカル・プリンタ設定: 詳細」ウィンドウを開きます。 プリンタをリモート・プリンタとして構成したので,拡張オプションとして指定できるのは,ローカル・ログ・ファイルやスプール・ディレクトリといったローカル処理に影響するオプションが少しあるだけです。

構成を確認すると,「プリンタ設定: host name」ウィンドウに戻ります。 そこには,設定したプリンタが構成済みプリンタとしてリストに追加されているのが見られます。 テスト・ページをプリンタにプリントするには,[テスト] オプションを使います。 プリントできない場合は,データをよくチェックするとともに,8.7 節を参照してください。

8.3.4    printconfig による PC プリント・キューの構成

Advanced Server for UNIX (ASU) がインストールされ実行されている場合には,クライアント PC のプリンタ・キューを構成することができます。 ASU にはプリント・キューの構成および管理機能もあります。 ASU の詳細については,『Advanced Server for UNIX インストレーション/管理ガイド』を参照してください。 PC クライアント用にプリンタの共用キューを作成する場合は,前もって,/etc/printcap ファイルに少なくとも 1 台のプリンタを構成しておく必要があります。

前述の方法に従って,printconfig を起動します。 ASU のもとで printconfig を起動する場合,使用可能なプリンタ・タイプは,Advanced_Server_Shared_Printer_Queue です。 このオプションを選択すると,次に「プリンタ設定: Advanced Server Shared Print Queue Setting」というタイトルのウィンドウが開きます。 このウィンドウには次の 3 つのオプションがあるだけです。

Advanced Server shared print queue name

psq1 のようなキュー名を入力します。

Printer devices

lp0,lp2 のようにデバイスのリストをコンマで区切って入力します。

Comment

キューの用途や制限事項についてのコメントや注記を入力します。

[OK] を選択してキューを作成し,printconfig のメイン・ウィンドウに戻ります。 新しいキューが表示されます。

キューの状態を調べるには,次の ASU コマンドを使い,下の例に示すようなキュー名に対する出力を調べます。

# net share 
.
.
.
Share name  Resource             Remark
----------  ------------------   ------------------------
psq1        lp0, lp2             Spooled

他の ASU タスクを実行して,キューを PC システムで使用できるようにする必要があるかもしれません。 詳細については,ASU のドキュメントを参照してください。

8.3.5    lprsetup によるプリンタのインストール

コンピュータに直接接続されているプリンタをローカルにインストールするには,lprsetup ユーティリティを使用します。 lprsetup を使用してプリンタの構成を変更したり,プリンタを削除することもできます。 これ以外の設定については,8.4 節を参照してください。

最初にプリンタをインストールする際には,省略時の値を使用することをお勧めします。

以降の例で使用するプリンタは LN03R です。

lprsetup プログラムは,端末ウィンドウでコマンド・プロンプトに対して /usr/sbin/lprsetup を入力することにより実行できます。 lprsetup は,スーパユーザで実行する必要があります。 追加するプリンタのタイプや入力する情報に応じて,lprsetup は以下の処理を行います。

lprsetup スクリプトを実行すると,まず,メイン・メニューに次のメッセージが表示されます。

# /usr/sbin/lprsetup
Tru64 UNIX Printer Setup Program
 
Command < add modify delete exit view quit help >:

lprsetup のコマンド・オプションを表 8-2 に示します。

表 8-2:  lprsetup のオプション

コマンド 説明
add プリンタを追加する。
modify 既存のプリンタの属性を変更する。
delete ユーザの構成から既存のプリンタを削除する。
exit lprsetup プログラムを終了する。
view 構成しているプリンタの現在の /etc/printcap ファイル・エントリを表示する。
quit lprsetup プログラムを終了する。
help lprsetup プログラムのオンライン・ヘルプを表示する。

コマンド・オプションはいずれも,最初の 1 文字に省略できます。

各プロンプトで情報を入力するか,または [Return] キーを押して省略時の情報を選択します (多くの場合,省略時の情報を入力します)。 また,? (疑問符) を入力すると,プロンプトに対して指定すべき情報についての説明が表示されます。

注意

lprsetup スクリプトで表示されるシンボルの中には,オペレーティング・システムではサポートされていないものもあります。 サポートされているシンボルについての詳細は, printcap(4) を参照してください。

次の例では,lprsetup コマンドを使用して,ローカル・システムで使用する LN03R プリンタを設定する方法を示します。 なお,例を簡略化するために一部の表を省いてあります。

# /usr/sbin/lprsetup 
Tru64 UNIX Printer Setup Program
Command  < add modify delete exit view quit help >: add
Adding printer entry, type '?' for help.
Enter printer name to add [lp1] : [Enter]
 
Printer Types:
 
  1. Compaq Advanced Server ClientPS
  2. Compaq Advanced Server ClientText
  3. Compaq LN16
  4. Compaq LN32
  5. Digital Colormate PS
  6. Digital DEClaser 1100
  7. Digital DEClaser 1150
  8. Digital DEClaser 2100
  9. Digital DEClaser 2150
 10. Digital DEClaser 2200
 11. Digital DEClaser 2250
 12. Digital DEClaser 2300
 13. Digital DEClaser 2400
 14. Digital DEClaser 3200
 15. Digital DEClaser 3250
 16. Digital DEClaser 3500
 17. Digital DEClaser 5100
 18. Digital LA100
 19. Digital LA120
 20. Digital LA210
 21. Digital LA280
 22. Digital LA30N
 
Press 'ENTER' to continue scrolling, type '(q)uit' to end scrolling: [Enter]
 23. Digital LA30N A4
(and so on until)
 59. Digital LN03
 60. Digital LN03R
 61. Digital LN03S
 62. Digital LN03S-JA
 63. Digital LN15
 64. Digital LN15 A4
 65. Digital LN17
 66. Digital LN17 A4
 
Press 'ENTER' to continue scrolling, type '(q)uit' to end scrolling: q
 
Help Types:
 
  ?         - General help
  printer?  - Specific printer type information
 
Enter index number, help type, '(q)uit', or 'ENTER' [Generic Unknown type]: 60
 
You chose printer type 'Digital LN03R'.
Is that correct? [y]:y
 
Enter printer synonym: marks
Enter printer synonym: [Enter]
 
Set device pathname 'lp' [] ? /dev/tty01
 
Do you want to capture print job accounting data ([y]|n)? y
 
Set accounting file 'af' [/usr/adm/lp1acct]?[Enter]
 
Set spooler directory 'sd' [/usr/spool/lpd1] ? [Enter]
 
Set printer error log file 'lf' [/usr/adm/lp1err] ? [Enter]
 
Set printer connection type 'ct' [dev] ? [Enter]
 
Set printer baud rate 'br' [9600] ? [Enter]
 
 

各プロンプトに対する応答が終了すると,lprsetup/etc/printcap に指定されているシンボルのいずれかの値を変更するか,または新たにシンボルを指定するかを尋ねるプロンプトを表示します。 たとえば,特定のページ長あるいはページ幅を設定することができます。 情報の変更あるいは追加を行いたい場合は,そのシンボル名を入力します。 詳細については, printcap(4) を参照してください。

Enter the name of the printcap symbol you wish to modify.  Other
valid entries are:
        'q'     to quit (no more changes)
        'p'     to print the symbols you have specified so far
        'l'     to list all the possible symbols and defaults
The names of the printcap symbols are:
 
 af  br  cf  ct  df  dn  du  fc  ff  fo  fs  gf  if  lf  lo  lp 
 mc  mj  mx  nc  nf  of  on  pl  pp  ps  pw  px  py  rf  rm  rp 
 rs  rw  sb  sc  sd  sf  sh  st  tf  tr  vf  xc  xf  xn  xs  ya 
 yd  yj  yp  ys  yt 
 
Enter symbol name: q
 
        Printer #1 
        ----------
Symbol  type  value
------  ----  -----
  af    STR    /usr/adm/lp1acct
  br    INT    9600
  ct    STR    dev
  fc    INT    0177777
  fs    INT    03
  if    STR    /usr/lbin/ln03rof
  lf    STR    /usr/spool/lp1err
  lp    STR    /dev/tty01
  mx    INT    0
  of    STR    /usr/lbin/ln03rof
  pl    INT    66
  pw    INT    80
  rw    BOOL   on
  sd    STR    /usr/spool/lpd1
  xc    INT    0177777
  xf    STR    /usr/lbin/xf
  xs    INT    044000
 
Are these the final values for printer 0 ? [y] y

次に lprsetup スクリプトは,/etc/printcap ファイルにコメントを追加するかどうかを質問します。 コメントを追加しない場合は,n を入力してください。 コメントを追加する場合は,y を入力してください。 # プロンプトに対してコメントを入力します。 # プロンプトで [Return] キーまたは [Enter] キーを押すと終了します。 入力したコメントは,/etc/printcap ファイルの printcap エントリの直前に挿入されます。

Adding comments to printcap file for new printer, type '?' for help.
Do you want to add comments to the printcap file [n] ? : y
Enter comments below - Press ENTER on empty line to exit
# Use this printer for drafts only
# [Enter]
 
Set up activity is complete for this printer.
Verify that the printer works properly by using
the lpr(1) command to send files to the printer.
 
 
 

Command  < add modify delete exit view quit help >: exit

詳細は, lprsetup(8) を参照してください。

8.3.6    Advanced Printing Software のためのプリント・シンボル

Advanced Printing Software を設定する場合は,Generic_Remote_LPD プリンタ・タイプを選択し,次のプリント・シンボルを設定してください。

rm

@dpa を指定して,このプリンタに送られたジョブを Advanced Printing Sofware 着信ゲートウェイに送ることを示します。 着信ゲートウェイは,そのジョブを Advanced Printing Sofware スプーラに送ります。

rp

Advanced Printing Software ロジカル・プリンタの名前を指定します。

詳細は,Advanced Printing の『システム管理/操作ガイド』を参照してください。

8.4    プリント・システムの日常保守

この章の最初の部分で,プリンタをシステムへ新規に設定する方法について説明しました。 この節では,設定済みのプリント・システムの日常の管理タスクについて説明します。 これらのタスクは,printconfig および X11 準拠 (CDE) またはコマンド行ツールを使用して行うことができます。 以降の項で説明する処理は,次のとおりです。

/etc/printcap ファイルから手作業でプリンタを削除した場合は,スプール・ディレクトリ/ファイル,課金ディレクトリ/ファイル,およびエラー・ディレクトリ/ファイルも手作業で削除する必要があります。

8.4.1    プリンタの追加

一度プリンタを設定しておけば,その他のローカル,リモート,およびネットワーク・プリンタをいつでも追加することができます。 8.3 節で説明しているように,各プリンタについて情報を集めてください。

プリンタの追加は printconfig を使用して行うこともできます。 手作業でプリンタの追加を行う場合は,次の手順に従います。

  1. プリンタ・スプール・ディレクトリがなければ作成します (8.5.2.6.2 項を参照)。

  2. /etc/printcap ファイルを編集して,/usr/lbin/lprsetup 内のファイルの構成データを使って追加するプリンタについての記述を追加します (8.5.1 項を参照)。

  3. 課金ファイルとログ・ファイルを作成し,プリンタの課金機能を有効にします (8.4.5 項を参照)。 このファイルの保護と所有権を適切に設定します。

/etc/inittab ファイルの設定で,プリンタが接続されているシリアル・ラインに対して getty プロセスが起動されないようにしてください。 printconfig を使用した場合は,自動的に設定されます。

8.4.2    プリンタ構成の変更

プリンタの構成を変更するには,printconfig を実行して,構成済みプリンタを選択します。 次に [変更] を選択して「設定」ウィンドウを開きます。

スプール・ディレクトリ,課金ファイル,またはエラー・ログ・ファイルの名前を変更した場合,printconfig は,元の情報を削除する前に,変更内容が正しいかどうかを確認するよう要求してきます。

プリンタの構成を手作業で変更するには,/etc/printcap ファイルを編集し,そのプリンタ・エントリを修正します。 /etc/printcap ファイルのシンボルについては,8.5.1 項 および printcap(4) を参照してください。

8.4.3    プリンタの削除

プリンタを削除するには,printconfig ユーティリティを実行し,削除したいプリンタを選択してから [設定解除] を選択します。 エラー・ログ・ファイルおよび課金ファイルを削除するかどうか聞いてきます。 課金ファイルは複数のプリンタで共用することができます。 このような共用ファイルの場合は削除しないでください。

/etc/printcap ファイル・エントリの最初の行にそのプリンタに対するコメントを記述している場合,コマンド行ユーティリティ lprsetup は,プリンタを削除してもそのコメントを削除しません。 コメントは,/etc/printcap ファイルを編集して手作業で削除してください。

手作業でプリンタを削除するには,/etc/printcap ファイルを編集し,そのプリンタに関連するエントリを削除します。 不要になった課金ファイル,ログ・ファイル,およびスプール・ディレクトリも手作業で削除する必要があります。

lpc および CDE のプリント管理ツールを使用して,プリンタとキューに一時的にアクセスし制御することもできます。 8.4.4 項 を参照してください。

8.4.4    ローカル・プリント・ジョブおよびキューの制御

プリント・ジョブのフローおよびローカル・プリント・キューの内容の管理には lpc コマンド行ユーティリティを使用します。

ローカル・ユーザ環境が CDE になっている場合は,CDE の「アプリケーション・マネージャ - デスクトップアプリケーション」フォルダにある「印刷マネージャ」を使ってプリント・ジョブを管理することもできます。 グラフィカル・ユーザ・インタフェースの使用法についてはオンライン・ヘルプ,『Common Desktop Environment: ユーザーズ・ガイド』 および『Common Desktop Environment: 上級ユーザ及びシステム管理者ガイド』を参照してください。

lpc コマンドを使用して次の処理を行うことができます。

たとえば,disable コマンドなど,いくつかの lpc コマンドには,スーパユーザ特権が必要です。

注意

lpc コマンドで管理できるのは,ローカルなプリンタ・キューのみです。 リモート・プリンタには,ローカル・キューとリモート・キューがあります。 lpc コマンドが管理できるのは,ローカル・キューのみです。

lpc コマンドでは,いくつかのコマンド引数が指定できます。 lpc コマンドは,対話形式でも使用できます。 引数なしで lpc コマンドを入力すると,lpc> プロンプトが表示され,引数が入力できる状態になります。

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

/usr/sbin/lpc [argument] [ all | printer... ]

コマンド引数の中には,all を指定してすべてのプリンタを示したり,1 つまたは複数の printer 変数を指定して特定のプリンタを示したりすることができるものがあります。

表 8-3lpc コマンドのコマンド引数を示します。

表 8-3:  lpc コマンドの引数

lpc の引数 説明
help [argument] 指定された lpc コマンドの引数の説明を 1 行で表示する。 argument 変数を指定しない場合,引数のリストが表示される。
? [argument] help 引数と同じ。
abort 実行中の lpd デーモンを終了させ,その後,プリントを使用不能にする。 これによって lpr コマンドまたは lp コマンドで新しい lpd デーモンが起動されないようにする。
check 指定された各プリンタに関して,構成エラーがないか,プリンタ記述ファイルや,プリント環境の他の構成要素を調べる。
clean 一時ファイル,データ・ファイル,および制御ファイル (たとえば,完全なプリンタ・ジョブの形になっていないファイルなど) を,指定されたプリント・スプール・ディレクトリから削除する。
disable 指定されたプリント・スプール・キューを不能にする。 これにより,lpr コマンドまたは lp コマンドがキューに新しいジョブをいれないようにする。
down message... 指定されたプリント・キューを不能にし,プリントを使用不能にし,プリンタ状態ファイルに指定されたメッセージを記入する。 残りの引数は echo と同様に扱われるため,メッセージを引用符で囲む必要はない。 down 引数を使用して,プリンタを停止させ,ユーザに知らせることができる。 プリンタが停止した場合,lpq コマンドは,プリンタが停止したことを示す。
enable 指定されたプリンタのスプール機能を可能にする。 これによって,lpr コマンドまたは lp コマンドが,プリント・ジョブをスプール・キューにいれることが可能になる。
exit lpc を終了する。
quit lpc を終了する。
restart 指定されたプリンタに対する新しい lpd デーモンの再起動を試みる。 何らかの異常状態によって,デーモンが中断し,ジョブがキューに残った場合,この引数が役に立つ。 このような場合,lpq コマンドはデーモンが存在しないことを示す。 デーモンがハングした場合,まずプロセスを強制終了させ,その後 restart 引数を使用してデーモンを再起動させる。
start 指定されたプリンタでのプリントを可能にし,スプール・デーモンを起動させる。
status [printer] 指定されたプリンタのデーモンおよびキューの状態を表示する。 status 引数は,キューが使用可能か,プリントが可能か,キューのエントリ数およびプリンタの lpd デーモンの状態を表す。 プリンタ名を省略した場合,すべてのプリンタ・デーモンとキューについての情報が表示される。
stop 現在のジョブの終了後,スプール・デーモンを停止させ,プリントを使用不能にする。
topq printer プリント・ジョブを,指定された順番でキューにいれる。 プリント・ジョブは,request_ID 変数または username 変数を指定することによっても,指定することができる。
up すべてのプリントを可能にし,新しいプリンタ・デーモンを起動させる。 down 引数を取り消す。

次の例では,tester というプリンタに対して lpd デーモンが有効で,キューにエントリが 1 つ存在することを示しています。

# /usr/sbin/lpc
lpc> status tester
tester:
        printer is on device '/dev/tty02' speed 9600
        queuing is enabled
        printing is enabled
        1 entry in spool area
lpc>

詳細については, lpc(8) を参照してください。

8.4.5    プリンタ課金機能の設定

プリンタ課金機能を使用すると,印刷サービスに対する支払をユーザに請求したりプリンタの使用量を調べることができます。

注意

課金情報は,フォーマット化されていないテキスト・ファイルです。 PCL や PostScript のようなフォーマット化されたファイルではありません。

プリンタ課金機能には,2 つのタイプがあります。

プリンタ・ユーザ課金機能

プリンタ・ユーザ課金機能は,プリント要求をしたシステム名およびユーザ名に従って,プリンタの使用量に関する情報を提供します。

プリンタ・サマリ課金機能

プリンタ・サマリ課金機能は,プリンタが消費した媒体の量 (出力ページ数,ロール紙またはフィルムのフィート長) についての情報を提供します。 プリンタ・サマリ課金情報を生成するには,-s オプションを指定して pac コマンドを実行します。

プリンタ課金ファイルは省略時のディレクトリ /var/adm に作成されます。 lprsetup を使ってプリンタを追加すると,lprsetup は指定した課金ファイルを作成します。 省略時の課金ファイルは,/usr/adm/lpd/lpacct です。

printconfig ユーティリティでは,[詳細] オプションの中で省略時の課金ファイルを選択します。 課金が不要の場合は,プリンタの構成時または [変更] オプションを使って後日いつでもこれらのエントリを削除することができます。 プリンタを手動で追加する場合は,ユーザが課金ファイルを作成する必要があります。

注意

ユーザ adm は,ディレクトリ /var/adm/lpd を所有し,adm グループに属します。 また,ユーザ adm は,プリンタ課金ファイルも所有します。 このファイルは,保護モードが 644 で,グループ system に属します。

/etc/printcap のプリンタ・エントリにあるパラメータ af は,課金ファイルの名前を指定しています。 課金処理は,各プリンタに各ユーザがプリントしたページ数を記録するためにこのファイルを使用します。 課金ファイル名は,システムにあるプリンタの間で一意です。 プリンタ課金ファイル内の情報を表示するには,pac ユーティリティを使用します。 ユーザ daemon は,課金ファイルを所有し,グループ daemon に属します。 printconfig ユーティリティを使用してプリンタ課金ファイルを指定すれば,正しいファイル所有権が自動的に設定されます。 af パラメータは,リモート・プリンタのエントリには適用されません。

課金機能はプリント・フィルタと呼ばれるプログラムを通して実行されます。 printconfig ユーティリティは,省略時のプリント・フィルタを提示してくれます。 課金機能に必要なプリント・フィルタのシンボルは,if です。 例を以下に示します。

if=/usr/lbin/ln03rof

システムでプリンタごとに別々の課金ファイルを使用する場合,そのファイル名は一意でなければなりません。 1 つの課金ファイルを共用できるプリンタの数には制限がありません。 しかし,リモート・プリンタに対しては,課金ファイルを指定することができません。 プリント・デーモンは,課金ファイルを所有します。 課金ファイルを指定すると,必要に応じて中間ディレクトリが自動的に作成されます。

8.5    参照情報

この節では,プリンタの構成に必要な情報について説明します。 また,ライン・プリンタ・デーモン (lpd) およびプリント・システムのファイルの情報について説明します。 8.3.2 項に示すように printconfig を使用した場合,システム・ファイルが自動的に作成されます。

これらのファイルは手作業で作成/変更することもできます。 ただし,手作業で作成した場合,変更内容を有効にするために /etc/printcap ファイルも手作業で変更する必要があります。

8.5.1    /etc/printcap ファイル

lpd デーモンは,/etc/printcap データベース・ファイルを使用して要求をプリントします。 /etc/printcap ファイルの各エントリはプリンタについて記述しています。 プリンタ特性は,シンボルと呼ばれる 2 文字の英字からなる省略形を使って指定します。 プリント・シンボルについては,この項と printcap(4) に説明があります。 /etc/printcap ファイルの変更は lprsetup ユーティリティで行います。

省略時のプリンタ名は lp で,任意のタイプ (ローカルやリモート) のプリンタの別名として使用されます。 lp0lp1 などの名前は,printconfig によって割り当てられる省略時の名前です。 これらを採用することも,無視することも可能です。

TCP/IP 接続プリンタ,LPD リモート・プリンタ,シリアル・プリンタ,およびパラレル・プリンタに対する /etc/printcap エントリを,以下に示します。

TCP/IP 接続プリンタの例
 
 lp0|myprinter|hp8000:\
         :ct=tcp:\
         :if=/usr/lbin/ppdof +OPageSize=Letter +Chplj8000.rpd:\
         :lf=/usr/adm/lp0err:\
         :lp=@myprinter.com/9100:\
         :mx#0:\
         :of=/usr/lbin/ppdof +OPageSize=Letter +Chplj8000.rpd:\
         :pl#66:\
         :pw#0:\
         :rw:\
         :sd=/usr/spool/lpd0:
         :xf=/usr/lbin/xf:

LPD リモート・プリンタの例
 
lp0|remote:\
        :lf=/usr/adm/lp0err:\
        :lp=:\
        :rm=system:\
        :rp=queue:\
        :sd=/usr/spool/lpd0:

注意

この構成では,大部分の printcap オプションが無効になっています。

シリアル・ポートの例
 
lp0|myprinter|la75:\
        :af=/usr/adm/lp0acct:\
        :br#9600:\
        :ct=dev:\
        :fc#0177777:\
        :fs#03:\
        :if=/usr/lbin/la75of:\
        :lf=/usr/adm/lp0err:\
        :lp=/dev/tty00:\
        :mx#0:\
        :of=/usr/lbin/la75of:\
        :pl#66:\
        :pw#80:\
        :rw:\
        :sd=/usr/spool/lpd0:\
        :xc#0177777:\
        :xf=/usr/lbin/xf:\
        :xs#044000:
 
 

パラレル・ポートの例
 
lp0|myprinter|la75:\
        :af=/usr/adm/lp0acct:\
        :ct=dev:\
        :if=/usr/lbin/la75of:\
        :lf=/usr/adm/lp0err:\
        :lp=/dev/lp0:\
        :mx#0:\
        :of=/usr/lbin/la75of:\
        :pl#66:\
        :pw#80:\
        :sd=/usr/spool/lpd0:\
        :sh:\
        :xf=/usr/lbin/xf:
 
 

/etc/printcap に記述されている,ローカル・プリンタおよびリモート・プリンタのエントリ例を次に示します。 注釈には,そのシンボル・エントリの指定方法を説明してあります。

#
#
lp|lp0|0|dotmatrix|mary:\
      :af=/usr/adm/printer/lp.acct:\
      :br#9600:\
      :ct=dev:\
      :fc#0177777:\
      :fs#023:\
      :if=/usr/lbin/la75of:\
      :lf=/usr/adm/lperr:\    [1]
      :lp=/dev/tty01:\
      :mx#0:\
      :of=/usr/lbin/la75of:\
      :pl#66:\
      :pw#80:\
      :sh:\     [2]
      :sd=/usr/spool/lpd:\
      :xc#0177777:\     [3]
      :xf=/usr/lbin/xf:\
      :xs#044000:\
#
sqirrl|3r3|ln03r3|postscript3|In office 2T20:\
      :lp=:rm=uptown:rp=lp:sd=/var/spool/printer/ln03r3:mx#0:\ [4]
#

  1. 英字列付きでシンボルを指定します。 [例に戻る]

  2. 論理式を表すシンボルを指定します。 [例に戻る]

  3. 数値付きでシンボルを指定します。 [例に戻る]

  4. リモート・プリンタのエントリを指定します。 クライアントとしてリモート・プリンタを使用するためには,シンボル lprmrp,および sd を指定する必要があります。 [例に戻る]

各プリンタ・エントリの最初の行には,一次プリンタ参照名およびプリンタ名の同義語を指定するフィールドがあります。 この最初の行およびこれらのフィールドは,ローカルおよびリモートいずれのプリンタにも必要です。

プリンタ参照名とは,後でこのプリンタへプリントするために指定する名前のことです。 1 台のプリンタに対して,いくらでも別名を指定することができ,最初の行で各フィールドを | (縦線) を使って区切ります。 また,最初の行の終わりには,: (コロン) が必要です。

注意

/etc/printcap ファイルのローカル・プリンタ・エントリには省略時のプリンタ参照名 lp0 を割り当てて,プリント・コマンドでプリンタ参照名を指定しなかった場合にもプリント・ジョブにプリンタが指定されるようにしなければなりません。

各プリンタ・エントリの残りの行には,プリンタの構成を定義する記述シンボルと値を入力します。 シンボルは,2 文字のニーモニックで,= (等号) と英字列,または # (番号記号) と数値を使って指定できます。 シンボル名の中には論理値を持つものもあり,これらにはパラメータを付けません。 各シンボルは 1 行に指定することも,各行に指定することもできますが,: (コロン) で区切らなければなりません。

/etc/printcap ファイルを読みやすくするため,行の先頭に : (コロン) を,行の終わりには \ (バックスラッシュ) を付けてシンボルを区切ることができます。

printcap(4) に,printcap シンボル名,シンボル名がとる値の型,省略時の値,およびシンボルの説明が示されています。

8.5.2    /etc/printcap のデータ

/etc/printcap ファイルのプリンタ・エントリで通常必要となるデータを以降に示します。

8.5.2.1    プリンタ名

プリンタ名は,lpr コマンドでプリンタを指定するために使用する名前です。 例を次に示します。

# lpr -Pprintername

lprsetup ユーティリティは,0 〜 99 の内部ナンバリング・スキームを使用します。 使用可能な次の番号が,省略時の名前になります。 [Enter] キーを押すことによって,省略時の名前を選択できます。 他の英数字名を入力することもできます。 lprsetup ユーティリティは少なくとも 2 つのプリンタ別名を必ず割り当てます。 省略時の番号 N は,1 つの別名です。 文字列 lp プラス省略時番号 (lpN) は,システムが割り当てるもう 1 つの別名です。 省略時番号が 1 の場合,割り当てられる 2 つの名前は,1 および lp1 です。 したがって,ジョブは,次のいずれかのコマンドを使ってこのプリンタのキューにいれることができます。

# lpr -P1
# lpr -Plp1

独自の別名を割り当て,それを使ってジョブをプリンタに送ることもできます。

最初に lprsetup が設定するプリンタの名前は 0lp0 になります。 名前 lp は,省略時のプリンタとして予約されています (つまり,lpr コマンドで何も指定しなかったとき,使用されます)。

1 つのプリンタしかない場合,または多くのプリンタ名の最初のプリンタを入力する場合,最初の名前はプリンタ番号 0 になります。 追加名 lp があれば,これが省略時のプリンタとして,認識されます。

ネットワーク上のリモート・プリンタの名前は,ネットワーク管理者に問い合わせてください。

8.5.2.2    プリンタ・タイプ

プリンタ・タイプは,LN03 レーザ・プリンタなど,そのプリンタの製品名に対応しています。 lprsetup ユーティリティを使用すると,プリンタがタイプ別にリストされます。 サポートされているタイプだけがリストされます。 これらのプリンタには,省略時の値があり,設定ユーティリティに組み込まれています。

サポートされているプリンタ・タイプは /usr/lbin/lprsetup ディレクトリ内のファイルで定義されています。 汎用プリンタ・タイプやHPの Advanced Server で使用されているプリンタ・タイプの情報は, lprsetup.dat(4) を参照してください。

リストにないプリンタでも,Generic_Unknown プリンタ・タイプを選択し,サポートされているプリンタと同様の値を使用してプロンプトに応答することで設定することができます。

プリンタ・タイプを指定する場合は,完全なコマンド名とプリンタ名を使用する必要があります。 省略時のプリンタ・タイプは,Generic_Unknown です。

他社のプリンタをインストールする場合は,そのプリンタに付属のドキュメントを参照してください。

8.5.2.3    プリンタの別名

プリンタの別名は,そのプリンタの代替名です。 いくつか例をあげると,draftletter,および LA-75 Companion Printer などがそうです。 プリンタの別名は,必要なだけ入力できますが,別名を指定する行は 80 字未満でなければなりません。 名前を多く含む別名を入力する場合は,複数行になることがあります。 その場合,空白行またはホワイト・スペースだけを含む行を入力すれば,その別名入力が終了します。

コマンド行モードでは,別名を入力すると,再度プロンプトが表示されます。 それ以上,別名を入力しない場合は,[Enter] キーを押して先に進みます。

各別名 (プリンタ番号も含む) は,プリントシステムに対してプリンタを指定するために使用します。 たとえば,あるプリンタの別名として draft を指定している場合,次のコマンドを入力することにより,そのプリンタにファイルを出力できます。

$ lpr -Pdraft files

特別なプリンタ別名 lp は,省略時のプリンタを指しています。

8.5.2.4    デバイス特殊ファイル

デバイス特殊ファイルは,プリンタが接続されているコンピュータのポートにアクセスするために使用します。 デバイス特殊ファイルが使用されるのは,プリンタが直接ローカルのシリアル・ポートまたはパラレル・ポートに接続されている場合です。 この場合は,/etc/printcap ファイルで lp シンボルを使用して,プリンタ・デバイス論理名がプリンタのデバイス特殊ファイル名と同等であると定義する必要があります。 たとえば,次のように定義します。

lp=/dev/lp0

インストレーション・プロシージャによって,コンピュータに接続されているハードウェアのデバイス特殊ファイルがいくつか作成されます。 通常,パラレル・プリンタ用のデバイス特殊ファイルには /dev/lpn (たとえば lp0lp1lp2) という名前が付けられます。 シリアル・ライン・プリンタ用のデバイス特殊ファイルには /dev/ttynn (たとえば tty00tty01tty02) という名前が付けられます。 n および nn 変数はプリンタの番号を指定します。 ほとんどのシステムでは,デバイス名が省略時の物理ポート (コネクタ) に対応します。

表 8-4 に,デバイス名と省略時の物理ポートの対応を示します。

表 8-4:  通信ポートとプリンタのデバイス特殊ファイル

デバイス特殊ファイル 通信タイプ コネクタ・ラベル
/dev/lp0 パラレル プリンタまたは lp
/dev/tty00 シリアル COMM1 または 1
/dev/tty01 シリアル COMM2 または 2

システムに 9-ピンのシリアル・コネクタが 1 個しかない場合は,そのコネクタにラベル表示がないこともあります。 ラベルの代わりにグラフィカル・アイコンを使用しているシステムもあります。 詳細については,システムのオーナーズ・マニュアルを参照してください。

注意

ログイン用にポートが使用されている場合,lprsetup スクリプトは getty プロセスで確立された端末回線の設定を解除します。

TCP/IP プリンタの場合は,lp シンボルに対して,次に示すとおり,アットマーク文字 (@) の後に printer hostname と,ポート番号またはサービス名のいずれかを続けたものを割り当てます。

lp=@printer hostname/servicename
lp=@printer hostname/portnumber
 

printer hostname はネットワーク名またはネットワーク・アドレスで,プリンタのネットワーク・インタフェースの TCP/IP アドレスを表わします。 portnumber は,整数の TCP ポート番号で,プリンタが raw ソケット・プリントに使用するポートを表わします。 servicename/etc/services ファイルで定義された名前です。 サービス定義には,サービス名,プロトコル「tcp」,およびプリンタが raw ソケット・プリントに使用するポートの番号が含まれます。 例として,/etc/services ファイルのエントリを示します。

print_port_9100       9100/tcp       # printer port 9100
 

また,/etc/printcap ファイルのエントリを以下に示します。

lp1|1|myprinter:\
          :lp=@printer123.sf.ourcomp.com/print_port_9100:\
          :lf=/usr/adm/lp1err:\
          :if=/usr/lbin/ppdof +OPageSize=Letter +Chplj9000.rpd:\
          :mx#0:\
          :of=/usr/lbin/ppdof +OPageSize=Letter +Chplj9000.rpd:\
          :pl#66:\
          :pw#0:\
          :rw:\
          :sd=/usr/spool/lpd1:\
          :xf=/usr/lbin/xf:
 
 

8.5.2.5    接続タイプ

ct パラメータは,そのプリンタの接続タイプを指定します。 プリンタは,ポートあるいはターミナル・ラインからコンピュータへ直接接続できます。 LAT (ローカル・エリア・トランスポート) ターミナル・サーバあるいはリモート・ホストに接続されているネットワーク・プリンタへアクセスすることができます。 lprsetup を使用している場合に選択する接続タイプは次のとおりです。

dev

ローカル・デバイス

lat

LAT デバイス

tcp

TCP/IP デバイス

8.5.2.6    スプール・ディレクトリ

/etc/printcap では,sd パラメータは,ファイルを出力する前にキューイングしておくスプール・ディレクトリを指定します。 各スプール・ディレクトリは,一意です。 すべての printcap ファイル・エントリには,ローカルおよびリモートの両方で,スプール・ディレクトリを指定しなければなりません。 printconfig によりスプール・ディレクトリが作成される際,必要に応じて中間ディレクトリが作成されます。

各プリンタには,/usr/spool ディレクトリの下に各プリンタ固有のスプール・ディレクトリが必要です。 スプール・ディレクトリはプリンタのスプール・キューとして機能します。 このディレクトリには,そのプリンタへ出力するためにキューにいれられたファイルが置かれます。 プリンタ用のスプール・ディレクトリは,プリンタの参照名と同じ名前で,プリンタが接続されているシステムに存在しなければなりません。 プリンタの参照名は,出力先のプリンタを指定する際に使う名前です。

lprsetup を使用した場合,ユーティリティは省略時の値 /usr/spool/lpdn を使用します。 変数 n は,プリンタの番号を指定します。 たとえば,2 つ目のライン・プリンタのスプール・ディレクトリの省略時の名前は,/usr/spool/lpd2 になります。

そのプリンタが他のシステムまたは他のネットワークに接続されていても,/etc/printcap ファイル中の各プリンタ・エントリには,スプール・ディレクトリを指定します。 スプール・ディレクトリは,sd シンボルを使って指定します。 たとえば,次のように指定します。

sd=/usr/spool/local_printer1
sd=/usr/spool/network_printer1
sd=/usr/spool/remote_printer1

注意

/usr/spool/lpd または /var/spool/lpd には,サブディレクトリを置かないでください。 これは親 lpd プロセスで使用される CDSL であり,クラスタ内の各ノードに固有のものなので,名前を変えたり,削除したりしないでください。 詳細は,第 6 章の CDSL についての項を参照してください。

8.5.2.6.1    スプール・ディレクトリのファイル

プリントのためにファイルがキューにいれられると,スプール・ディレクトリには,lpd デーモンによって status ファイルと lock ファイルが作成されます。 /var/spool/lpd/lpd.lock ファイルには,親 lpd プロセスのプロセス ID が格納されています。 この親プロセスは,ローカル /dev/printer ソケットおよびネットワーク・ソケット 515 上でプリント・ジョブ要求を待ちます。 実際にジョブをプリントするプロセスは,親プロセスから生成される子デーモンです。 ジョブをプリントするプロセスの ID は,スプール・ディレクトリの lock ファイル (たとえば /usr/spool/local_printer1/lock) 内に格納されます。

lock ファイルは,1 つのキュー内のジョブを処理する子プロセス (lpd デーモン) の生成を規制し,一時点に 1 つのキュー・デーモンだけが実行されるようにします。 lock ファイルには,現在実行しているデーモンのプロセス ID 番号と,現在処理しているジョブの制御ファイル名が格納されます。 status ファイルには,現在のプリンタ状態を示す行が格納されます。 ユーザがプリンタ状態を照会すると,この行が表示されます。 照会したプリンタの状態が使用不能の場合には,標準出力に no entries という状態メッセージが出力されます。 スプール・ディレクトリには,この他に,次に示す 2 つのファイルが一時的に作成されます。

.no_daemon

キューにエントリがあってもデーモンが実行されておらず,しかも過去 10 秒間にスプール・ディレクトリ内のファイルに削除または変更がなかった場合に,作成されます。

.seq

/usr/bin/lpr コマンドにより作成されるファイルで,0 から始まるジョブ番号を生成します。

lpd デーモンがプリント要求により起動すると,プリンタのスプール・ディレクトリ内で lock ファイルを探します。 lock ファイルが見つからない場合には,lpd デーモンは lock ファイルを作成して,そのファイルの連続した 2 行に,ID 番号と制御ファイル名を書き込みます。 次に,lpd デーモンはプリンタのスプール・ディレクトリで制御ファイルを探します。 制御ファイルは名前が cf で始まります。 制御ファイルは,ユーザがサブミットしたプリント・ファイル名を指定し,これらのファイル用のプリント命令が入っています。 制御ファイルの各行は,キー・キャラクタで開始します。 このキャラクタは,その行の残りについての処理内容を示すものです。 キー・キャラクタの詳細については lpd(8) を参照してください。

注意

ジョブ制御ファイル (cf で始まる) は最初,tf で始まる一時ファイルとして作成されます。 ジョブ生成プロセスが異常終了すると,一時制御ファイルが残ります。 この一時制御ファイルは削除してください。 .seq ファイル内のジョブ番号が,一時制御ファイル名で使用されている値と等しくなると,ジョブ生成に支障をきたすからです。

通常 df で始まるデータ・ファイルも,スプール・ディレクトリにあります。 データ・ファイルには,プリントされるジョブが入っています。 データ・ファイルはプリント・フィルタで変更される場合と変更されない場合があります。 プリント・フィルタは,/etc/printcap 内の if,または of (if がない場合) によって指定されます。

ファイルがプリントされると,lpd デーモンは,プリンタのスプール・キューから制御ファイルとデータ・ファイルを削除します。 そして,次に状態ファイルを更新し,スプール・キュー内の次のファイルをプリントする準備をします。

たとえば,milhaus というプリンタにジョブをサブミットした場合に,次のコマンドを実行すると,スプール・ディレクトリに格納されているファイルが表示されます。

# ls -l /usr/spool/local_printer1
-rw-rw----   1    root      75  Jan 17  09:57  cfA0220mothra
-rw-rw----   1    root      96  Jan 17  10:03  cfA143harald
-rw-rw----   1    root  199719  Jan 17  09:57  dfA0220mothra
-rw-rw----   1    root    9489  Jan 17  10:03  dfA143harald
-rw-r--r--   1    root      20  Jan 17  10:06  lock
-rw-rw-rw-   1  daemon     113  Jan 17  10:00  status

8.5.2.6.2    スプール・ディレクトリの作成

手動でプリンタを追加したい場合は mkdir コマンドで各プリンタに対するスプール・ディレクトリを作成してください。 スプール・ディレクトリの許可モードには 775 を,ディレクトリのグループと所有権モードには,daemon という名前を設定します。 たとえば,次のように設定します。

# cd /var/spool
# mkdir ./printers
# mkdir ./printers/lp1
# cd printers
# chmod 775 lp1
# chgrp daemon lp1
# chown daemon lp1
# ls -l lp1
drwxr-xr-x  2  daemon  daemon  24  Jan 12  1994  lp1

8.5.2.7    ボー・レート

ボー・レートは,直接接続のシリアル回線プリンタだけに適用されます。

ボー・レートは,データ・ソースとプリンタ間でデータを転送する最高速度です (たとえば 4800 または 9600 など)。 ご使用のプリンタの省略時のボー・レートはハードウェア・マニュアルに記載されています。 プリンタをインストールする際にボー・レートを再設定した場合は,/etc/printcap ファイルに設定するボー・レートも同じ値にする必要があります。

8.5.3    ライン・プリンタ・デーモン

プリンタは,/usr/lbin ディレクトリに存在するライン・プリンタ・デーモン lpd によって制御されます。 プリント処理を行うためには,lpd デーモンを実行しておく必要があります。 lpd デーモンには次に示すような多数の機能があります。

lpr コマンドでファイルのプリントを要求すると,スプール・ディレクトリにそのファイルがコピーされ,lpd デーモンが起動されます。 各ファイルは,要求がキューに入った順番で出力されます。 ファイルのコピーは,プリンタの準備ができるまでキューに保持されます。 lpd デーモンは,プリンタにそのジョブを送った後,スプール・キューから該当ファイルを削除します。

システムをインストールしてブートすると,通常,/sbin/init.d/lpd ユーティリティによって lpd デーモンが起動されます。 次のコマンドを使用して lpd デーモンを起動したり停止したりできます。

/sbin/init.d/lpd [-l] start

/sbin/init.d/lpd stop

-l オプションを指定すると,lpd デーモンは,ネットワークからの有効な要求のログを記録します。 このオプションはデバッグの際に便利です。

ライン・プリンタ・デーモンが実行されているかどうかを確認するには,次のように入力します。

# ps agx | grep /usr/lbin/lpd | grep -v grep

8.5.4    エラー・ロギング

lpd デーモンは,/var/adm/syslog.dated/<date>/lpr.log (または最新ログ・ファイルにシンボリック・リンクされている /var/adm/syslog.dated/current/lpr.log) にエラーのログを記録します。 ディレクトリ名 <date> は,ログが保存された日時を示す名前が付けられます。 ログ・ファイルのエントリ例を次に示します。

Apr 15 16:36:28 cymro lpd[1144]: ERROR -- lpr: cannot open printer description file
Apr 15 16:36:28 cymro lpd[1144]: ERROR -- exiting ...
Apr 15 16:36:46 cymro lpd[1130]: ERROR -- lpq: cannot open printer description file
Apr 15 16:36:46 cymro lpd[1130]: ERROR -- exiting ...
#

ログ・ファイルにエラーがないかどうかを定期的にチェックし,使用可能なディスク・スペースがなくならないようにログを削除 (または保管) します。 cron ユーティリティを使用すれば,定期的なクリーンアップを自動的に行わせることができます。 また,必要な優先度を /etc/syslog.conf ファイルに指定すれば,lpr.log に記録されるメッセージの重要度を制御することもできます。 詳細については, syslogd(8) を参照してください。

lf パラメータは,プリント・フィルタ・エラーのほとんどが報告されるログ・ファイルを指定します。 省略時のログ・ファイルは,/dev/console です。 複数のプリンタがシステムに接続されている場合は,各ログ・ファイルに一意の名前を付与します。 printconfig を使ってログ・ファイルが作成される場合は,パス名内の中間ディレクトリが必要に応じて作成されます。

lpd デーモンは,lf パラメータで指定されたエラー・ファイルではなく,エラー・ログ・ファイルにほとんどのプリンタ・エラーのログを取ります。 したがって,エラー・ログ・ファイルの指定は任意です。 プリンタのインストレーションに lprsetup ユーテリティを使用した場合,省略時のエラー・ログ・ファイルは /usr/adm/lpd/lperr になります。 エラー・ログ・ファイルを指定しないと,エラーのログは /dev/console に取られます。

エラー・ログ・ファイルは,次の例のように /etc/printcap ファイルにシンボル lf を使って指定します。

lf=/var/adm/lpd/lpderr

エラー・ログ・ファイルは,通常,ディレクトリ /var/adm に置かれます。 ローカル・プリンタでは,エラー・ログ・ファイルを共用できますが,/etc/printcap ファイルのそれぞれのプリンタ・エントリにそのエラー・ログ・ファイルを指定する必要があります。

8.5.5    プリント・フィルタとフィルタ・ディレクトリ

lpd デーモン用のフィルタは,プリントするデータをそのプリンタに適したフォーマットに変換します。 多くの場合,フィルタは,各プリンタに対応したものを指定します。 たとえば,LN03R プリンタでファイルをプリントするには,ln03rof フィルタを使用します。

入力フィルタと出力フィルタの両方を指定すると,入力フィルタは,プリンタに送るジョブ・データを処理し,出力フィルタは,lpd が生成するバナー・ページのデータを処理します。 多数のフィルタが入力または出力フィルタのいずれにも指定できますが,入力フィルタとするか出力フィルタとするかによってそれぞれ異なる動作をします。 これらのフィルタは,/etc/printcap ファイルで次のように指定します。

if=/usr/lbin/ln03rof
of=/usr/lbin/ln03rof

入力フィルタは,プリンタ課金の役割も果たします。 つまり,テキストのプリント (PostScript のプリントは除く) について,プリンタの使用量を記録します。 プリンタ課金の構成方法については,第 10 章 を参照してください。

1 つの入力フィルタだけを指定した場合,それがジョブ・データとバナー・ページ・データのフィルタとなり,プリンタ課金の役割も果たします。

1 つの出力フィルタだけを指定した場合,それがジョブ・データとバナー・ページ・データのフィルタとなりますが,プリンタ課金の役割は果たしません。

これらの動作を,次の表にまとめます。

フィルタ ジョブ・データ バナー・ページ・データ 課金
入力フィルタと出力フィルタ      
  入力フィルタ x   x
  出力フィルタ   x  
入力フィルタのみ x x x
出力フィルタのみ x x  

詳細は, lpd(8) を参照してください。

汎用プリント・フィルタと,HP の Advanced Server で使用されるプリント・フィルタの詳細は, lprsetup.dat(4) を参照してください。 これらのプリント・フィルタは,/usr/lbin/lprsetup ディレクトリにあります。 lprsetup.dat(4) のリストにないプリンタ,またはディレクトリで定義されていないプリンタのフィルタ情報は,プリンタのマニュアルを参照するかプリンタの製造元に問い合わせください。

注意

Tru64 UNIX でサポートされる他社製プリンタのフィルタは,インストレーション・ソフトウェアでインストールされるようになっています。 他社製プリンタのソフトウェアとそれが作成するキューは,プリンタの製造会社以外は変更しないことをお勧めします。

8.5.6    フラグ・ビット

フラグ・ビットは,シリアル・ライン (LAT および RS232) におけるホストからプリンタへのデータ転送に関する特性,また,可能な場合は,プリンタからホストへのデータ転送に関する特性を指定します。 プリンタからホストへ渡されるデータには,開始および停止の状態情報があります。 この情報は,プリンタの入力バッファが入力を受け入れ可能か,またはバッファに余裕がないかをホストに知らせます。

遅延は,次のグループの文字列を入力バッファへ伝送する速度を遅くするために使用する特定の時間です。 遅延により,復帰,改行,タブ,および改ページなどの動作を実行する時間がプリンタ機構に与えられます。

フラグ・ビットは,fc シンボルによってクリアされ,fs シンボルで設定されます。 すべてのプリンタがすべてのフラグ・ビットを使用するわけではありませんが,ビットは必ず設定またはクリアしなければなりません。 フラグ・ビットの詳細は,プリンタのマニュアルを参照してください。

フラグ・ビットは,16 ビット・ワードの 8 進数として指定されます。 8 進数値は,先頭に 0 (ゼロ) を付けて8進法の値であることを示します。 すべてのビットをクリアするには,fc シンボルに値 0177777 を指定します。 すべてのビットを設定するには,fs シンボルに値 0177777 を指定します。 すべてのビットは,fs シンボルを呼び出す前に fc#0177777 を使用してクリアしなければなりません。 どのグループのビットの設定またはクリアにも,ビットを組み合わせてフラグ・ビットの数を表す 8 進数の合計値を指定します。

次の例は,フラグ・ビットの指定例です。

fc#0177777
fs#0141

この例では,fc#0177777 ですべてのビットがクリアされ,fs シンボルには 0141 が設定されて,OPOSTONLRET,および OFILL フラグ・ビットが設定されます。

それぞれのフラグ・ビット名とその 8 進数値,およびその説明を,表 8-5 にリストします。

表 8-5:  フラグ・ビット

フラグ 8 進数値 説明
OPOST 0000001 出力処理を可能にする。
ONLCR 0000002 NL を CR-NL へマップする。
OLCUC 0000004 小文字を大文字へマップする。
OCRNL 0000010 CR を NL へマップする。
ONOCR 0000020 カラム 0 では CR を出力しない。
ONLRET 0000040 NL が CR 機能を実行する。
OFILL 0000100 遅延のため充填文字を使用する。
OFDEL 0000200 充填文字は DEL。 省略時は NUL。
NLDLY 0001400 復帰改行遅延。
NL0 0000000  
NL1 0000400  
NL2 0001000  
NL3 0001400  
TABDLY 0006000 水平タブ遅延。
TAB0 0000000  
TAB1 0002000  
TAB2 0004000  
TAB4 0006000  
CRDLY 0030000 キャリッジ・リターン遅延。
CR0 0000000  
CR1 0010000  
CR2 0020000  
CR3 0030000  
FFDLY 0040000 改ページ遅延。
FF0 0000000  
FF1 0040000  
BSDLY 0100000 バックスペース遅延。
BS0 0000000  
BS1 0100000  
OXTABS 1000000 タブをスペースに展開する。

詳細は, tty(7) を参照してください。

8.5.7    モード・ビット

モード・ビットは特定の端末の機能に関する詳細を指定し,通常,プリンタ動作には影響しません。 モード・ビットは,xc シンボルでクリアされ,xs シンボルで設定されます。 プリンタによってはモード・ビットをすべて使用するものもあるため,必ず設定またはクリアしなければなりません。 モード・ビットは 16 ビットワード形式の 8 進数で指定されます。 xs シンボルを指定する前に,xc#0177777 を指定してすべてのビットをクリアしなければなりません。

詳細は, tty(7) を参照してください。

次の例は,モード・ビットの指定例です。

xc#0177777
xs#044000

この例では,xc#0177777 ですべてのビットがクリアされ,xs シンボルには 044000 が設定されて,ECHO および ECHOCTL モード・ビットが設定されます。

表 8-6 に,それぞれのモード・ビットの説明をリストします。

表 8-6:  モード・ビット

モード 8 進数値 説明
ECHOKE 0000001 行を消去することにより KILL をエコーする。
ECHOE 0000002 視覚的に文字を消去する。
ECHOK 0000004 KILL の後で NL をエコーする。
ECHO 0000010 エコーを可能にする。
ECHONL 0000020 ECHO がオフの場合にも NL をエコーする。
ECHOPRT 0000040 \ と / の間に,消去された文字をエコーする。
ECHOCTL 0000100 制御文字を ^ (char) としてエコーする。
ISIG 0000200 特殊文字 INTR,QUIT および SUSP を使用可能にする。
ICANON 0000400 標準入力を可能にする。
ALTWERASE 0001000 代替消去アルゴリズムを使用する。
IEXTEN 0002000 FLUSHO および LNEXT を使用可能にする。
XCASE 0040000 標準大文字/小文字表現。

8.5.8    リモート・プリンタの特性

リモート・システムからユーザがプリンタにアクセスする場合,ローカル・システムとリモート・システムの両方の /etc/printcap ファイルにプリンタ情報が必要です。 プリンタが接続されているローカル・システムでは,/etc/hosts.lpd または /etc/hosts.equiv によりプリンタのセキュリティが制御されます。

オプションで rs シンボルを指定できます。 このシンボルは,その他のプリンタ・シンボルと同様,論理値として true (yes) または false (no) のどちらかをとります。 true を指定した場合,リモート・ユーザはプリンタが接続されているローカル・システムにアカウントが必要になります。 false を指定した場合,/etc/hosts ファイルにローカル・プリンタがリストされていれば,リモート・ユーザはそのローカル・プリンタにアクセスできます。 /etc/printcap ファイルの例については,8.5.1 項 を参照してください。

リモート・システムでは,rmrplp,および sd のシンボルを指定しなければなりません。

rm シンボルには,次のようにプリンタが接続されているシステムの名前を指定します。

rm=deccom

rp シンボルには,次のように,リモート・システム上のプリンタ・スプール名を指定します。

rp=ln03lab

リモート・プリンタには,次のように値なしで lp シンボルを指定します。

lp=

sd シンボルには,次のように,スプール・ディレクトリを指定します。

sd=/usr/spool/lpd
 

8.6    プリント・フィルタ

Tru64 UNIX には,汎用およびローカル言語用のプリント・フィルタがあります。

8.6.1    pcfof プリント・フィルタ

pcfof プリント・フィルタは,プリンタ制御ファイル (PCF) を使用することにより,さまざまなプリンタに対処できるように設計されています。 PCF ファイルには,用紙トレイ選択,両面,印刷の向きなど,プリンタ固有の機能の設定および選択を行うためのプリンタ制御文字列が含まれています。 フィルタは,テキスト,ANSI,PCL,および自動選択多言語 PostScript プリンタで動作するように設計されていますが,PostScript 専用プリンタでは動作しません。

PCF ファイルはテキスト・ファイルです。 任意のテキスト・エディタを使用することにより,既存のファイルを変更してプリント動作をカスタマイズしたり,サポートされていないプリンタ用に新しいファイルを作成したりすることができます。 Tru64 UNIX で提供されている PCF ファイルは,アップデート・インストレーション中に置き換えられるため,カスタマイズしたファイルはバックアップに保存しておくようにしてください。 新しい PCF ファイルまたは変更した PCF ファイルに対してファイル名の接頭語を使用すると,ファイル名の競合を避けることができます。 たとえば,カスタマイズを行う前に,次のような名前でファイルをコピーします。

# cp ln32.pcf my_ln32.pcf

プリンタ・フィルタは /usr/lbin にあり,PCF プリンタに固有のファイルは /usr/lbin/pcf にあります。 template.pcf ファイルは,PCF ファイル形式についてのドキュメントです。

8.6.2    wwpsof プリント・フィルタ

wwpsof フィルタは,プリンタ・カスタマイズ・ファイル (PCF) に定義されている設定を使って,ローカル言語文字のフォント・グリフを探し,PostScript ファイル内のそのフォント・データを埋め込みます。 このフィルタは,ローカル・システムに PostScript のアウトライン・フォントがインストールされていればそれを使用し,そうでなければ,フォント・サーバからビットマップ・フォントを持ってきて使用します。 この機能は,国際化文字セットを含むプリント・ジョブをサポートしているので,このようなジョブを特別なプリンタに送る必要がありません。 オプションのリストについては, wwpsof(8) を参照してください。 ローカル言語プリンタのサポートについては,『国際化ソフトウェア・プログラミング・ガイド』 および i18n_printing(5) を参照してください。

8.6.3    フィルタ使用における既知の制限事項

プリント・フィルタを使用する際の制限事項は,現在次のとおりです。

8.7    プリンタのテストとトラブシューティング

この節では,プリンタに関する障害の診断のためのチェックリストを示します。 ほとんどのプリンタ・エラーは,/var/adm/syslog.dated/current/lpr.log ファイルにログが取られます。 しかし,/usr/adm/lperr ファイルにログされるものもあります。

printconfig のウィンドウの「プリンタ設定: host」には,構成の終了後に直ちにプリンタへテスト出力を行うオプションがあります。 出力がプリントされない場合は,この節で説明するトラブルシューティングの手順に従ってください。

lpr コマンドを使ってテキストを数ページ出力して,プリンタをテストすることもできます。 PostScript や両面プリントなど,このプリンタでいつも使用する機能もテストする必要があります。 詳細は, lpr(1) を参照してください。

lptest コマンドは,標準出力にリプル・テスト・パターンを出力します。 テストパターンの出力先をプリンタに設定することもできます。 各カラムに 96 個のプリント可能な ASCII 文字をすべて含むパターンが 96 行プリントされます。 それぞれの文字は,次の行へ移るたびに右へ 1 文字ずれていきます。 このテストは,各ページの行数と省略時のページ・パラメータを確認するのに便利です。 リプル・テスト・パターンを使用して,プリンタ,ターミナル,およびデバッグ中の端末ポートのテストを行うこともできます。

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

/usr/sbin/lptest [length[count]]

簡単なランダム・データが必要な場合は,lptest を使用して次のように出力します。

# /usr/sbin/lptest |lpr -P3r44

詳細については, lptest(8) を参照してください。

既存のプリンタで問題が発生したときや,システムにプリンタを追加したときは,次のようにして問題を診断します。

ネットワーク接続のプリンタとリモート・プリンタに対しては,さらに,システムが適切に接続されしかもプリント・ジョブを転送する権限が与えられていることを確認する必要があります。 ネットワークのトラブルシューティングについては,『ネットワーク管理ガイド:接続編』を参照してください。