Linuxでプリンタが使えるように設定していきます。使用しているプリンタによって、プリンタドライバが異なるので若干説明が異なる部分があると思うので、ご使用のプリンタに読みかえて読み進めていってください。
|
|
■EPSON用 ghostscript のダウンロード
■cups のインストール
まず、UNIX系の印刷システムであるCUPS がインストールされているかどうかを確認してください。なければインストールしておいてください。
# rpm -q cups
# apt-get install cups |
|
■Linux上でサポートされているプリンタ
Linuxでは、シリアル接続、もしくはパラレル接続のできるプリンタならほとんど全てのプリンタをサポートしていますが、それでも印刷することのできないプリンタもあります。Linux
上で動作させるためのプリンタとして最適な選択は、
Postscript対応(Adobe社開発)のプリンタということになりますが、PostScript対応プリンタはレーザープリンタ以外では通常は装備されておらず、高価なものであるため、家庭で所有している方は少ないと思います。そこで、Postscript
非対応のプリンタでは、
GhostScript と呼ばれる処理を行い、印刷可能な形式に変換する事で通常どおり、印刷する事ができるようになります。EPSON
の場合は、EPSON KOWA社によってGhostscript用のフィルタが用意されているので上記URLから自分のプリンタにあったドライバをダウンロードしきてください。私の場合は、PM-2200C
を使用しているので、pips2200-1.3.2-1.i386.rpm をダウンロードしました。
■Ghostscript用フィルタのインストール
# rpm -ivh pips2200-1.3.2-1.i386.rpm
Preparing... ######################################
[100%]
1:pips2200 ######################################
[100%]
Install Message > Described entry of
pm2200c in printcap.
Install Message > Backup file is /etc/printcap.local.bak. |
|
■ローカルプリンタの設定
インストールが完了すると、プリンタの設定ファイルである/etc/printcap 、もしくは、/etc/printcap.local
に自動的にEPSON-2200C 用の設定が書き込まれます。一から/etc/printcap を記述しなくてすむので非常に便利です。筆者の場合は、/etc/printcap.local
に記述されていたのでその設定を見ていきましょう。なお、プリンタがUSB接続されている場合は、lp (ローカルプリンタ)の値を、「
:lp=/dev/usb/lp0:\」 のようにします。
# cat /etc/printcap.local
# written for pips2200
pm2200c:\
:sd=/var/spool/lpd/pm2200c:\
:mx#0:\
:sh:\
:lp=/dev/lp0:\
:if=/usr/local/EPKowa/PM2200C/filter2200:
# pips2200 end
|
|
◎/etc/printcap の設定項目
|
sd |
スプールディレクトリ |
|
mx |
印刷ジョブの最大サイズ(KB単位、mx#0 とすると無制限になる) |
|
sh |
この項目を記述すると、ファイルのヘッダーページが印刷されない。 |
|
lp |
ローカルプリンタのデバイスファイル名 |
|
if |
プリントフィルタ |
|
lf |
エラーメッセージを記録するログファイル |
|
rm |
リモートプリンタを管理するホスト名 |
|
rp |
リモートプリンタ名 |
|
設定を確認し終えたら、CUPS を起動してみましょう。
# /etc/rc.d/init.d/cups
start |
|
ここで、一旦、Xを起動させて、プリンタの追加を行っていきます。Xが起動したら、ターミナル上で、redhat-config-printer
コマンドを実行します。すると、GUI 設定画面が現れます。
画面が現れたら、「新規」をクリックします。
「進む」をクリックします。
適当な名前をつけて、「進む」をクリックします。
そのまま、「進む」をクリックします。もし、プリンタタイプを選択する場合は、プルダウンメニューから
・「ローカル接続のプリンタ」
・「ネットワーク上のCUPS(IPP)」
・「ネットワーク上のUNIX(LPD)」
・「ネットワーク上のWindows(SMB)」
・「ネットワーク上のNovell(NCP)」
・「ネットワーク上のJetDirect」
の中から実現したいものを選択してください。ここでは、とりあえず、「ローカル接続のプリンタ」を選択します。
次に、プリンタの製造元とモデルを選択します。
設定を確認し、「完了」をクリックします。
テスト印刷をしてみて正常に印刷されるかどうか確認してみてください。
■コマンドラインからの印刷
次に、コマンドラインから印刷する方法について解説していきます。まず、登録プリンタが印刷可能な状態になっているかどうか確かめてみましょう。使用するコマンドは
lpc コマンドを用います。コマンドを実行すると、プリンタの接続方法、現在プリンタが使用可能かどうか、プリントキューなどを確認する事ができます。
# lpc status
EPSON-PM2200C:
printer is on device 'parallel' speed -1
queuing is enabled
printing is enabled
no entries
daemon present |
|
プリントキューの内容を表示させるには、lpq コマンドを使用します。書式は、「
lpq -Pプリンタ名」となります。なお、オプションを指定せずにlpq
コマンドを実行した場合は、デフォルトプリンタのプリントキューを表示します。下記の例では、誰も印刷していないので、「no
entries」となっています。
# lpq
EPSON-PM2200C is ready
no entries |
|
カレントディレクトリ内の標準入力を印刷した後、再び、lpq コマンドを実行してみると以下のようにプリントキューが出力されます。
# ls -la | lpr
# lpq
printer is ready and printing
Rank Owner Job File(s) Total Size
active root 3 (stdin) 4096 bytes
|
|
◎複数部数の印刷
複数部数を印刷するには、#3 のようにします。これで3枚印刷する事ができます。
◎プリントキューにある印刷ジョブの削除 [ lprm ]
プリントキュー内に複数の印刷ジョブがある場合に、印刷ジョブを削除するには、lprm コマンドを実行します。lpq でジョブ番号を確認した後、lprm
でジョブ番号を指定して印刷ジョブを削除します。単に、「
lprm -P<プリンタ名> -
」とすると、自分の印刷ジョブを全て削除する事ができます。なお、一般ユーザーは自分の印刷ジョブ以外、削除する事はできません。
◎複数のページをまとめて印刷する [ mpage ]
会社とかでプリンタを印刷するときは、筆者は容赦なく紙の無駄遣いをしてしまうのですが、家で印刷する場合は、紙とインクがもったいないので、ついつい複数のページを一枚の紙にまとめて印刷したくなってしまいます。mpage
コマンドはそんな要望をかなえるコマンドで、デフォルトでは、4枚分のページを一枚の紙に収めて印刷してくれます。以下のコマンドは同じ意味になります。mpage
コマンドで、1シートに印刷可能なページ数は、1、2、4、8となっています。
# mpage readme.txt
| lpr
もしくは、
# mpage -4 readme.txt | lpr |
|
■EPSON pips2000 使用した印刷
GUI 画面を起動し、ターミナルを起動させます。ターミナル上で、「pips2200」コマンドを実行すると、EPSON
専用のツールが起動し、このツールを使って印刷する事もできます。勿論、pips の後に続く数字は使用しているプリンタによって異なりますので注意してください。
■Windows の共有プリンタからの印刷(SMB)
Windows の共有プリンタを使って印刷する事もできます。なお、その際には、Samba が既に起動してあるものとして