Solaris のシステム管理 (印刷)

印刷フィルタの管理

印刷フィルタは、ファイルの内容形式を出力先プリンタが受け付けられる内容形式に変換するプログラムです。

LP 印刷サービスはフィルタを使用して、次の機能を提供します

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

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

印刷フィルタの作成

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

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

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

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

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

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

SunOS ソフトウェアは、PostScript フィルタのデフォルトセットを提供しています。これらのフィルタは、Solaris 印刷マネージャーによって印刷サーバーに自動的に追加されます。LPD ベースの印刷サービスで使用されていた TranScript フィルタは、SunOS にも相当するものがある場合とない場合があります。次の表は、デフォルトの PostScript フィルタと、該当する TranScript フィルタが存在する場合はそのフィルタ名を示しています。

表 10–3 デフォルトの PostScript フィルタ

PostScript フィルタ 

動作 

相当する TranScript 

ダウンロード

フォントをダウンロードする 

 

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 ソフトウェアには、次のフィルタは組み込まれていません。

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

Solaris 印刷マネージャーは、印刷サーバーにデフォルトの PostScript フィルタを追加します。これらのフィルタでは処理できない印刷を行う必要がある場合は、「新しい印刷フィルタを作成する方法」を参照してください。この節では、カスタム印刷フィルタの作成方法について説明します。

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

  1. 印刷サーバーで、スーパーユーザーになるか、同等の役割になります。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 印刷フィルタの定義に基づく印刷フィルタを追加します。


    # lpfilter -f filter-name -F filter-definition
    
    -f filter-name

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

    -F filter-definition

    印刷フィルタの定義名を指定する

    詳細は、lpfilter(1M) のマニュアルページを参照してください。

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

  3. 印刷フィルタが追加されたことを確認します。


    # lpfilter -f filter-name -l
    

例 10–9 印刷フィルタを追加する

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


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

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

  1. 印刷サーバーで、スーパーユーザーになるか、同等の役割になります。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 印刷フィルタを削除します。


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

    削除する印刷フィルタ名を指定する

    -x

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

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

  3. フィルタが削除されたことを確認します。


    # lpfilter -f filter-name -l
    

    指定した名前のフィルタがないというエラーメッセージが表示されます。


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

次の例は、daisytroff 印刷フィルタを削除する方法を示しています。


# lpfilter -f daisytroff -x

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

  1. 印刷サーバーで、スーパーユーザーになるか、同等の役割になります。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 印刷フィルタに関する情報を要求します。


    # lpfilter -f filter-name -l
    
    -f

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

    -l

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

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


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

次の例は、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


例 10–12 システム上のすべての印刷フィルタに関する情報を表示する

次の例は、システムに追加されたすべての印刷フィルタを表示する方法を示します。コマンドの出力例も示します。


# 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


例 10–13 印刷フィルタに関する情報をリダイレクトする

次の例は、daisytroff フィルタに関する情報をファイルにリダイレクトする方法を示しています 。この作業は、うっかりフィルタ定義を削除してしまった場合に便利です。


# lpfilter -f daisytroff -l > daisytroff.fd