back

プリンターPM-780Cを使うのじゃ


PM-780C

エプソンのプリンタ PM-780Cを使うっす。エプソンのPMシリーズは フィルタこそ違うけどだいたい同じ方法でできるっす。
フィルタはエプソンコーワの Photo Image Print System for Linux からダウンロードできるっす。PM-780Cではバージョン2.0と1.3.1があるけど どちらでもいいっす。2.0はGUIのステータスモニタが付いているので 設定は多少めんどうっす。
rpmファイルをとってきてalienするっす。
$ fakeroot alien pips780-2.0-1.i386.rpm
失敗
$ cd pips780-2.0/debian
$ debuild
失敗(どうやらconfigがだめらしい)
$ jed config
config を修正(最後の行頭のピリオドがはなれているのが原因なのでそのあいだを削る)
$ debuild
できたdebファイルをインストールするっす。
# dpkg -i pips780_2.0-2_i386.deb

バージョン2.0のみ: ekpd作成

プリンタ制御デーモンekpdの起動ファイルは/etc/init.d/ekpdにあるが これはRedHat用のファイルなのでdebianでは使えないっす。 これを参考に新たにekpdを作るっす。
#!/bin/sh
#
#  ekpd

SERVER=/usr/local/EPKowa/printer/ekpd
[ -f $SERVER ] || exit 0

OLDMASK=`umask`
umask 000

case "$1" in
start)
  echo -n "Starting ekpd :"
  if [ -x $SERVER ];then
    start-stop-daemon --start --exec $SERVER
  fi
  echo "."
  ;;
stop)
  echo -n "Stopping ekpd :"
  start-stop-daemon --stop --quiet --exec $SERVER
  echo "."
  ;;
restart|reload|force-reload)
  echo -n "Restarting ekpd :"
  $0 stop
  sleep 2
  $0 start
  ;;
*)
  echo "Usage: ekpd { start | stop | restart | reload | force-reload}"
  exit 1
  ;;
esac

umask $OLDMASK
exit 0
これを/etc/init.dに置き、update-rc.dで登録するっす。
# update-rc.d ekpd defaults

バージョン2.0のみ: サーバー用のfilter780の作成

インストールされる/usr/local/EPKowa/PM780C/filter780は GUIが立ち上がってしまうのでそれが起きないfilter780を作るっす。
#!/bin/sh
/usr/local/EPKowa/PM780C/gsconfig780|/usr/bin/pips780 -ui C
exit $?
これを/usr/local/EPKowa/PM780C/filter780-nouiとして置き、 実行属性を付けるっす。
# chmod +x /usr/local/EPKowa/PM780C/filter780-noui

lprngとmagicfilterをいれる

Linuxではいくつかプリンター用プログラムがあるが、そのなかの 1つlprngを使うっす。コマンドはBSDのlprとほとんど同じっす。 どこがちがうかと言う1つはサーバのアクセス設定ファイルlpd.perms があること、そしてもう1つがリモートプリンター(Postscript)を 直接呼び出すことができることっす。
$ lpr -Plp@remotehost foo.ps
magicfilterはテキストや画像などのいろいろな種類のファイルを 最終的にPostscriptにしてプリンタ専用のフィルタに渡すプログラムっす。
apt-getでlprngとmagicfilterをいれるっす。
# apt-get install lprng magicfilter

lprngの設定: printcapの設定

/etc/printcapを書き変えるっす。
# default: magicfilter enabled
lp:\
        :sd=/var/spool/lpd/lp:\
        :sh:mx#0:\
        :rm=localhost:\
        :rp=pips780:\
        :if=/etc/magicfilter/ps600-filter:
# for PIPS780
pips780|PIPS780:\
        :lp=/dev/lp0:sd=/var/spool/lpd/pips780:\
        :sh:mx#0:\
        :if=/usr/local/EPKowa/PM780C/filter780-noui:
# for samba
pips780r|PIPS780ROW:\
        :lp=/dev/lp0:sd=/var/spool/lpd/pips780r:\
        :sh:mx#0:
pips780はPIPSフィルタを通す設定っす。 lpはデフォルトでmagicfilterを通すっす。 リモートプリンタとしてlocalhostのpips780を呼んでいるっす。 magicfilterのフィルタはPostscriptプリンタ用のであればどれでもいいっす。
pips780rはsambaなどで使うためのフィルタなしの設定っす。 WindowsではPostscriptプリンタとしてpips780を使ってもいいけど、 WindowsのPIPS780Cドライバを使った方が処理がサーバーは処理が軽い (画質も多少違う)っす。
ちなみにネットワーク用途でWindows用の PM780Cドライバをインストールする 場合は、最初のexeを展開したあと disk1の中のexeを実行でインストールせず単に展開だけするっす。 そしてWindowsの「プリンタの追加」で追加するときに「ディスクを指定する」 で展開したディレクトリを設定するっす。 インストールではローカルプリンタの場合しか対応してない (プリンタデバイスをさがすため)っす。
printcapを書き変えたらlprngを再起動しローカルで印刷テストしてみるっす。
# /etc/init.d/lprng restart
$ lpr -Ppips780 foo.ps

lprngの設定: lpd.permsの設定

debianのインストールではネットワークからのアクセスは禁止される設定に なっているっす。そこでその設定を外すっす。 基本的にはつぎの文をコメントアウトするっす。
REJECT NOT SERVER
REJECT SERVICE=R FORWARD
あとはlprngをrestartしてリモートでプリントできるかテストするっす。 リモートのプリンタはlpを使う場合はPostscriptプリンタとして、 pips780rを使う場合はフィルタを経由させて使えばいいっす。

Copyright (c) 2001 ichiyama ryoichi, All Rights Reserved.