Solaris のシステム管理 (第 2 巻)

第 5 章 文字セット、フィルタ、フォーム、フォントの管理手順

この章では、文字セット、印刷フィルタ、フォーム、およびフォントについての基本事項と、設定して管理する手順について説明します

この章で説明する手順は次のとおりです。

印刷については、第 1 章「印刷管理の概要」を参照してください。

文字セットの管理

プリンタでテキストを各種フォント書体で印刷する方法は、それぞれ異なります。たとえば、PostScript プリンタは、テキストをグラフィックスとして処理します。これらのプリンタは、複数のフォントを使用してテキストを生成し、ページ上の任意の位置、サイズ、または方向にテキストを配置できます。その他の形式のプリンタは、印字ホイール、フォントカートリッジ、プログラムされた選択可能な文字セットのいずれかを使用するため、フォントの種類と大きさには制限があります。通常、1 つのプリンタ形式には 1 つの印刷方法が適用されます。

必要に応じてプリンタにフォントを装着する必要があるという点で、LP 印刷サービスでは印字ホイールとフォントカートリッジを同様に扱うことができます。ホイールまたはカートリッジを物理的に装着する必要がある文字セットを、「プリンタに装着する文字セット」といいます。物理的に装着する必要がなく、プリンタにあらかじめプログラムされていて、印刷要求によって選択可能な文字セットを、「プリンタに組み込みの文字セット」といいます。

PostScript 以外のプリンタを設定する場合は、ユーザーが利用可能な、印字ホイールまたは選択可能な文字セットを LP 印刷サービスに指定する必要があります。ユーザーが印刷要求を出すときに、lp -S コマンドを使用すると、ジョブの印刷に使用する印字ホイールまたは選択可能な文字セットを指定できます。ユーザーは、すでに定義してある名前でフォントを参照するだけなので、実際に使用される文字セットの種類を知る必要はありません。たとえば、印刷ホイールを gothic と定義したとします。この gothic 印字ホイールを要求するには、lp -S gothic と入力します。

選択可能な文字セット

プリンタによってサポートされる選択可能文字セットは、そのプリンタの terminfo エントリに表示されています。たとえば、ln03 プリンタのエントリは、/usr/share/lib/terminfo/l/ln03 です。tput コマンドを使用して、terminfo データベースの任意のプリンタタイプの選択可能文字セットの名前を選択できます。tput コマンドの構文は次のとおりです。

tput -T printer-type csn

csn オプションは文字セット番号 (character set number) の省略形です。番号は、プリンタが初期化された後に常に設定されるデフォルトの文字セット番号である 0 で始まります。その他の文字セット名を表示するには、-0 の代わりに -1-2-3 などを使用してコマンドを繰り返してください。選択可能文字セットごとに、terminfo 名 (たとえば usasciienglishfinnish など) が返されます。

通常、terminfo 文字セット名は、プリンタのマニュアルで使用されている文字セット名となるべく一致させてください。同じ文字セット名を使用しないメーカーもあるため、terminfo 名はプリンタタイプごとに異なる場合があります。

LP 印刷サービスを使用して選択可能文字セットを登録する必要はありません。ただし、より意味のある名前または別名を与えることができます。


注 -

プリンタで使用できる選択可能文字セットを指定しない場合、LP 印刷サービスは、プリンタが任意の文字セット名 (cs0、cs1、cs2 など) またはプリンタが認識する terminfo 名を受け付けることができると仮定します。


lpstat -p -l コマンドを使用して、印刷サーバーに接続されているプリンタごとに、定義されている選択可能文字セット名を表示できます。


注 -

PostScript のフォントは、terminfo データベースのエントリではなく PostScript フィルタによって制御されるため、lpstat -p -l コマンドを使用しても PostScript プリンタ用の文字セットは表示されません。PostScript フォントの管理方法については、「フォントの管理」を参照してください。


プリンタに装着する文字セット

別の文字セットを使用するもう一つの方法は、物理的にプリンタに装着できる取り外し可能な印字ホイールまたはフォントカートリッジを使用することです。

プリンタに装着する文字セットを管理するには、LP 印刷サービスに、使用したい印字ホイール名と、プリンタが異なる印字ホイールを必要とするときの警告方法を指定します。次に、ユーザーが lp -S コマンドを使用して特定の文字セットを要求すると、スケジューラは印字ホイールを装着するよう警告を送信し、印刷要求が印刷待ち行列に入れられます。正しい印字ホイールを装着して、印字ホイールを装着したことを LP 印刷サービスに指示すると、ジョブが印刷されます。詳細は、「印字ホイールまたはフォントカートリッジを取り外すまたは装着する方法」を参照してください。

1 台のプリンタに対して複数の印字ホイールやカートリッジを指定しなければ、LP 印刷サービスは、プリンタが 1 つの固定印字ホイールまたはカートリッジしか持っておらず、ユーザーはプリンタを使用する際に特殊な印字ホイールやカートリッジを指定できないと見なします。

選択可能文字セットとは違って、印字ホイールまたはカートリッジ用に選択する名前は、terminfo データベースのエントリとは関係がありません。印字ホイール名またはカートリッジ名は、ユーザーが LP 印刷サービスと通信を行うためにだけ使用されます。

ただし、印字ホイールまたはカートリッジ用に選択する名前は、ユーザーがわかりやすいものにしてください。その名前がフォントの書体を表すようにしてください。さらに、その名前は、同じ種類の印字ホイールやカートリッジ、または選択可能文字セットを持つプリンタの場合には、同じ名前にします。それによって、ユーザーは、どのプリンタ、印字ホイール、カートリッジ、選択可能文字セットを使用するかに関係なく、フォントの書体 (文字セット) を指定できます。

システム管理者とプリンタユーザーは、印字ホイールまたはカートリッジに同じ名前を使用してください。そうしないと、ユーザーが指定する文字セットと管理者が装着するものが異なる可能性があります。

印字ホイールの確認

印字ホイールを確認する手順は、フォームを確認する手順と似ています。一部のプリンタは (通常、文字ベースの印字を行うプリンタ)、特定のフォントや文字セットを提供する印字ホイールや印字カートリッジのような、取り外し可能な印字ヘッドを持っています。ユーザーは名前の付いた文字セットを要求できます。その文字セットがない場合、LP 印刷サービスは要求元または管理者に通知します。印刷ジョブは、印字ホイールが変更されるまで、印刷待ち行列に格納されます。

印字ホイールまたはカートリッジの装着の警告

LP 印刷サービスから出す警告を指定するのと同じ方法で、印字ホイールまたはカートリッジを装着する際に出す警告を指定します。警告の概要については、「障害の通知の設定」を参照してください。

印字ホイールとフォントカートリッジを定義する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. プリンタで使用できる印字ホイールまたはフォントカートリッジを定義します。

    print-server# lpadmin -p printer-name -S hard-charset1[,hard-charset2...]
    
    -p printer-name

    プリンタで使用できる印字ホイールまたはフォントカートリッジを定義する 

    -s hard-charset
    

    印字ホイールまたはフォントカートリッジを定義するプリンタ名。 

    印字ホイールまたはフォントカートリッジのプリンタに装着する文字セット名。このコマンドで複数のプリンタに装着する文字セット名を指定できる。文字セット名を区切るには空白またはコンマを使用する。空白を使用する場合は、文字セット名のリストを引用符で囲む。 

    ユーザーにとって意味のある名前を定義して、ユーザーに通知する 

    印字ホイールまたはフォントカートリッジの定義が、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。

  3. 印刷サーバーの印刷クライアントであるシステムにスーパーユーザーまたは lp としてログインします。

  4. 印刷クライアントに対して同じ印字ホイールまたはフォントカートリッジを定義します。

    print-client# lpadmin -p printer-name -S hard-charset1[,hard-charset2...]
    

    このコマンドの変数は、手順 2 と同じです。

    印字ホイールまたはフォントカートリッジの定義が、印刷クライアントの /etc/lp/printers/printer-name/configuration ファイルに追加されます。

  5. 印字ホイールまたはフォントカートリッジを使用する必要がある印刷クライアントごとに、手順 3手順 4 を繰り返します。

  6. 印刷サーバーと印刷クライアント上で、次のコマンド出力の「Character sets」見出しの後にある情報を確認します。

    $ lpstat -p printer-name -l
    

例 - 印字ホイールを定義する

次の例は、印刷クライアント asteroid のプリンタ luna 上で印字ホイール pica を定義するコマンドを示しています。

asteroid# lpadmin -p luna -S pica

印字ホイールまたはフォントカートリッジを取り外すまたは装着する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpadmin コマンドを使用して、プリンタ内の印字ホイールまたはフォントカートリッジを取り外します。

    # lpadmin -p printer-name -M -S none
    
    -p printer-name
    

    印字ホイールまたはフォントカートリッジを取り外すプリンタ名 

    -M -S none

    現在の印字ホイールまたはフォントカートリッジを取り外すように指定する 

    現在の印字ホイールまたはフォントカートリッジが、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルから削除されます。

  3. 印字ホイールまたはフォントカートリッジをプリンタから削除します。

  4. プリンタに新しい印字ホイールまたはフォントカートリッジを入れます。

  5. lpadmin コマンドを使用して、新しい印字ホイールまたはフォントカートリッジを装着します。

    # lpadmin -p printer-name -M -S hard-charset
    
    -p printer-name
    

    印字ホイールまたはフォントカートリッジを装着するプリンタ名 

    -M -S hard-charset
    

    装着したい印字ホイールまたはフォントカートリッジのプリンタに装着する文字セット名 

    印字ホイールまたはフォントカートリッジが、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。装着された印字ホイールまたはフォントカートリッジは、取り外されるか、新しいものが装着されるまで使用可能です。

  6. 次のコマンドの出力の中で、「Print wheels」または「Character set」の見だしの下にある情報をチェックします。印刷ホイール名または文字セット名と注意「mounted」が表示されます。

    $ lpstat -p printer-name -l
    

例 - 印字ホイールを取り外すまたは装着する

次の例は、プリンタ luna から現在の印字ホイールを取り外し、印字ホイール pica を装着するコマンドを示します。

# lpadmin -p luna -M -S none
# lpadmin -p luna -M -S pica

印字ホイールまたはフォントカートリッジの装着を促す警告を設定する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpadmin(1M) コマンドを使用して、印字ホイールまたはフォントカートリッジの装着を促す警告を設定します。

    # lpadmin -S hard-charset -A alert [-Q requests] [-W minutes]
    -S hard-charset
    

    警告を設定したい印字ホイールまたはフォントカートリッジのプリンタに装着する文字セット名 

    -A alert
    

    印字ホイールまたはフォントカートリッジが要求されたときに出される警告の種類を指定する。alert に有効な値については、表 4-2 を参照。有効な値は mailwritequiet など。

    mail または write を指定すると、あらかじめ定義された警告メッセージが表示される。この警告メッセージは、指定した印字ホイールまたはフォントカートリッジの装着を促すもので、それを使用するように設定されている 1 つ以上のプリンタ名が含まれる

    -Q requests
    

    警告が出される前に、印字ホイールまたはフォントカートリッジが、待ち行列に入っていなければならない印刷要求の数を指定する。このオプションを指定しなければ、待ち行列に印刷要求が 1 つ入っただけで警告が出される 

    -W minutes
    

    警告が出される間隔 (分単位) を指定する。このオプションを指定しなければ、警告は一度だけ送られる 

    警告は、印刷サーバーの /etc/lp/pwheels/charset-name/alert.sh ファイルに追加されます。

  3. 次のコマンドの出力をチェックして、印字ホイールまたはフォントカートリッジの装着を促す警告が追加されているかどうかを確認します。

    # lpadmin -S hard-charset -A list
    

    あるいは、警告を出すために印刷要求に低い番号を設定した場合、最小限の要求を満たすために十分な印刷要求を出し、印字ホイールまたはフォントカートリッジの装着を促す警告を受け取ることを確認します。

例 - 印字ホイールまたはフォントカートリッジの装着を促す警告を設定する

次の例は、印刷待ち行列に elite 印字ホイールに対する 10 の印刷要求があるときに、elite に関して 5 分間隔で電子メールで警告が送られるように設定するコマンドを示しています。

# lpadmin -S elite -A mail -Q 10 -W 5

次の例は、印刷待ち行列に finnish フォントカートリッジに対する 5 つの印刷要求があるときに、finnish に関して 1 分間隔で電子メールで警告が送られるように設定するコマンドを示しています。

# lpadmin -S finnish -A mail -Q 5 -W 1

次の例は、印刷待ち行列に elite 印字ホイールに対する 5 つの印刷要があるときに、elite に関して 10 分間隔でコンソールウィンドウに警告が送られるように設定するコマンドを示しています。

# lpadmin -S elite -A write -Q 5 -W 10

次の例は、elite 印字ホイールに警告が送られないように設定するコマンドを示します。

# lpadmin -S elite -A none

選択可能文字セットの別名を設定する方法


注 -

選択可能文字セットの terminfo(4) 名が正しい場合は、この手順を実行する必要はありません。terminfo データベースの使用方法については、「サポートされていないプリンタの terminfo エントリを追加する」を参照してください。


  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. tput(1) コマンドを使用して、指定したプリンタタイプの選択可能文字セット名を表示します。

    # tput -T printer-type csn
    
    -T printer-type
    

    terminfo データベースに入っているプリンタタイプ。terminfo データベースのエントリについては、「プリンタタイプ」を参照

    n
    

    指定したプリンタタイプの選択可能文字セットを表す番号 (0、1、2、3、4、5 など)。プロンプト記号に続いて選択可能文字セット名が表示される。たとえば、cs1 と指定すると、english# と表示される

  3. 選択可能文字セットの別名を設定します。

    # lpadmin -p printer-name -S select-charset1=alias1[,select-charset2=alias2...]
    
    -p printer-name
    

    選択可能文字セットの別名を設定するプリンタ名 

    -S select-charset
    

    別名を設定する選択可能文字セット名。この名前は、手順 2 で検索できる

    alias
    

    指定した選択可能文字セットの別名。選択可能文字セット名の他に、この別名を使用できる。 

    このコマンドで複数の別名を設定できる。別名を区切るには空白またはコンマを使用する。空白を使用する場合は、別名のリストを引用符で囲む 

    別名は、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。

  4. 印刷サーバーの印刷クライアントであるシステムにスーパーユーザーまたは lp としてログインします。

  5. 選択可能文字セットの別名を設定します。

    # lpadmin -p printer-name -S select-charset1=alias1[,select-charset2=alias2...]
    

    このコマンドの変数は、手順 3 と同じです。

    別名は印刷クライアントの /etc/lp/printers/printer-name/configuration ファイルに追加されます。

  6. 別名を使用する必要がある印刷クライアントごとに、手順 4手順 5 を繰り返します。

  7. 印刷サーバーと印刷クライアント上で、次のコマンドの出力の中に選択可能文字セットの別名のリストがあることを確認します。

    $ lpstat -p printer-name -l
    

    または、選択可能文字セットに別名を使用する印刷要求を出して、出力をチェックします。

例 - 選択可能文字セットの別名を設定する

次の例は、選択可能文字セット名を表示し、ln03 プリンタタイプのプリンタ luna 上の usascii 選択可能文字セットの別名として text を指定するコマンドを示しています。

# tput -T ln03 cs0
usascii# tput -T ln03 cs1
english# tput -T ln03 csn2
finnish# tput -T ln03 csn3
japanese# tput -T ln03 cs4
norwegian#
# lpadmin -p luna -S usascii=text

印刷フィルタの管理

「印刷フィルタ」とは、ファイルの内容形式を出力先プリンタが受け付けられる内容形式に変換するプログラムのことです。印刷サービスはフィルタを使用して、次の機能を提供します。

すべての印刷フィルタが上記のすべての機能を実行できるわけではありません。各機能はプリンタに固有なので、別々に実装できます。

LP 印刷サービスは、表 5-1 に示す PostScript フィルタを提供します。これらのフィルタプログラムは、/usr/lib/lp/postscript ディレクトリに入っています。通常、PostScript 印刷を行う場合は、印刷サーバーの設定時にフィルタプログラムをインストールする以外に何も行う必要はありません。Admintool が提供されるフィルタを自動的に使用可能にします。ただし、他のプリンタを管理する場合は、それらのプリンタの印刷フィルタを管理する必要がある場合があります。

印刷フィルタの作成

新しい印刷フィルタを作成するには、印刷フィルタプログラムを書き、印刷フィルタの定義を作成しなければなりません。フィルタには、入力形式、出力形式、フィルタ内でコマンド行引数を処理するための言語を提供する複雑なオプションが含まれます。説明と手順については、「新しい印刷フィルタの作成」を参照してください。

印刷フィルタの追加、変更、削除、および復元

印刷フィルタは、印刷サーバーだけで追加、変更、または削除できます。

lpfilter(1M) コマンドを使用して、利用できるフィルタのリストを管理します。フィルタに関するシステム情報は、/etc/lp/filter.table ファイルに格納されます。lpfilter コマンドは、テーブルに書き出すフィルタに関する情報を、フィルタ記述子ファイルから取得します。提供されているフィルタ記述子ファイル (PostScript のみ) は、/etc/lp/fd ディレクトリに入っています。実際のフィルタプログラムは、/usr/lib/lp の下にあります。

LP 印刷サービスでは、定義できる印刷フィルタの数に制限はありません。使用しないフィルタを削除して LP 印刷サービスによる処理を減らすことができます。(その場合は、LP はすべてのフィルタを検査して特定の印刷要求に使用するフィルタを 1 つ見つけます。) 確信が持てない場合は、フィルタを削除しないでください。

フィルタを追加、変更、または削除すると、LP 印刷サービスによって提供されている元のフィルタの一部を上書きしたり、削除したりしてしまう可能性があります。必要に応じて元のフィルタを復元し、追加したフィルタを削除できます。

SunOS 5.7 システムソフトウェアには、PostScript フィルタのデフォルトセットが組み込まれています。デフォルトセットは、Admintool によって印刷サーバーに自動的に追加されます。SunOS 4.1 で使用されていた TranScript フィルタは、SunOS 5.7 にも相当するものがある場合とない場合があります。表 5-1 は、デフォルトの PostScript フィルタと、該当する TranScript フィルタが存在する場合はそのフィルタ名を示しています。

表 5-1 デフォルトの PostScript フィルタ

フィルタ 

動作 

相当する TranScript 

download

ダウンロードフォント 

 

dpost

ditroff から PostScript へ

psdit

postdaisy

daisy から PostScript へ

 

postdmd

dmd から PostScript へ

 

postio

PostScript プリンタへのシリアルインタフェース 

pscomm

postior

プリンタとの通信 

 

postmd

マトリックス型グレースケールから PostScript へ 

 

postplot

plot から PostScript へ

psplot

postprint

simple から PostScript へ

enscript

postreverse

ページの反転または選択 

psrev

posttek

TEK4014 から PostScript へ 

ps4014

SunOS 5.7 には、次のフィルタは組み込まれていません。

Enscript の代わりに postreversepostprintpostiodpost の各フィルタが組み込まれています。

Admintool は、印刷サーバーにデフォルトの PostScript フィルタを追加します。これらのフィルタでは処理できない印刷ニーズがある場合は、カスタム印刷フィルタの作成方法については、「新しい印刷フィルタを作成する方法」を参照してください。

印刷フィルタを追加する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpfilter コマンドを使用し、印刷フィルタの定義に基づく印刷フィルタを追加します。

    # lpfilter -f filter-name -F filter-def
    
    -f filter-name

    印刷フィルタ用に選択する名前 

    -F filter-def

    印刷フィルタの定義名 

    印刷フィルタは、印刷サーバーの /etc/lp/filter.table ファイルに追加されます。

  3. 次のコマンドの出力の中の印刷フィルタについての情報をチェックして、印刷フィルタが追加されているか確認します。

    # lpfilter -f filter-name -l
    

例 - 印刷フィルタを追加する

次の例は、daisytroff.fd 印刷フィルタ定義を持つ daisytroff 印刷フィルタを追加するコマンドを示しています。

# lpfilter -f daisytroff -F /etc/lp/fd/daisytroff.fd

印刷フィルタを削除する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpfilter コマンドを使用して印刷フィルタを削除します。

    # lpfilter -f filter-name -x
    
    -f filter-name
    

    削除する印刷フィルタ名 

    -x

    指定したフィルタを削除する 

    印刷フィルタが、印刷サーバーの /etc/lp/filter.table ファイルから削除されます。

  3. 次のコマンドを使用して、フィルタが削除されていることを確認します。指定した名前のフィルタがないというエラーメッセージが表示されます。

    # lpfilter -f filter-name -l
    

例 - 印刷フィルタを削除する

次の例は、daisytroff 印刷フィルタを削除するコマンドを示しています。

# lpfilter -f daisytroff -x

印刷フィルタに関する情報を表示する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpfilter コマンドを使用して、印刷フィルタに関する情報を要求します。

    # lpfilter -f filter-name -l
    
    -f filter-name
    

    情報を表示したい印刷フィルタ。利用できるすべての印刷フィルタに関する情報を表示するには、filter-nameall を指定する

    -l

    指定したフィルタに関する情報を表示する 

    指定した 1 つ以上の印刷フィルタに関する情報が表示されます。

例 - 印刷フィルタに関する情報を表示する

次の例は、postdaisy 印刷フィルタに関する情報を要求するコマンドと、それに応答して表示される情報を示しています。

# lpfilter -f postdaisy -l
Input types: daisy
Output types: postscript
Printer types: any
Printers: any
Filter type: slow
Command: /usr/lib/lp/postscript/postdaisy
Options: PAGES * = -o*
Options: COPIES * = -c*
Options: MODES group = -n2
Options: MODES group¥=¥([2-9]¥) = -n¥1
Options: MODES portrait = -pp
Options: MODES landscape = -pl
Options: MODES x¥=¥(¥-*[¥.0-9]*¥) = -x¥1
Options: MODES y¥=¥(¥-*[¥.0-9]*¥) = -y¥1
Options: MODES magnify¥=¥([¥.0-9]*¥) = -m¥1

次の例は、daisytroff フィルタに関する情報をファイルにリダイレクトするコマンドを示しています (そのフィルタのフィルタ定義が作成されます)。これは、うっかりフィルタ定義を削除してしまった場合に便利です。

# lpfilter -f daisytroff -l > daisytroff.fd

次の例は、システムに追加されたすべての印刷フィルタを表示するコマンドと、それに応答して表示される情報を示しています。

# lpfilter -f all -l | grep Filter
(Filter "download")
Filter type: fast
(Filter "postio")
Filter type: fast
(Filter "postior")
Filter type: fast
(Filter "postreverse")
Filter type: slow

フォームの管理

「フォーム」は、あらかじめ決められている形式に従って情報が印刷されている用紙です。普通紙と違って、通常、フォームにはテキストまたはグラフィックスが前もって印刷されています。フォームの一般的な例としては、企業のレターヘッド、送り状、小切手、領収書、ラベルなどがあります。

「フォーム」という用語には 2 つの意味があります。一つは物理的な媒体 (用紙) という意味で、もう一つは LP 印刷サービスの形式を定義するソフトウェアという意味です。

LP 印刷サービスを使用すると、フォームの使用方法を制御できます。この節では、フォームの追加、変更、削除、取り付けを行う方法と、フォームへのアクセスを制御する方法について説明します。

フォームの追加、変更、または削除

フォームを追加するときには、LP 印刷サービスに指示を与えて、そのフォームを利用可能なフォームのリストに加えます。また、フォームの記述と定義に必要な情報を与えなければなりません。フォームを追加するときに、その定義を入力できますが、はじめに定義を作成しておいて、ファイルに保存しておくことをお勧めします。ファイルを編集すれば、フォーム定義を変更できます。フォーム定義の作成方法については、「新しいフォーム定義を作成する方法」を参照してください。


注 -

LP 印刷サービスでは、フォーム定義は提供されません。


フォームを変更するには、異なる定義を持つフォームを追加し直さなければなりません。

LP 印刷サービスでは、定義できるフォームの数に制限はありません。ただし、不要なフォームは削除してください。不要なフォームがあると、印刷サービスに余計な負担をかける可能性があります。

フォームの取り付け

フォームを印刷するには、プリンタに紙を装着し、コマンドを使用してフォームを「取り付け」、これによって、プリンタに送られる印刷要求がこのフォーム定義を使用して印刷されることを LP 印刷サービスに通知します。複数のフォームを使用する場合など、1 台のプリンタで異なる種類の印刷を行う場合には、次の作業を実行します。

フォームを取り付けるときには、正しく揃っているかどうかを確認してください。揃え方がフォームに対して定義されている場合は、揃え方が正しくなるようにプリンタを調整し終わるまで、フォームを取り付けた後でパターン印刷を繰り返すように要求できます。

プリンタに取り付けられているフォームの使用を変更または中止したい場合は、フォームを取り外して LP 印刷サービスに通知しなければなりません。

フォームの確認

LP 印刷サービスにより、各プリンタにどのフォームが装着されているかを確認できます。また、フォームに印刷するときに必要な記述がなければ、LP 印刷サービスが通知します。フォームの記述を作成したり、各プリンタにフォームを装着したり取り外したりするのはシステム管理者の責任です。この作業はプリンタの設定時か、LP 印刷サービスからの警告時に行います。

ユーザーは印刷ジョブを印刷したいフォームを指定します。管理者は特定のフォームを装着して、フォームが使用できる状態にあり、どのプリンタに装着されているかを LP 印刷サービスに伝えます。ユーザーは特定のフォームを指定することによって印刷要求を出すことができます。LP 印刷サービスが要求を受け取ると、フォームの装着要求を警告メッセージとして管理者に送信します。

フォームの取り付けに関する警告の定義

LP 印刷サービスから他の警告を要求するのと同じ方法で、フォームの取り付けに関する警告を要求します。警告の概要については、「障害の通知の設定」を参照してください。

フォームのチェック

LP 印刷サービスに対してフォームを定義し終わったら、チェックしたい情報に応じて 2 つのコマンドのどちらかでフォームの定義をチェックできます。

既存のフォーム名がわからない場合は、/etc/lp/forms ディレクトリの内容の一覧を表示して調べることができます。

フォームへのアクセスの制限

どのプリンタやユーザーが、ネットワーク上で利用可能な一部またはすべてのフォームを使用できるかを制御できます。たとえば、経理部に属するユーザーだけが小切手のフォームを印刷できるようにしたい場合があります。また、特定のプリンタだけで利用できる小切手のフォームが必要な場合もあります。

フォームへのユーザーアクセスを制限するには、「フォームへのユーザーアクセスを制限する方法」、フォームへのプリンタアクセスを制限するには、「フォームへのプリンタアクセスを制限する方法」を参照してください。

フォームを追加する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpforms コマンドを使用し、フォーム定義に基づくフォームを追加します。

    # lpforms -f form-name -F /etc/lp/forms/form
    
    -f form-name

    フォーム用に選択した名前 

    -F /etc/lp/forms/form

    フォーム定義名 

    フォームは、印刷サーバーの /etc/lp/forms/form-name/describe ファイルに追加されます。

  3. 次のコマンドの出力に、フォームについての情報があるかをチェックして、フォームが追加されているか確認します。

    # lpforms -f form-name -l
    

例 - フォームを追加する

次の例は、medical.fmd フォーム定義を使用する medical フォームを追加するコマンドを示します。

# lpforms -f medical -F /etc/lp/forms/medical.fmd

注 -

フォームを使用する前に、そのフォームへのアクセスを 1 つ以上のプリンタに与えておかなければなりません。「フォームへのプリンタアクセスを制限する方法」を参照してください。


フォームを削除する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpforms コマンドを使用してフォームを削除します。

    # lpforms -f form-name -x
    
    -f form-name
    

    削除するフォーム名 

    -x

    指定したフォームを削除する 

    フォームが /etc/lp/forms/form-name ファイルから削除されます。

  3. 次のコマンドを使用して、フォームが削除されたか確認します。指定したフォーム名がないことを示すエラーメッセージが表示されます。

    # lpforms -f form-name -l
    

例 - フォームを削除する

次の例は、medical フォームを削除するコマンドを示しています。

# lpforms -f medical -x

フォームを取り外し、装着する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. reject コマンドを使用して、現在のフォームを取り外そうとしているプリンタ上で印刷要求を停止します。

    # reject printer-name
    

    printer-name

    フォームを取り外すプリンタ名 

    新しい印刷要求 (フォームを必要としない場合もあります) は、そのプリンタの待ち行列に入れられなくなります。

  3. lpadmin コマンドを使用して、現在のフォームを取り外します。

    # lpadmin -p printer-name -M -f none
    

    このコマンドの変数 printer-name は、手順 2 と同じです。

    現在のフォームは、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルから削除されます。

  4. プリンタからフォーム用紙を取り外します。

  5. 次の印刷要求のためにフォーム用紙を装着します。

  6. lpadmin コマンドを使用してフォームを装着します。

    # lpadmin -p printer-name -M -f form-name[-a -o filebreak]
    -p printer-name
    

    フォームを装着するプリンタ名 

    -M -f form-name
    

    装着するフォーム名 

    -a -o filebreak

    省略可能。フォームに位置揃えパターンが定義されている場合は、そのコピーを印刷できるようにする 

    指定したフォームは、印刷サーバーの /etc/lp/printers/printer-name/configuration ファイルに追加されます。

  7. プリンタ上で印刷要求の受け付けを開始します。

    # accept printer-name
    

    これで、プリンタは新しく装着したフォームで印刷する準備ができました。

  8. 次のコマンド出力の「Form mounted」見だしの下にあるフォーム名をチェックし、フォームが装着されていることを確認します。

    $ lpstat -p printer-name -l
    

    あるいは、新しいフォームを必要とする印刷要求を出して、プリンタの出力をチェックします。

例 - フォームを取り外し、装着する

次の例は、現在装着されているフォームをプリンタ luna から取り外すプロセスを示しています。

# reject luna
destination "luna" will no longer accept requests
# lpadmin -p luna -M f none
# accept luna
destination "luna" now accepting requests

次の例は、medical フォームをプリンタ luna 上に装着するプロセスを示しています。

# reject luna
destination "luna" will no longer accept requests
# lpadmin -p luna -M f medical -a -o filebreak
# accept luna
destination "luna" now accepting requests

フォームの装着に関する警告を設定する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpadmin コマンドを使用して、フォームの装着に関する要求警告を設定します。

    # lpforms -f form-name -A alert [-Q requests] [-W minutes]
    -f form-name
    

    要求警告を設定したいフォーム名 

    -A alert
    

    フォームが要求されるときに出す警告の種類を指定する。alert に有効な値については、表 4-2 を参照。有効な値は mailwrite、または quietmail または write を選択すると、あらかじめ定義された警告メッセージが表示される。この警告メッセージは、指定されたフォームの装着を促すもので、そのフォームを使用するように設定されている 1 つ以上の複数のプリンタ名が含まれる

    -Q requests
    

    警告が出される前に、フォームが必要な印刷要求がいくつ待ち行列に入っていなければならないかを指定する。このオプションを指定しなければ、印刷要求が待ち行列に 1 つ入っただけで警告が出される 

    -W minutes
    

    警告が出される間隔 (分単位) を指定する。このオプションを指定しなければ、警告は一度だけ送られる 

    要求警告は、印刷サーバーの /etc/lp/forms/form-name/alert.sh ファイルに追加されます。

  3. 次のコマンドの出力をチェックして、そのフォームに関する警告が追加されていることを確認します。

    # lpforms -f form-name -A list
    

    あるいは、警告を出すために印刷要求の低い番号を設定した場合、最小限の要求を満たすために十分な印刷要求を出し、フォームの装着を促す警告を受け取ることを確認します。

例 - フォームの装着に関する警告を設定する

次の例は、印刷待ち行列に letterhead フォームに関する 10 の印刷要求があるときに、letterhead に関して 5 分ごとに電子メールで警告が送られるように設定するコマンドを示します。

# lpforms -f letterhead -A mail -Q 10 -W 5

次の例は、印刷待ち行列に letterhead フォームに関する 5 の印刷要求があるときに、letterhead に関して 10 分ごとにコンソールウィンドウに警告が送られるように設定するコマンドを示します。

# lpforms -f letterhead -A write -Q 5 -W 10

次の例は、invoice フォームに関して要求警告が送られないように設定するコマンドを示します。

# lpforms -f invoice -A none

フォームに関する情報を表示する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpforms コマンドを使用して、フォームに関する情報を要求します。

    # lpforms -f form-name -l
    
    -f form-name
    

     

    情報を表示したいフォーム名。利用できるすべてのフォームに関する情報を表示するには、form-nameall を指定する

    -l

    指定したフォームを表示する 

    指定した 1 つ以上のフォームに関する情報が表示されます。

例 - フォームに関する情報を表示する

次の例は、medical フォームに関する情報を表示するコマンドを示しています。

# lpforms -f medical -l
Page length: 62
Page width: 72
Number of pages: 2
Line pitch: 6
Character pitch: 12
Character set choice: pica
Ribbon color: black
Comment:
Medical claim form

次の例は、medical フォームに関する情報をファイルにリダイレクトするコマンドを示しています (このコマンドは、そのフォームのフォーム定義を作成します)。これは、うっかりフォーム定義を削除してしまった場合に便利です。

# lpforms -f medical -l > medical.fmd

フォームの現在の状態を表示する方法

  1. 印刷サーバーにログインします。

  2. lpstat(1) コマンドを使用して、フォームの現在の状態に関する情報を要求します。

    $ lpstat -f form-name
    

    -f form-name

    現在の状態を表示したいフォーム名。すべてのフォームの現在の状態を表示したい場合は、form-nameall を指定する

    指定した 1 つ以上のフォームの現在の状態に関する情報が表示されます。

例 - フォームの現在の状態を表示する

次の例は、medical フォームの状態を表示しています。

$ lpstat -f medical,payroll
form medical is available to you

フォームへのユーザーアクセスを制限する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpforms コマンドを使用して、フォームへのユーザーアクセスを許可または拒否します。

    # lpforms -f form-name -u allow:user-list | deny:user-list
    
    -f form-name
    

    ユーザーアクセスの許可または拒否リストを作成するためのフォーム名 

    -u allow:user-list
    

    ユーザーアクセスの許可リストに追加するユーザー名。複数のユーザーログイン ID を指定する場合は、空白またはコンマで区切る。空白で区切る場合は、ID のリストを引用符で囲む。user-list の有効な値については、表 4-4 を参照

     

    -deny:user-list
    

    ユーザーアクセス拒否リストに追加するユーザー名。複数のユーザーログイン名を指定する場合は、空白またはコンマで区切る。空白で区切る場合は、ID のリストを引用符で囲む。user-list の有効な値については、表 4-4 を参照

    印刷サーバーの次のどちらかのファイルの指定されたフォーム用の許可または拒否のユーザーアクセスリストに、指定した 1 人以上のユーザーが追加されます。

    /etc/lp/forms/form-name/allow/etc/lp/forms/form-name/deny 
    

  3. lpforms コマンドを使用して、ユーザーアクセスの許可リストと拒否リストを確認します。

    # lpforms -f form-name -l
    

例 - フォームへのユーザーアクセスを制限する

次の例は、ユーザー nathanmarcia にのみ check フォームへのアクセスを許可するコマンドを示しています。

# lpforms -f check -u allow:nathan,marcia

次の例は、ユーザー jonessmithによる dental フォームへのアクセスを拒否するコマンドを示しています。

# lpforms -f dental -u deny:"jones,smith"

フォームへのプリンタアクセスを制限する方法

  1. 印刷サーバーにスーパーユーザーまたは lp としてログインします。

  2. lpadmin コマンドを使用して、プリンタ上でのフォームの使用を許可または拒否します。

    # lpadmin -p printer-name -f allow:form-list | deny:form-list
    
    -p printer-name
    

    フォームの許可または拒否リストを作成するプリンタ名 

    -f allow:form-list | deny:form-list
    

    許可または拒否リストに追加されるフォーム名。複数のフォーム名は空白またはコンマで区切る。空白で区切る場合は、フォーム名のリストを引用符で囲む 

    指定した 1 つ以上のフォームは、印刷サーバーの次のどちらかのファイルの許可または拒否フォームリストに追加されます。

    /etc/lp/printers/printer-name/form.allow  
    /etc/lp/printers/printer-name/form.deny 
    

  3. 次のコマンドを使用して、許可リストと拒否リストを確認します。

    # lpstat -p printer-name -l
    

例 - フォームへのプリンタアクセスを制限する

次の例では、プリンタ lunamedicaldentalcheck の各フォームへのアクセスのみを許可します。

# lpadmin -p luna -f allow:medical,dental,check

次の例では、プリンタ luna による medicaldentalcheck の各フォームへのアクセスを拒否します。

# lpadmin -p luna -f deny:"medical dental payroll"

フォントの管理

レーザプリンタがある場合は、PostScript 用のフォントをインストールして管理する必要があります。PostScript フォントをインストールするシステムと、その管理方法も決定する必要があります。多くのプリンタの場合、プリンタのインストール作業の一部としてフォントを設定します。

PostScript フォントは、プリンタかプリンタと通信を行うシステムのどちらかに、アウトライン形式で格納されます。文書の印刷時に、PostScript インタプリタは、アウトライン記述から適切な大きさの各文字を必要に応じて生成します。文書に必要なフォントが使用するプリンタに格納されていない場合は、文書が印刷される前にそのフォントをプリンタに転送しなければなりません。この転送処理を「フォントのダウンロード」といいます。

フォントは、次のいくつかの方法で格納または使用されます。

プリンタ常駐フォントの管理

ほとんどの PostScript プリンタは、プリンタ内蔵の ROM にフォントが搭載されています。プリンタによっては、追加フォントを格納するためのディスクが用意されています。プリンタをインストールするときに、そのプリンタ用のフォントリストにプリンタ常駐フォントを追加してください。プリンタ常駐フォントがわかっていれば、フォントをネットワーク経由で必要以上に転送することがなくなります。各プリンタには搭載されているフォントの独自のリストがあります。これは、次のファイルに入っています。

/etc/lp/printers/printer-name/residentfonts

プリンタを印刷サーバーに接続するときには、印刷サーバー上にあってプリンタにダウンロードできるフォントが、residentfonts ファイル内のリストに含まれているかどうかを確認します。

プリンタ常駐フォントのリストが入っているファイルは、vi などのテキストエディタを使用して編集しなければなりません。

ホスト常駐フォントのダウンロード

PostScript の文書がプリンタにダウンロードされていないフォント指定を含んでいるときは、「ダウンロードフィルタ」がこの印刷要求を管理します。ダウンロードフィルタは PostScript の文書作成規則を使用して、ダウンロードするフォントを決定します。

LP 印刷フィルタには、高速フィルタと低速フィルタがあります。高速フィルタは、印刷するファイルをすばやく準備し、フィルタが処理している間にプリンタにアクセスしなければなりません。低速フィルタはファイルの変換に時間がかかり、フィルタが処理している間にプリンタにアクセスする必要はありません。低速フィルタの例には、ASCII ファイルから PostScript ファイルへのフィルタがあります。

ダウンロードフィルタは高速フィルタです。フォントが印刷サーバー上にある場合は、フォントを自動的にダウンロードします。また、ダウンロードフィルタを使用して、印刷サーバーにフォントを転送することもできます。そのためには、lp -y コマンドを指定して、ダウンロードフィルタを低速フィルタとして呼び出すための新しいフィルタテーブルのエントリを作成します。あるいは、入力タイプを変更して、このフィルタの選択を強制することもできます。

ダウンロードフィルタは、次の 5 つの作業を実行します。

  1. PostScript の文書を検索して、要求されているフォントを判別します。これらの要求は、ヘッダコメントの PostScript 構造化コメント %%DocumentFonts: font1 font2 ... で指定されます。

  2. プリンタ常駐フォントのリストを検索して、要求されたフォントをダウンロードしなければならないかどうかを判別します。

  3. フォントがプリンタ上になければ、ダウンロードフィルタは (マップテーブルから適切なファイル名を読み取って) ホスト常駐フォントのディレクトリを検索し、要求されたフォントが利用可能かどうかを判別します。

  4. そのフォントが利用可能であれば、フィルタはそのフォントのファイルを取り出し、印刷するファイルに追加します。

  5. フォント定義ファイルとソースファイル (印刷するファイル) を PostScript プリンタに送ります。

ホスト常駐フォントのインストールと管理

フォントによっては、ホストシステムに格納されており、特定の印刷要求に応じてプリンタに転送されるものがあります。管理者は、システム上のすべてのユーザーが PostScript フォントを使用できるように管理する必要があります。そのためには、これらのフォントのインストール方法とインストール場所を知っておかなければなりません。フォントは名前で要求され、ファイルに格納されているので、LP 印刷サービスはフォント名とフォントを定義しているファイル名を対応付けるマップファイルを持っています。ホスト常駐フォントをインストールするときには、マップファイルとフォントリストの両方を更新しなければなりません。

PostScript プリンタで利用できるフォントは、ユーザーが作成した /usr/share/lib/hostfontdir/typeface/font ディレクトリに格納されます。この場合、typefacepalatinohelvetica などの名前に置き換えられ、fontbolditalic などの名前に置き換えられます。

ダウンロードされた PostScript フォントをインストールする方法

  1. 印刷サーバーまたは印刷クライアント上でスーパーユーザーまたは lp としてログインします。

  2. /etc/lp/printers/printer-name ディレクトリに変更します。

    # cd /etc/lp/printers/printer-name
    

    printer-name

    ダウンロードされた PostScript フォントをインストールするプリンタ名 

  3. residentfonts ファイルが存在しない場合は作成します。

    # touch residentfonts
    

    常駐させるダウンロードフォントを初めて追加する場合は、このファイルが存在しないことがあります。

  4. residentfonts ファイルを編集して、すべてのプリンタ常駐フォントとダウンロードフォントを追加します。

    vi などのエディタを使用できます。

  5. ファイルを保存します。

ホスト常駐 PostScript フォントをインストールする方法

  1. 印刷サーバーまたは印刷クライアント上でスーパーユーザーまたは lp としてログインします。

  2. hostfontdir ディレクトリが存在しない場合は作成します。

    # cd /usr/share/lib
    # mkdir hostfontdir
    # chmod 775 hostfontdir
    
  3. 新しい書体のディレクトリが存在しない場合は作成します。

    # mkdir typeface
    
  4. フォントファイルを適切なディレクトリにコピーします。

    # cp filename /usr/share/lib/hostfontdir/typeface/font
    
  5. マップテーブルに組み込むフォント名とファイル名を追加します。

    1. /usr/share/lib/hostfontdir ディレクトリに変更します。

    2. vi などのテキストエディタを使用して map ファイルを編集します。

      テーブルに追加したいフォントごとに 1 行ずつエントリを追加します。エントリには、フォント名、スペース 1 個、フォントが常駐するファイル名の順に入力します。たとえば、次のようになります。

      Palatino-Bold /usr/share/lib/hostfontdir/palatino/bold
    3. ファイルを保存します。

      適切なシステム上のマップテーブルにサンプルエントリを入れておけば、ユーザーは各自の印刷ジョブに (たとえば、Palatino Bold などの) フォントを適用できます。このフォントを含む印刷要求を依頼すると、LP 印刷サービスはそのファイルに /usr/share/lib/hostfontdir/palatino/bold のコピーを追加してから、プリンタに送信します。

  6. troff を使用している場合は、このフォント用の新しいフォント幅テーブルを標準 troff フォントディレクトリ内で作成します。