長南です。 今日 Vine 3.1 で試してみたところ、私が書き直したあの input filter は、 Vine 2.6 では一応動くものの、3.1 ではうまく行かないことがわかりました。 最初に私が使った /etc/printcap と、input filter を書いておきます。 $ cat /etc/printcap ##PRINTTOOL3## LOCAL dj505j 300x300 a4 {} HPDeskJet505J 8 {} lp:\ :sd=/var/spool/lpd/lp:\ :mx#0:\ :sh:\ :lp=/dev/lp0:\ :if=/usr/lib/rhs/rhs-printfilters//master-filter: ##PRINTTOOL3## LOCAL raw:\ :sd=/var/spool/lpd/raw:\ :mx#0:\ :sh:\ :lp=/dev/lp0:\ :of=/tmp/myoutfil: $ cat /tmp/myoutfil #!/bin/sh pid=`ps ax |grep $0 |head -1 |cut -d ' ' -f 2` echo "My test filter" kill -STOP $pid /bin/cat 1) このフィルタだと、ps ax の出力の行頭にある空白の個数によって、 pid を正しく読み取れないことがある。そこで、こう直しました。 pid=`ps ax |grep $0 |head -1 |cut -d ' ' -f 2` ↓ pid=`ps ax |grep $0 |awk 'NR==1{print $1}'` 2) Vine 2.6 なら、これで ls |lpr -Praw とすれば、希望する結果を 得られるのですが、Vine 3.1 では「My test filter」と印刷したところで、 プリンタが止まってしまいます。 しかも、ls |lpr -Praw は一応終了して、プロンプトに戻っているのに、 /var/spool/lpd/raw には dfA450hoge.hogenet といった印刷データが、 残ってしまっているのです。 私の書き直したフィルタがいい加減だからでしょうか(大いにあり得る)。 それとも、LPRng のバージョンの問題なのでしょうか。 Vine 2.6r4: LPRng-3.7.4-6vl5.1 Vine 3.1: LPRng-3.8.21-0vl2 なお、たけ(tk)さんのオリジナルのフィルタを(厳密には echo -n '@bFOUT1;' を echo "My test filter" に変えたものですが) of ではなく、if にした場合は、 Vine 3.1 でもきちんと印刷が出来ます。 -- 長南洋一