# KLJetToolハンドブック

Bernd Johannes
Wuebben

    wuebben@kde.org

1998年11月2日。バージョン0.2

日本語翻訳：レーザーファイブ(info@laser5.co.jp)

本書ではKLJetToolバージョン0.2について説明します。

KDE Kljettool

KDE

## はじめに

KLJetToolはHewlett Packard Laserjetの動作パラメータを調整できるようにするプログラムです。5Lや6LといったHewlett Packards社の一部のプリンタからはハードウェアの制御パネルは姿を消し、プリンタはソフトウェアで完全に制御されています。ところが、このソフトウェアはWindowsプラットフォームでしか利用できないことがよくあります。Unixプラットフォーム上でこうしたソフトウェアを実現して欲しいという要求を満たそうとしているのが、KLJetToolですKJLetToolはHewlet Packarts PJL (プリンタジョブ言語)を理解するプリンタであれば、どのプリンタとも連動するはずです。ただし、機能の中には、特定のモデルには作用しないものもあります。

ぜひ、この小さなツールを楽しんでください。

`Bernd Johannes Wuebben`

wuebben@kde.org

## インストール

### KLJetToolの入手の仕方

KLJetToolはKDEプロジェクト http://www.kde.orgの一部です。 KEditはKDEプロジェクトのメインFTPサイトであるftp://ftp.kde.org/pub/kde/にあります。

### KLJetToolに必要なもの

KLJetToolのコンパイル作業を成功させるには、最新バージョンの`libkdecore`と`libkfm`が必要になります。必要なすべてのライブラリとKLJetToolは ftp://ftp.kde.org/pub/kde/にあります。

### コンパイルおよびインストール

KLJetToolをコンパイルし、システムにインストールするには、KEditディストリビューションのベースディレクトリに下記のソースコードを入力してください

    % ./configure
    % make
    % make install

KLJetToolは`autoconf`を使用するので、コンパイル作業は面倒ではないはずです。もし、問題が起こったらば、KDEメーリングリストにご連絡ください。

## KLJetToolの起動

SLinuxディストリビューションの中には、LJetToolが生成したPJLファイルを無視する印刷サブシステムを備えているものがあります。こうした印刷サブシステムはPJLファイルをPJLファイルとしては認識せず、フィルタを使って変換しようとしますが、これは、KLJetToolの誤動作の原因となります。

本項では、RedHat Linux 5.0システムでLJetToolを動作させるのに必要なステップについて説明します (KLJetToolはRedHat linux 5.0ベースのディストリビューションでそのまま動作するはずです)。他のシステムについても、同様のステップが必要になるものと考えております。実行しなければならないステップは決して面倒ではありません。あなたがしなければならないのは、印刷サブシステムが未修正のPJLファイルをプリンタに送るかどうかの確認だけです。

RedHat LinuxシステムはPJLをそのままの状態では認識せず、修正しない状態でプリンタに送らずに、風変わりなことをしようとします。そこで、このシステムにPJLファイルの扱い方を教える必要があります。 ただし、システムに対して本書に記述されている変更を加える前に、KLJetToolがシステム上でほんとうに機能しないことを確かめてください。というのは、読者が本書をお読みになる頃は、RedHatや他のディストリビューションの印刷サブシステムはアップデートされているものと思われるからです。

RedHatシステムのように同じように「高度な」プリンタサブシステムを備えた他のディストリビューションも、プリンタに送るPJL(プリンタジョブ言語)ファイルの扱い方を教える必要があると考えています。

redhatシステムの場合、`/etc/printcap`からスクリプト `/var/spool/lpd/lp/filter`が呼び出され, そのたびにコマンドlprを使って何かが印刷されます。フィルタは印刷するファイルについての「ファイル」プログラムを実行し、「ファイル」が「フィルタ」スクリプトに対して、どのような種類のドキュメントが扱われているか知らせます。そして、ドキュメントの種類によって、適正なプログラムが実行され、プリンタが理解できるフォーマットで出力が生成されます。「ファイル」プログラムは`/etc/magic`ファイルを使って、印刷するドキュメントの種類 (例： PostScript、dvi、テキストなど)を判断します。

たとえば、postscriptドキュメントを印刷する場合、myfile.psファイルは扱うのがpostscriptファイルだと「フィルタ」スクリプトに知らせ、「フィルタ」がまずghostscriptを実行して、myfile.psを pcl 5（レーザージェットが理解する言語）に変換してから、このファイルをプリンタに送ります

残念なことに、RedHatシステムはPJLファイルを認識せず、未修正のプリンタに送る代わりに、おかしなことをしようとします。

RedHatシステムでLJetToolを機能させるには、2つのことをすればOKです。

- 「ファイル」プログラムがPJLファイルをPJLファイルとして正しく認識するように、 `/etc/magic` ファイルに1行追加します。 /etc/magic ファイルに次の2行を追加します。 `/etc/magic`ファイルのどこにこれらの行を追加しても構いません。

      # HP Printer Job Language, Bernd Wuebben (wuebben@math.cornell.edu)
      0	string		\033%-12345X	 HP PJL printer commands

- /var/spool/lpd/lp/filterスクリプトに、PJLファイルの扱い方を教えます。これは、「フィルタ」スクリプトに次の2行を追加するだけです。

         *pjl* )
                                                    startpnt="INPUT-to-prdata";;

  フィルタスクリプトを見れば、どこに追加すればよいかすぐ分かると思います（筆者が持っているバージョンでは220行の前後）。これらの行は、PJLファイルをそのままにし、何も修正せずにプリンタに送るようにスクリプトに伝えているだけです。

筆者自身のフィルタスクリプトと/etc/magicのコピーを入れておいたので、上記の修正作業がうまくいかない場合には、これを使ってください。KLJetToolのドキュメンテーションが入っているのと同じディレクトリで探し出せるはずです。

複雑な印刷フィルタサブシステムを使っている方は、LJetToolを他のシステムで機能させるには何をすればよいか（もしあれば）、是非お知らせください。

## 使い方

KLJetToolの使い方は非常に簡単です。大部分の機能はあえて説明する必要はありません。今は長いマニュアルを書く時間がまったくないので、マニュアルを書いてみたい方は、連絡してください。

## Copyright

                              KLJetTool

    Copyright 1997  Bernd Johannes Wuebben,  <wuebben@math.cornell.edu>

    本プログラムはフリーウェアです。Free Software Foundationが発行しているバージョン2以降のGNU General  Public  License(一般使用許諾)の条項に従って配布したり、修正することができます。

    本プログラムは役立つことを願って配布しておりますが、一切保証はしておりません。また商品性もしくは特定の目的に対する適合性の暗黙の保証もしておりません。詳細については、GNU General  Public  Licenseを参照してください。

    本プログラムと一緒にGNU General  Public  Licenseを一部受け取っていない方は、Free Software Foundation, Inc.,（675 Mass Ave, Cambridge, MA 02139, USA）にご連絡ください。