プリンタの設定 (LPRngの場合)
[更新日:
2005年10月27日
]
プリンタの設定方法を書きます。
機種は Canon LaserShot LBP-310 ですが、
その他のメーカでも応用できます。
PS ファイルを印刷できるように設定します。
従来 ESC/P や LIPS などの制御言語でプリンタの制御をおこなうのが一般的でしたが、
最近では Windows 専用と称しインターフェース非公開のプリンタが存在します。
プリンタを買う場合には、こういう製品があることに注意しなければなりません。
環境
起動スクリプトは /etc/rc.d/init.d/lpd
設定ファイルは /etc/printcap です。
ローカルプリンタとして使う
$ su
# /usr/sbin/printtool
とし、ツールを使って設定します。
プリンタはローカルプリンタ、
入力フィルタは LBP310 または LIPS3 を選択します。
テキスト高速印刷を選択すると ASCII 文字が小さすぎるのでチェックしません。
/etc/printcap の内容
lp:\
:sd=/var/spool/lpd/lp:\
:mx#0:\
:sh:\
:lp=/dev/lp0:\
:if=/usr/lib/rhs/rhs-printfilters/master-filter:
ダイレクトプリンタとしての設定
自分のプログラムなどで直接プリンタ制御言語を出力する場合の設定です。
Windows などから出力する場合にも使えます。
ツールを使うとなぜかうまくできないので、
自分で printcap を編集します。
フィルタは定義しないで、リモートマシン上のドライバを使用します。
lp0 | lips3:\
:sd=/var/spool/lpd/lp0:\
:mx#0:\
:sh:\
:lp=/dev/lp0:
PSプリンタとして使う
PostScript プリンタとして使うには、
ghostscript でフィルタをこしらえれば可能です。
まず、スプール用ディレクトリ /var/spool/lpd/lp1 を作成します。
$ su
# mkdir /var/spool/lpd/lp1
# chmod 700 /var/spool/lpd/lp1
# chown lp:lp /var/spool/lpd/lp1
次に lpr 用のフィルタ (gsfilter.sh) をエディタなどで作ります↓
#!/bin/sh
/usr/bin/gs -q -dNOPAUSE -dBATCH -sDEVICE=lips3 -sOutputFile=- -
作成した gsfilter.sh を /var/spool/lpd/lp1 の下にコピーし,
パーミッションを設定します.
$ su
# cp gsfilter.sh /var/spool/lpd/lp1
# chown lp:lp /var/spool/lpd/lp1/gsfilter.sh
# chmode 700 /var/spool/lpd/lp1/gsfilter.sh
最後に /etc/printcap に設定を追加します.
lp1 | gs:\
:sd=/var/spool/lpd/lp1:\
:mx#0:\
:sh:\
:lp=/dev/lp1:\
:if=/var/spool/lpd/lp1/gsfilter.sh
印刷は次のようにします. プリンタの名前は gs です
$ lpr -Pgs /usr/share/ghostscript/5.50/examples/golfer.ps
リモートマシンから印刷する
PowerMac から印刷するにはnetatalkを導入します。
Windowsから印刷するにはsambaを導入します。
|