多くの新しい Red Hat Linux ユーザは、すぐに各自のプリンタを設定したいと思っています。
ここでは、パラレルプリンタをシステムで設定するための基本ステップをいくつか説明します。GNOME あるいは KDE の使用の有無に関係なく、プロセスの大部分はそれほど複雑ではありません。
互換性は?: 多くのプリンタは Linux でも十分動作しますが、すべてのプリンタに互換性があるわけではありません。プリンタが Linux と互換性があるかどうかを確かめるには、http://www.redhat.com/support/hardware/ で 『The Hardware Compatibility List』 を参照してください。
また、 http://www.linuxprinting.org/howto/には、プリンタの互換性リストだけでなく役に立つヒントや説明が掲載された便利なサイト 『The Linux Printing HOWTO』があります。
Linux は、マルチユーザ、マルチタスクのオペレーティングシステムであるため、さまざまな印刷ジョブを一度に処理することができます。システムには複数のユーザがいますが、そのすべてのユーザが各自の仕事を一台のプリンタに送信したいと思っています。Linux は、スプーリング、つまり、受信した順にファイルを格納して印刷することで、これらの要求を忠実に処理します。
システムのユーザが一人だけであっても、印刷スプールに作業を送信することになります。ファイルは印刷の順番が回ってくるまで印刷スプールで待機します。
知っておく必要のある用語と条件がいくつかあります。
lpd -- ラインプリンタスプーラデーモン。通常、システムが起動すると、このデーモンが起動します。印刷ジョブを管理します。
lpr -- 各印刷ジョブを取りこみ、それを lpd に送信します。
入力フィルタ -- プリンタ固有のフォーマットを管理します。
/etc/printcap -- プリンタとその他の仕様を定義する設定ファイルです。
/var/spool/lpd/ -- 印刷スプールの場所であり、ここでファイルは印刷されるのを待ちます。
Printtool -- /etc/printcap の設定と修正に使用するグラフィカルユーティリティ。
「man ページ」を参照してください: lpd と関連コマンドおよびデーモンについては、シェルプロンプトで [man lpd] と入力して参照することができます。man ページを進めるには、[Space] キーを使用し、戻るには [b] キー、そして終了するには [q] キーを押します。
GNOME と KDE のどちらを使用しているかに関係なく、Printtool でプリンタを設定することができます。Printtool は、プリンタの設定と管理を行うためのグラフィカルな方法を提供します。
ファイル /etc/printcap は、 lpr が印刷ジョブを処理する方法を定義します。ファイルを見たとすると、以下の抜粋のようなものであることが分かります。
##PRINTTOOL3## REMOTE POSTSCRIPT 600x600 letter {} PostScript Default 1
acct|xerox-ac:\
:sd=/var/spool/lpd/acct:\ :mx#0:\ :rm=xerox-ac.redhat.com:\ :rp=lp:\ :if=/var/spool/lpd/filter.d/filter: 味も素っ気もない内容ですが、自分が何をしているのかが分かっている場合を除き、ファイルは編集しないでください。編集する代わりに、ユーティリティ Printtool を使用してプリンタ (そして /etc/printcap) を設定します。
Printtool を使用するには、「root」となる必要があります。
システム設定への変更、つまり、ハードウェアの追加や修正、ソフトウェアのインストールあるいはアンインストールを行う場合は、スーパーユーザ すなわち root になる必要があります。
ユーザアカウントから root になるには、
Xterm ウィンドウを開き、
プロンプトで [su] と入力します。
root のパスワードを入力します。(パスワードを入力しても、それは画面に「表示」されません。)
root になる方法については、Figure 5-1 を参照してください。
上記の図で分かるとおり、root になるとプロンプトが $ から # へ変わります。小文字のまま、[printtool] の一語を入力します。
ユーティリティが起動し、Figure 5-2 に似たウィンドウが表示されます。最初は、プリンタを /etc/printcap に追加していないため、いかなるプリンタもリストされていません。
[Add] ボタンをクリックしてプリンタを追加します。
次に、追加したいプリンタの種類が問われます (Figure 5-3 を参照)。
以下から選択してください。
[Local Printer]:使用しているマシン (ローカルマシンと呼ばれます) とプリンタが直接接続されている場合は、これを選択してください。
[Remote Unix (lpd) Queue]:プリンタが、lpd デーモンが動作するほかのマシンに接続している場合。LAN 上のネットワークプリンタで印刷する場合は、これを選択します。
[SMB/Windows 95/NT Printer]:Windows あるいは Samba が実行されているマシンにプリンタが接続されている場合。(Samba は、Windows マシンがネットワーク上の UNIX マシンや Linux マシンとファイルやサービスを共有できるようにするプログラム群です。)
[NetWare Printer (NCP)]:Novell NetWare あるいは互換性のあるサーバソフトウェアが実行されているマシン上にプリンタがある場合 -- Novell NetWare が実行されているマシンとの対話には 2 つのネットワーキングアプリケーションが必要。
デーモンとは?: lpd が、ラインプリンタスプーラデーモンと呼ばれていることを前に説明しました。デーモンとは、バックグラウンドで動作する小さなプログラムのことです。デーモンは、通常、重要なシステムレベルの作業を実行するプログラムで、システムの起動時に起動されます。(大部分のデーモンには、次のように名前の最後に d が付きます。crond、httpd、lpd など。)
ここでは、一例としてローカルプリンタを追加します。エントリ [Local Printer] を強調表示して、[OK] ボタンを選択します。
プリンタの種類を選択すると、Printtool は、パラレルポートに接続されているプリンタの検出を試行します。その後、その結果が表示されます (Figure 5-4 を参照)。[OK] ボタンをクリックして、メインの [Printtool] ウィンドウに進みます。
/dev/lpx デバイスファイル: Linux は DOS とは異なりパラレルポートを参照します。DOS で、LPT1 に配置されているプリンタは、Linux では /dev/lp0 として認識されます。DOS の LPT2 は、Linux では /dev/lp1 となり、これ以降このように続きます。
ここでの例では、プリンタは /dev/lp0 で検出されました。[OK] ボタンを押して続行します。
次のダイアログ (Figure 5-5 を参照) で、プリンタ名、関連するスプールディレクトリ、プリンタデバイスの場所およびその他のオプションなど、プリンタの詳細を指定することができます。
[Names] フィールドで、印刷キュー (印刷ジョブの送信先) とジョブの送信先とするデフォルトのディレクトリ ([Spool Directory] エントリ) を指定することができます。これらの設定を変更せずそのままにすることもできます。プリンタエントリに名前 lp を付けると、そのプリンタがデフォルトのプリンタとなることに注意してください。
[Input Filter] には、指定したプリンタとそのフォーマット要件についての情報が含まれています。プリンタの情報を追加するには、[Select]ボタンをクリックします。[Configure Filter]ダイアログが開きます。
[Configure Filter] ダイアログが開いたら、次のように実行します。
[Configure Filter] ダイアログで、メーカーとモデルプリンタと完全に一致するプリンタを選択します完全に一致するプリンタがない場合、それに近いモデル (同一メーカーの異種モデル) がないかを確認します。用紙サイズおよび解像度など、他のオプションを選択します。[OK] をクリックして、選択した内容を確認します。
[Edit Local Printer Entry] ダイアログの [OK] をクリックします。[Print System Manager] に戻ります。
[Print System Manager] ダイアログで新しいプリンタエントリを強調表示して、メニューから lpd を再起動します。
最後に、[Print System Manager] で強調表示したプリンタを使用し、メニューからオプションを選択してテストページを印刷します。
テストページの印刷に失敗した、あるいは、印刷方法を修正する必要がある場合、[Configure Filter] ダイアログに戻り別のフィルタを選択するか、現行フィルタの設定を変更します。
トラブルが発生したら、この章の最初に記述した『ハードウェア互換性リスト』および『The Linux Printing HOWTO』 を調べてください。
Figure 5-6 に似た [Configure Filter] ダイアログが開きます。プリンタに適したフィルタを選択します。フィルタを選択する場合は、プリンタが使用できるファイルのフォーマットに適正に変換する方法を選択します。
フィルタのダイアログは、次のように複数のセクションに分かれています。
[Printer type]:ドライバを保有しているために、利用可能となっているプリンタモデルがリストされます。
[Driver Description]:ドライバについての基本情報ならびに、このドライバを適用できるモデルの種類が記述されています。
[Resolution] と [Paper Size]:プリンタへの出力の品質と共に、用紙トレイのデフォルトの用紙サイズを指定することができます。
[Color Depth/Uniprint Mode]:カラープリンタに対する解像度オプションを追加指定することができます。
[Printing Options]:ジョブの印刷方法を修正することができます。
左側にある [Printer Type] 枠で、一覧の中から使用プリンタのメーカーとモデルに完全に一致するものを選択します。完全に一致するモデルがない場合、使用する製品に近いモデルがないかどうかを検索します。
使用するプリンタと適するのがどのフィルタであるのか不明な場合、ダイアログの右側にある [Driver Description] という名前のボックスにドライバに関する情報が表示されます。
かなりの数のプリンタ製品とそのモデルがサポートされていますが、すべてのプリンタが完全にサポートされているわけではなく、まったくサポートされていないプリンタもあります。プリンタに追加のドライバが必要になる場合もあります。また、Red Hat Linux によりサポートされていないプリンタもあります。再度、http://www.redhat.com/support/hardware/ で『ハードウェア互換性リスト』を参照して、使用するプリンタが Red Hat Linux でサポートされているかどうかを確認します。
プリンタのメーカー名はあってもモデル番号がない場合、プリンタのマニュアルを参照して、使用するプリンタがリストに記載されたプリンタをエミュレートできるかどうかを調べることができます。リストされていないモデルにフィルタを適用できるかどうかを調べることもできます。それには、左側ウィンドウのフィルタを強調表示し、[Driver Description] ウィンドウに表示されるフィルタの説明を読みます。
プリンタの解像度とデフォルトの用紙サイズを選択します。(すべてのプリンタタイプで任意の用紙サイズを選択できるわけではありません。)
[Color Depth / Uniprint Mode] セクションで、希望するオプションを選択します。
Floyd-Steinberg について: Floyd-Steinberg とは、影を作成するあるいはぎざぎざの線を滑らかにするために使用されるディザリング処理のことです。
[Configure Filter] ダイアログの残りの部分でその他の印刷オプションを指定することができます。
[Send EOF after job to eject page] -- このオプションは、プリンタジョブが終了したときに強制的に用紙送りするためのものです。印刷ジョブが終了した後で、余分な空白ページがはきだされる場合は、このオプションのチェックマークを外します。
[Fix stair-stepping of text] -- テストページのテキスト行が水平でない、段差と呼ばれる次のような状態で表示される場合、このオプションを選択します。
たとえば、 階段テキストは、のように表示されます。
[Fast text printing (non-PS printers only)] -- PostScript プリンタがない場合には、このオプションを選択してテキストファイルを直接プリンタへ送信します。この場合、テキストファイルは PostScript への変換用プログラム、および Ghostscript には送信されません。このオプションは、このような経路をバイパスして処理を早めます。
[8, 4, 2, 1 pages per output page] -- このオプションはコマンド mpage と関連します。平文ファイルの複数 (2、4、あるいは 8) のページを 1 ページ上に印刷できるようにします。このオプションは、1 枚の用紙に大きなプリントアウトを詰め込む場合に便利です。ただし、「fast text printing」オプションを選択した場合、このオプションは利用できないことに留意してください。
[Margins] -- このオプションは、特に、複数ページの印刷を選択するときに適用されます。複数ページの印刷を選択 (上記オプションを参照) した場合、ページのマージン幅を指定することができます。1 ページの印刷を選択した場合、このオプションは利用できません。
[Extra GS options] -- プリンタで使用できる可能性のある追加オプションの Ghostscript と関連しています。通常、このオプションは空白のまま残します。ここで、追加する必要があると思われるオプションについては、[Driver Description] ボックスをチェックしてください。
[Configure Filter] ダイアログでの選択が終了したら、[OK] ボタンをクリックします。[Edit Local Printer] ダイアログに戻ります。これで、[Input Filter] フィールド内にプリンタに関して選択した情報が表示されます (Figure 5-7 を参照)。
特別なデータ (印刷ジョブの日付や開始部分) を文書の中に印刷したくない場合、デフォルトでチェックマークの付いた項目 [Suppress Headers] をそのままにします。
[OK] ボタンをクリックして続行します。Printtool の開始ダイアログに戻ります。こんどは Figure 5-8 に示されたように、プリンタエントリが入力されています。
ここで、設定をテストします。
lpd の再起動 -- メニューから [lpd] - [Restart lpd] と選択して、プリンタスプーラデーモンを再起動します。
プリンタエントリを強調表示し、それから [Tests] - [Print ASCII test page] と選択してテストページを印刷します (PostScript テストページでテスト印刷を実行することができます。
プリンタ選択に関する修正を行いたい場合、プリンタを強調表示して [Printtool] ウィンドウの底部にある [Edit] を選択します。
設定に満足したら、[PrintTool] メニューから [Quit] を選択して、あるいは、アプリケーションウィンドウの右上隅にある [x] をクリックします。
プロンプトが表示されたら、Xterm ウィンドウの右上隅にある [x] をクリックするか、あるいはプロンプトで [exit] と入力して root ログインから出ます。そして、再度 [exit] と入力して Xterm を閉じます。