FreeBSD(98)4.2Release+SambaでHP DeskJet5551を動かす
使用環境:FreeBSD(98)4.2Release+SAMBA2.2.4日本語版


念のための注意:設定に関しては,2002年に,自宅でPC-9821V12をプリンタサーバー+ファイルサーバー化した時のメモです。(一部改訂)
だいぶ古びた記述になっているかと思われますが,誰かしらの役に立つかもしれないので,
あと,ホームページのコンテンツが少ないこともあってこの場に掲載させていただきます。(笑)
一応,2年前の状況に基づく記述ですので,これに基づいた作業を行う際にはyour own riskということで,よろしくどうぞ。
あと,かなり初心者(今でもですが)の時の記載なので,なぜかghostscriptを入れたり
ファイルをfetchで取ってくると言う基本的なことが出来ていませんが,その辺はご愛敬ということで。

とりあえず,FreeBSDのインストール+インストール時に
PackageでSambaを追加しておきます。最初から日本語化されていた方が
良いと思うのであれば,Version2の系列の最新版をインストールしておきます。
大規模ネットワークなどを想定するなら,Version3系列が良いのですが,
若干日本語化のための操作が必要な模様です。また,FreeBSD5.3のパッケージメニュー
からも追加できないようなので,要注意です。
Samba3も,一応FreeBSD(98)5.3-Releaseで試しにやってみたので,近いうちに下のリンクから。
Samba3設定
Samba自体の設定も詳しいページがたくさんあるので,
そちらをご覧下さい。Windowsとの設定で一番参考になるのは,下記のページです。
「Sambaが動作しないときの診断方法」
できれば、Sambaでwin→freebsd機にコピーできるところまで持っていきましょう。
ftpやfetchがFreeBSD上で出来れば,あるいはファイルサーバーとして使わないのであれば
特に必要はありませんが。

packagesのhpijsを追加。1.2.1など1.2以上のバージョンであることが条件です。

もし,インストールフロッピーとかが古かったり,難しいと感じた場合は
http://www.jp.freebsd.org/www.FreeBSD.org/ja/ports/よりWindowsマシンで接続し、
SAMBA経由でFreeBSDのホームディレクトリーにコピー。
Homeに移動した後に,pkg_addコマンドでファイル名を指定して追加します。

hpijsコマンドでhpijs -hを実行。

Hewlett-Packard Co. Inkjet Server 1.2.1
Copyright (c) 2001-2002, Hewlett-Packard Co.
と出たらここまでは成功です。

次に/stand/sysinstallなどから
ghostscriptを追加します。
http://www.yk.rim.or.jp/~george/freebsd_soft_print.html
などが参考になります。

こちらも追加後、gs -hとやって
ijs という三文字が途中で確認できれば成功です。

次に、mkdirでスプールディレクトリを作成しておく。
今回の場合はdj5551,sambaを/var/spool/lpd/以下に作成しています。

その後エディタ(私の場合はee)でprintcapの設定。
ちなみに私の/etc/printcapは以下の設定。
------------------------
##
## HP DJ5111
##
dj5551|HP DJ5551|lp:\
        :sh:\
        :mx#0:\
        :ct#0:\
        :if=/usr/local/libexec/hpif:\
        :lp=/dev/lpt0:\
        :sd=/var/spool/lpd/dj5551:\
        :lf=/var/log/lpd-errs:
--------ここまで--------
次に、/usr/local/libexec/hpifに
以下のフィルタ(エディタでテキスト打ちして実行権限を与えます)を作成。
------------------------
#!/bin/sh
#

#
#  Treat LF as CR+LF:
#

printf "\033&k2G" || exit 2

#
# Read first two characters of
#
read first_line
first_two_chars=`expr "$first_line" : '\(..\)'`

if [ "$first_two_chars" = "%!" ]; then

/usr/local/bin/gs -sDEVICE=ijs -sIjsServer=/usr/local/bin/hpijs -dIjsUseOutputFD \
         -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="DESKJET 990C" \
         -r300x300 -dNOPAUSE -dSAFER -sOutputFile=- - quit.ps && exit 0

else
        echo $first_line && cat && printf "\033&l0H" && exit 0
fi

exit 2

--------ここまで--------
作成後、chmod 666 hpifをして実行できるようにしておく。

ちなみに-sDeviceModelがDESKJET 990Cとなっているが特に影響はなさそう。
正常動作こそ至上命令です(笑)。

これで一回,FreeBSD上にログインした後,ghostscriptのexamplesから
(私の場合は/usr/local/share/ghostscript/7.05/examples)
lpr tiger.ps
などをして無事出力されれば成功。

そして、SAMBAの方とWindowsの設定。
SWATでprintersの設定まで持っていく。(←わからない人はSambaドキュメント参照)
ここで詳細設定をクリックして、dj5551でuse client driverをYesにしておく。
上でmkdir sambaをしているのならデフォルトでたぶん大丈夫。
その後はウィンドウズからネットワークプリンターを追加する形で
ドライバーをインストールしておく。
インストール後プリンタのプロパティ→詳細→スプールの設定→スプールデータ形式を
rawに設定。

ここまで出来たら、プリンタのプロパティから印刷テストを行ってみる。

FreeBSD覚え書き
http://apex.wind.co.jp/tetsuro/f-bsd/
FreeBSD QandA ジャンル別一覧: プリンタ
http://www.jp.freebsd.org/QandA/HTML/1465.html
2001-11のきまぐれの記録
http://edamame.summing.com/~murashin/d/d2001-11.html
をかなり参考にさせていただきました。ありがとうございました。

→PC部門インデックスへ戻る

LAST UPDATE:May 1, 2005