良い子のみなさんは 良く御存じですので 見る必要 は有りません。
デストリービューション により 色々異っているでしょうが 一例として 元の /etc/printcap を 見ておくのも 良いと思います。
まあそれらを参考にして設定してゆきます。
一般的な printcap は このようなものが 見受けられます。
txt|text:\ :lp=/dev/lp0:\ :sd=/usr/spool/txt:\ :lf=/usr/spool/txt/log:\ :af=/usr/spool/txt/acct:\ :if=/usr/bin/txt-if:\ :mx#0:\ :sh: lp|ps|PostScript:\ :lp=/dev/lp0:\ :sd=/usr/spool/lp:\ :lf=/usr/spool/lp/log:\ :af=/usr/spool/lp/acct:\ :if=/usr/bin/lp-if:\ :mx#0:\ :sh:
今回の printcap に付いては ”/dev/lp0” に 相当するものが ” /var/run/ekplp0” に なるようです これは tgz で インストールされ ても 作成されます。それ以外は大差は無いようです。”if ”の フィ ルターは 少し見る必要が有ります。
lite|lp:\ /* プリンターの 名前を 付けます 縦棒で 別名の 名前を 記載できます */ :sd=/var/spool/lpd/lite:\ /* スプールディレクトリです 無ければ 作成しなければなりません */ :mx#0:\ /* 最大ファイルサイズ ( BUFSIZ ブロックの数で指定), 0 = 制限 なし */ :sh:\ /* sh suppress headers (banners) バナーを 出さないようにする */ :lp=/var/run/ekplp0:\ /* 出力に対してオープンするデバイス名 */ :if=/usr/lib/pipslite/filterlite: /* プリンターに渡すデーターを 変換する もの */
スプールディレクトリ /var/spool/lpd/lite が 存在しないと pipslite 起 動時に
$ pipslite & Photo Image Print System LITE Version 1.0.3 pipslite: relocation error: /usr/local/lib/libpng.so: undefined symbol: inflateInit_ lpr: cannot create /var/spool/lpd/lite/.seq
と pipslite 様が ご機嫌を損ねます。そこで
$ su - Password: # cd /var/spool/lpd # ls -l total 4 -rw-r--r-- 1 root root 4 Nov 10 15:41 lpd.lock # mkdir lite # ls -l total 8 drwxr-xr-x 2 root root 4096 Nov 10 16:50 lite/ -rw-r--r-- 1 root root 4 Nov 10 15:41 lpd.lock # chown daemon.lp lite # ls -l total 8 drwxr-xr-x 2 daemon lp 4096 Nov 10 16:50 lite/ -rw-r--r-- 1 root root 4 Nov 10 15:41 lpd.lock
のように 作成させて頂くことになります。
では 通常 デバイスを指定するのは何処で指定しているかという事ですが こ れは ”/etc/pipslite/ekpdrc”にて 指定されているようです。
# file /var/run/ekplp0 /var/run/ekplp0: fifo (named pipe) /* ekplp0 は pipe というもののようです */ # file /dev/usb/usblp0 /dev/usb/usblp0: character special (180/0) /* これが 通常のものです */
というわけで ”/etc/pipslite/ekpdrc ”を 覗いててみると
# cat /etc/pipslite/ekpdrc PrinterName = lite /* これは lite|lp:\ の 所に一致するものが 無いといけない */ PrinterDevicePath = /dev/usb/usblp0 /* ここで指定してある */ DummyDevicePath = /var/run/ekplp0 /* お断りをしているようです */ CommandServerPort = 35586 /* /etc/services に 追加が必要です 無ければ! */ ConnectEkpdAuto = 1
これは 以下のようなものに対して /dev/usb/lp0 を 上記のものに 変更して あります。
# cat ekpdrc_org PrinterName = lite PrinterDevicePath = /dev/usb/lp0 DummyDevicePath = /var/run/ekplp0 CommandServerPort = 35586 ConnectEkpdAuto = 1
これは ”/usr/share/pipslite/setup”というのを 見つけられないので 手 動で設定しました。詳しくは readmelite.ja という ファイルに書かれています。
さて 入力のフィルターなのですが
# file /usr/lib/pipslite/filterlite /usr/lib/pipslite/filterlite: Bourne shell script text executable # wc -l /usr/lib/pipslite/filterlite 190 /usr/lib/pipslite/filterlite
という テキストファイル (Bourne shell script)ですので 見る事は可能 ですが 個猫 はみても わからないのでよしておきます。ということで 次ぎの事 を設定してゆきましょう。 尚以下の所を熟読する方が 結局は 早い と思います。
同じ 時間を使うのであれば こちら
http://sky-mue.jp/linux/plamo/3.0/USB-printer.html
http://www.linux.or.jp/JF/JFdocs/Printing-Usage-HOWTO.html
http://www.linux.or.jp/JF/JFdocs/Printing-HOWTO.html
http://www3.big.or.jp/~sian/linux/memo/printing/printing.html
http://www.linux.or.jp/JM/html/lpr-linux/man5/printcap.5.html
http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO.html
http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO.html
http://web.mit.edu/source/third/lprng/lprng/HOWTO/LPRng-HOWTO.html
http://web.mit.edu/source/third/lprng/lprng/HOWTO/LPRng-HOWTO-8.html
http://lprng.sourceforge.net/LPRng-Reference-Multipart/index.htm
をどうぞ
にゃんたろう 拝!
2008年11月 7日 (金) 21:17:29 JST 作成