vine-users ML アーカイブ



[vine-users:071767] Re: vine3.1 でlpd経由で dvi、txtフ ァイルがプリントアウトで きません

  • From: "matsui888" <matsui888@xxxxxxxxxxx>
  • Subject: [vine-users:071767] Re: vine3.1 でlpd経由で dvi、txtフ ァイルがプリントアウトで きません
  • Date: Sat, 7 May 2005 01:19:19 +0900
matsui888です。
お世話様です。お手数お掛けしております。

> ということは、host2 から TCP/IP の通信は出来るということですね。
> プリンタ側のポート番号はどうなっているのでしょう。よく知りませんが、
> lpd は相手の 515 ポートにつなぐようです。次のようなことをやってみて、
> connected と返ってくれば、lpd で印刷データを送れるはずだと考えてよい
> と思うのですが、違うのでしょうか。
>   telnet プリンタのアドレス 515
$ telnet oki 515
Trying yyy.yyy.yyy.yyy...
Connected to oki.
Escape character is '^]'.

となりできました。

> なお printcap については、host1 の printcap を host2 にコピーすれば、
> すくなくとも printcap には問題がないことが確認できると思います。
>
> > $ lp -d oki ./tiger.ps
> > oki: nothing to print
>
> lp: nothing to print ではありませんでしたか。ほかの場合にも出るかも
> しれませんが、印刷するファイルのサイズが 0 だと、このエラーが出る
> ようです。もし、tiger.ps のサイズが 0 だったとしたら、ghostscript の
> インストールが不完全だったのかもしれません。
仰る通り0バイトでした。失礼致しました。
(cpコマンドで失敗してました)

host1の/etc/printcapをコピーして試してみましたら、

$ /bin/cat /etc/printcap | /bin/grep -v ^#
ms-dc4|lp:\
        :ml=0:\
        :mx=0:\
        :sd=/var/spool/lpd/ms-dc4:\
        :af=/var/spool/lpd/ms-dc4/ms-dc4.acct:\
        :sh:\
        :rm=xxx.xxx.xxx.xxx:\
        :rp=PASSTHRU:\
        :lpd_bounce=true:\
        :if=/usr/share/printconf/util/mf_wrapper:
oki|lpoki:\
        :ml=0:\
        :mx=0:\
        :sd=/var/spool/lpd/oki:\
        :af=/var/spool/lpd/oki/oki.acct:\
        :sh:\
        :rm=yyy.yyy.yyy.yyy:\
        :rp=PS-12CDA7-P1:\
        :lpd_bounce=true:\
        :if=/usr/share/printconf/util/mf_wrapper:

# /sbin/service lpd restart
Stopping lpd: /etc/init.d/lpd: kill: (1900) - No such pid
/etc/init.d/lpd: kill: (1896) - No such pid
[  OK  ]
Starting lpd: [  OK  ]

$ lp -d oki tiger.ps
request id is user01@host2+208


幸いにも何故か今日はログが吐かれました!!!

# tail -f /var/spool/lpd/oki/status.oki
waiting for subserver to exit at 2005-05-06-14:28:32.421 ## A=<NULL>
number=0 process=3209
processing 'dfA208host2.hoge-u.ac.jp', size 78519, format 'f', IF filter
'mf_wrapper' at 2005-05-06-14:28:32.438 ## A=user01@host2+208 number=208
process=3210
IF filter 'mf_wrapper' filter msg - 'Make_passthrough: pid 3211, execve
'/usr/share/printconf/util/mf_wrapper' failed - '実行形式エラー'' at
2005-05-06-14:28:32.439 ## A=user01@host2+208 number=208 process=3210
IF filter 'mf_wrapper' filter exit status 'JABORT' at
2005-05-06-14:28:32.440 ## A=user01@host2+208 number=208 process=3210
printing finished at 2005-05-06-14:28:32.440 ## A=user01@host2+208
number=208 process=3210
sending job 'user01@host2+208' to PS-12CDA7-P1@xxxxxxxxxxxxxxx at
2005-05-06-14:28:32.440 ## A=user01@host2+208 number=208 process=3210
connecting to 'yyy.yyy.yyy.yyy', attempt 1 at 2005-05-06-14:28:32.440 ##
A=user01@host2+208 number=208 process=3210
connected to 'yyy.yyy.yyy.yyy' at 2005-05-06-14:28:32.445 ##
A=user01@host2+208 number=208 process=3210
requesting printer PS-12CDA7-P1@xxxxxxxxxxxxxxx at 2005-05-06-14:28:32.446
## A=user01@host2+208 number=208 process=3210
sending control file 'cfA208host2.hoge-u.ac.jp' to
PS-12CDA7-P1@xxxxxxxxxxxxxxx at 2005-05-06-14:28:32.461 ##
A=user01@host2+208 number=208 process=3210
job 'user01@host2+208' transfer to PS-12CDA7-P1@xxxxxxxxxxxxxxx failed
  error 'ERROR TRANSFERRING DATA'
  sending str '^B166 cfA208host2.hoge-u.ac.jp' to
PS-12CDA7-P1@xxxxxxxxxxxxxxx at 2005-05-06-14:29:17.010 ##
A=user01@host2+208 number=208 process=3210
subserver pid 3210 exit status 'JFAIL' at 2005-05-06-14:29:17.027 ##
A=<NULL> number=0 process=3209
job 'cfA208host2.hoge-u.ac.jp' attempt 1, trying 3 times at
2005-05-06-14:29:17.047 ## A=<NULL> number=208 process=3209
waiting for subserver to exit at 2005-05-06-14:29:17.085 ## A=<NULL>
number=0 process=3209
attempt 2, sleeping 10 before retry at 2005-05-06-14:29:17.102 ## A=<NULL>
number=208 process=3212
processing 'dfA208host2.hoge-u.ac.jp', size 78519, format 'f', IF filter
'mf_wrapper' at 2005-05-06-14:29:27.111 ## A=<NULL> number=208 process=3212
IF filter 'mf_wrapper' filter msg - 'Make_passthrough: pid 3213, execve
'/usr/share/printconf/util/mf_wrapper' failed - '実行形式エラー'' at
2005-05-06-14:29:27.112 ## A=<NULL> number=208 process=3212
IF filter 'mf_wrapper' filter exit status 'JABORT' at
2005-05-06-14:29:27.112 ## A=<NULL> number=208 process=3212
printing finished at 2005-05-06-14:29:27.112 ## A=<NULL> number=208
process=3212
sending job 'user01@host2+208' to PS-12CDA7-P1@xxxxxxxxxxxxxxx at
2005-05-06-14:29:27.112 ## A=<NULL> number=208 process=3212
connecting to 'yyy.yyy.yyy.yyy', attempt 1 at 2005-05-06-14:29:27.112 ##
A=<NULL> number=208 process=3212
connected to 'yyy.yyy.yyy.yyy' at 2005-05-06-14:29:27.118 ## A=<NULL>
number=208 process=3212
requesting printer PS-12CDA7-P1@xxxxxxxxxxxxxxx at 2005-05-06-14:29:27.118
## A=<NULL> number=208 process=3212
sending control file 'cfA208host2.hoge-u.ac.jp' to
PS-12CDA7-P1@xxxxxxxxxxxxxxx at 2005-05-06-14:29:27.133 ## A=<NULL>
number=208 process=3212

これは/usr/share/printconf/util/mf_wrapperが原因なのでしょうか?


# lpq -a
:
Printer 'PASSTHRU@xxxxxxxxxxxxxxx' - cannot open connection - ホストへの経路
がありません
Printer: oki@host2 'lpoki' (dest PS-12CDA7-P1@xxxxxxxxxxxxxxx)
 Queue: 1 printable job
 Server: pid 3209 active
 Unspooler: pid 3212 active
 Status: sending control file 'cfA208host2.hoge-u.ac.jp' to
PS-12CDA7-P1@xxxxxxxxxxxxxxx at 14:29:27.133
 Rank   Owner/ID                  Class Job Files                 Size Time
active(attempt-2) user01            A   208 tiger.ps             78519
14:28:32



因みにフィルターは次のようになっています。

# cat /usr/share/printconf/util/mf_wrapper

#!/bin/bash -x
MF_RULE_DIR='/usr/share/printconf/mf_rules'
MF_RULES=$MF_RULE_DIR/mf[[:digit:]][[:digit:]]-*
TMP_FILE=`mktemp /tmp/printconf.XXXXXX` || exit 1
cat ./mf.cfg $MF_RULES | m4 > $TMP_FILE

# Find the effective language set to use.
LANG=`grep '^[[:space:]]*#[[:space:]]*FILTER_LOCALE=' ./mf.cfg | sed
's/^[[:space:]]*#[[:space:]]*FILTER_LOCALE=//;'`
[ -z "$LANG" ] && LANG=C
export LANG

# Try to close up some information exposure
GS_OPTIONS=-dPARANOIDSAFER
export GS_OPTIONS

# Debug expansion (This would be prettier if I knew more shell)
if [ -n "$DEBUG" ]; then
 case "$DEBUG" in
  2)
  DEBUGSTRING="--debug --debug"
  ;;
  3)
  DEBUGSTRING="--debug --debug --debug"
  ;;
  4)
  DEBUGSTRING="--debug --debug --debug --debug"
  ;;
  5)
  DEBUGSTRING="--debug --debug --debug --debug --debug"
  ;;
  *)
  DEBUGSTRING="--debug"
  ;;
 esac
else
 DEBUGSTRING=""
fi

# Run magic filter
/usr/bin/magicfilter-t $TMP_FILE $DEBUGSTRING $* < /dev/stdin
RETVAL=$?

if [ -f $TMP_FILE ]; then
 rm -f $TMP_FILE;
fi

if [[ $RETVAL -eq 0 ]]; then
 TERMINATION=`grep '^[[:space:]]*#[[:space:]]*TERMINATION=' ./mf.cfg | sed
's/^[[:space:]]*#[[:space:]]*TERMINATION=//;'`
 if [ -n $TERMINATION ]; then
  echo -n -e $TERMINATION;
 fi
fi

exit $RETVAL


> oki の方は rp=PS-12CDA7-P1 でしたっけ。
はい、さようです。

> 幸いプリンタに telnet で接続できるそうですから、telnet で接続して、
> リモート・キュー名を調べてみたらどうでしょう。「 [vine-users:059364]
:
> もっとも、host1 からなら印刷できるのですから、両方の printcap を
> 較べてみればよいわけですけれど。すでになさったでしょうが、もう一度。
ちょっと調べてみます。