戻る

/etc/printcap 設定

良い子のみなさんは 良く御存じですので 見る必要 は有りません

/etc/printcap 元のもの

デストリービューション により 色々異っているでしょうが 一例として 元の /etc/printcap を 見ておくのも 良いと思います。

まあそれらを参考にして設定してゆきます。

/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

今回の 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

のように 作成させて頂くことになります。

ekplp0

では 通常 デバイスを指定するのは何処で指定しているかという事ですが こ れは ”/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 という ファイルに書かれています。

if=/usr/lib/pipslite/filterlite

さて 入力のフィルターなのですが

# 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 作成


戻る

Copyright © 2006.-2008. nyantarou All Rights Reserved.