FreeBSDでもプリンター OKI 3400N で印刷できる

数週間何とかしたいと思っていたことがようやく解決しました。FreeBSDでOKI3400Nの印刷が可能になりましたので、報告します。OKI3400Nに限らず、種々プリンターに応用出来ます。

1.ドライバーのインストール

まず、portからドライバーをインストールします。私のはFreeBSD8.1の未更新portでした。

> cd /usr/ports/print/foo2zjs
ここからルートで作業します。
> su
# make install clean
少し時間がかかります。成功すると、/usr/local/binにドライバーが多数インストールされます。

2. ドライバーを選ぶ

このドライバーの中から適合するものを見つけます。

# ls /usr/local/bin | grep foo
foo2hiperc
foo2hiperc-wrapper
……………
foo2hiperc-wrapperはshell scriptですので、中身をのぞいてみます。
# cat /usr/local/bin/foo2hiperc-wrapper
うん。C3400がありました。間違いなくこのドライバーです。ただ、私のshellはtcshですが、どういうわけか、PATHの記述を書き換えないと、’gs not found’エラーが発生します。

3. Filter script

簡単なフィルタースクリプトを書きます。

#!/bin/sh
# file: /usr/local/libexec/ifoki_foo

/usr/local/bin/foo2hiperc-wrapper -c -p 1 -s 1

コメントを除くとたった2行です。オプションはwrapperのなかに説明されていますので、よく読みましょう。

4. printcap

いよいよ/etc/printcapの設定です。

私の場合、OKI3400Nはランにつながっていて、デフォルトで使いますので、以下の内容になります。

lp|oki|oki3400n:\
:lp=9100@oki:sh:\
:sd=/var/spool/output/oki:lf=/var/log/lpd-errs:\
:if=/usr/local/libexec/ifoki_foo:

lp=9100@okiがランで使う場合のミソです。okiはランにつながっているプリンターのホスト名、9100はポート番号です。プリンターのウエブ設定を見るとポート番号が分かります。直接つながっている場合はもっと簡単ですね。ディレクトリを作るのを忘れないでください。

5. これで印刷出来ます。めでたし。

しかし待てよ。印刷の設定はどうするのか。オプションを書き込んだファイルをフィルタースクリプトに読ませるようにしたらどうかな。それだと、子供とかには印刷の設定が出来ないことになってしまうが、仕方ないか。(次に続く)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。