From owner-FreeBSD-users-jp@jp.FreeBSD.org Mon Feb  2 20:26:32 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i12BQWZ18181;
	Mon, 2 Feb 2004 20:26:32 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from ns.crs.co.jp (ns.crs.co.jp [202.214.152.13])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id i12BQWC18176
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Mon, 2 Feb 2004 20:26:32 +0900 (JST)
	(envelope-from 1yen@sh.rim.or.jp)
Received: from inns.ycc.crs.co.jp ([192.168.30.202])
	by ns.crs.co.jp (8.11.3/8.11.3) with ESMTP id i12BIns17433;
	Mon, 2 Feb 2004 20:18:49 +0900
Received: from [192.168.31.117] (localhost [127.0.0.1])
	by inns.ycc.crs.co.jp (8.11.3/8.11.3) with ESMTP id i12BQLC18331;
	Mon, 2 Feb 2004 20:26:21 +0900
From: NAKAMURA Takeshi <1yen@sh.rim.or.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <20040202.105703.35932665.mori@tri.asanuma.co.jp>
References: <20040201003834.068E.1YEN@sh.rim.or.jp> <20040202.105703.35932665.mori@tri.asanuma.co.jp>
X-Mailer-Plugin: AntiSpam for Becky!2 Ver.1.007
Message-Id: <20040202133352.9F4D.1YEN@sh.rim.or.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.07.04 [ja]
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Mon, 02 Feb 2004 20:26:21 +0900
X-Sequence: FreeBSD-users-jp 78236
Subject: [FreeBSD-users-jp 78236] Re: =?ISO-2022-JP?B?GyRCJVclahsoQg==?=
 =?ISO-2022-JP?B?GyRCJXMlP0BfRGobKEI=?= Handbook
 =?ISO-2022-JP?B?GyRCJE44bSRqISkbKEI=?= 
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: 1yen@sh.rim.or.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+040130

$BCgB<$G$9(B

On Mon, 02 Feb 2004 10:57:03 +0900,
 MORI Kouji <mori@tri.asanuma.co.jp> wrote:

>>   /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \
>>       -sOutputFile=/dev/fd/3 - && exit 0
>>  $B$H!"$$$&ItJ,$OF0$/$N$G$7$g$&$+!)(B

> 5.1-RELEASE $B$@$H%G%U%)%k%H$G(B devfs $B$G$7$g$&$+!#(B
> /dev/fd/3 $B$H$+$r;H$&$?$a$K$O(B fdescfs(5) $B$r%^%&%s%H$9$kI,MW$,$"$k$h$&$G$9!#(B
> fdescfs $B$N(B man $B$K$"$k$h$&$K(B /etc/fstab $B$"$?$j$K(B
>
>   fdescfs /dev/fd fdescfs rw 0 0
>
> $B$H$G$b=q$$$F$*$/$H$$$$$H;W$$$^$9!#(B($BF0E*$K(B /dev/fd/3 $B$H$+$,$G$-$^$9(B)

 $B$P$C$A$j$G$7$?!#$G!"8+$F$_$k$H(B
# ls -l /dev/fd/
total 16
crw--w----  1 ossan  tty      5,   2 Feb  2 13:36 0
crw--w----  1 ossan  tty      5,   2 Feb  2 13:36 1
crw--w----  1 ossan  tty      5,   2 Feb  2 13:36 2
d-w-------  1 root   wheel       512 Feb  2 06:45 3/
d---------  1 root   wheel       512 Dec 15 17:32 4/
 $B%G%#%l%/%H%j$,$G$-$k$s$G$9$+!#(B

# ls -ld /dev/fd/?
ls: /dev/fd/3: Bad file descriptor
crw--w----  1 ossan  tty    5,   2 Feb  2 13:37 /dev/fd/0
crw--w----  1 ossan  tty    5,   2 Feb  2 13:37 /dev/fd/1
crw--w----  1 ossan  tty    5,   2 Feb  2 13:37 /dev/fd/2
 $B%U%!%$%kL>$r;XDj$9$k$H(B stat(2) $B$,<:GT$9$k!)!)!)(B

>> % uname -smr
>> FreeBSD 4.9-STABLE i386
>
> $B%G%U%)%k%H$J$iF0$/$s$8$c$J$$$+$H;W$$$^$9$,!"F0$-$^$;$s$+!#(B
> $B<j85$K$O(B 4.8-RELEASE $B$^$G$7$+$J$+$C$?$s$G$9$,!"F0$$$F$^$7$?!#(B

$B$I$&$b!"%U%#%k%?MQ$N%9%/%j%W%H$NF0$+$7J}$K4X78$,$"$C$?$h$&$G$9!#(B
5.1-RELEASE $B$G$b(B
% /usr/local/libexec/lpd/ps2lips4v < /etc/rc.conf > /tmp/XX
**** Unable to open the initial device, quitting.
% /usr/local/libexec/lpd/ps2lips4v < /etc/rc.conf | cat > /tmp/XX
$B$3$A$i$O%(%i!<L5$7!#(B

 $B%j%@%$%l%/%H$5$l$k$H2?$+$,JQ$o$k$H$$$&;v$G$7$g$&$+!#(B
$BF|K\8l$N%O%s%I%V%C%/$K$"$C$?!V(B-sOutputFile=- -$B!W$@$H!"$I$A$i$b@5>o$K(B
$BF0$-$^$7$?!#(B


 $B:\$C$F$$$?%9%/%j%W%H$r99$K$$$8$C$F(B dvi, pdf, samba $B$+$i$G$b0u:~$G$-$k(B($B$+$J!)(B)
$B%W%j%s%?$N(B Raw data $B$rH=CG$7$F0u:~$9$k$h$&$K$7$F$_$^$7$?!#(B

#!/bin/sh
# for EPSON LP-8600

PSprint(){
  exec 3>&1 1>&2
  /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=lp8600 \
    -sOutputFile=/dev/fd/3 -
}

# Make buffer file
TMPDIR=`mktemp -d /tmp/lpr.XXXXXXXX` || exit 1

# Job cancel and other...
cleanup() {
  rm -rf ${TMPDIR}
}
trap cleanup 1 2 15
TMPFILE=${TMPDIR}/.lpr-lp8600__.dvi
cat > $TMPFILE

#  Read file header (see /usr/share/misc/magic)
first_two_chars=`dd if=$TMPFILE bs=2 count=1 2> /dev/null`
isPDF=`          dd if=$TMPFILE bs=5 count=1 2> /dev/null`
isRAW=`          dd if=$TMPFILE bs=7 count=1 2> /dev/null`

if [ "$first_two_chars" = "%!" ]; then
  # -- PostScript file -------------
  cat $TMPFILE | PSprint && cleanup ; exit 0
elif [ "$first_two_chars" = "`printf \\\367\\\002`" ]; then
  # --  DVI file -------------------
  dvips -D1200 -Z $TMPFILE | PSprint && cleanup ; exit 0
elif [ "$isPDF" = "%PDF-" ]; then
  # -- PDF file --------------------
  pdf2ps -dLanguageLevel=3 $TMPFILE - | PSprint && cleanup ; exit 0
elif [ "$isRAW" = "`printf \\\033\\\001@EJL\ `" ]; then
  # -- Raw mode for EPSON LP-8600 --
  cat $TMPFILE && cleanup ; exit 0
else
  #  Plain text?
  cat $TMPFILE | /usr/local/bin/a2ps-j -p -nh -ns -nt | \
    PSprint && cleanup ; exit 0
fi

cleanup
exit 2

==================
LIPS $B$NH=Dj$O$+$J$j6l$7$/$F!"2rA|EY(B(bpi)$B$N@_Dj$i$7$-ItJ,$H(B
lips $B$H$$$&J8;zNs$G$R$C$+$1$F$*$3$&$+$H(B

ESC=`printf '\033'`

isRAW=`sed -n -e '10q' -e \
  "/${ESC}%@${ESC}P41;/"'{
    /[Ll][Ii][Pp][Ss]/{a\\
      raw
    }
  }' $TMPFILE`

$B>r7oItJ,$O(B
elif [ "$isRAW" = "raw" ]; then
  # -- Raw mode for Canon LBP-2050 - (LIPS IV)
  cat $TMPFILE && cleanup ; exit 0
else

 $B$H$7$^$7$?$,!"$3$l$G$h$$$N$+NI$/J,$+$i$:(B...
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
 $B4X@>2-Fl@DG/$N=8$$(B $B$,$8$^$k$N2q(B $B<jEA$$(B $B0l?M$@$1$N>!<j$K?@F`@n;YIt(B
 $BCgB<(B $BIp(B <1yen@sh.rim.or.jp>

