LinuxでもEPWING 形式の電子辞書を使用することができます。
EPWING に対応している製品はhttp://www.epwing.or.jp/lineup/lineup.html が参考になります。
1996年ごろLinuxを使い始めたころにVineにインストールしたのですが久しぶりにRedhat9にインストールしてみました。
NDTPD を導入するのですが
事前にEB というCD-ROM書籍にアクセスする為のC言語の関数ライブラリが必要です。
2004年2月時点でEBの最新版は4.0だったのですがうまく動作しなかったのでeb-3.3.3.tar.gzをhttp://www.sra.co.jp/people/m-kasahr/eb/index-ja.html からダウンロードしました。
eb-3.3.3.tar.gzを/usr/local/srcにコピーし
# tar xvfz eb-3.3.3.tar.gz を実行し、展開されたディレクトリに移動しコンパイルです。
# cd eb-3.3.3
# ./configure
# make
# make install
これでOKです。
更に ebnetd-1.0.tar.gzをダウンロードし同様にインストールします。
# tar xvfz ebnetd-1.0.tar.gz を実行し、展開されたディレクトリに移動しコンパイルです。
# cd ebnetd-1.0
# ./configure
# make
# make install
/usr/local/etc/ebnetd.conf.sampleができるのでコピーしてebnetd.confを作成します。
# cp /usr/local/etc/ebnetd.conf.sample /usr/local/etc/ebnetd.conf
/usr/local/sbin/ndtpcheck コマンドを実行してみる。
# /usr/local/sbin/ndtpcheck
次のようなエラーが発生。ndtpd用のユーザーを作成する。
ndtpcheck: /usr/local/etc/ebnetd.conf:20: unknown user: ndtpuser
ndtpcheck: configuration failure
# useradd ndtpuser
# passwd ndtpuser
起動グループをndtpuserに変更する。
# vi /usr/local/etc/ebnetd.conf でgroup変更
group ndtpuser
更に begin bookから end までに参照するCDROM書籍を記載しておおきます。
一般的にはCDROMの参照となるがDISKに落しておけば複数の書籍を一括して検索できます。
例)
begin book
name readers
title リーダース英和辞典
path /mnt/cdrom
max-clients 1
hosts 127.0.0.1
end
次に/etc/service に次の行を追加します。
ndtp 2010/tcp
/etc/syslog.confに行を追加しsyslog経由でログ出力するようにします。
local0.info /usr/local/var/ndtpd/log/ndtpd.log
空のログファイルを作成します。
% touch /usr/local/var/ndtpd/log/ndtpd.log
% chmod 644 /usr/local/var/ndtpd/log/ndtpd.log
ps aux | grep syslogd でsyslogのPID取得しsyslog.confを最読み込みさせ、設定を反映させます。
kill -HUP プロセスID
以下のコマンドでsyslogdにテストメッセージを送信します。
% logger -p local0.info "test message"
cat /usr/local/var/ndtpd/log/ndtpd.log で追記されていることを確認します
作成したndtpuserでndtpdを起動します。
su - ndtpuser
% /usr/local/sbin/ndtpd
すると /var/log/messagesにエラーが・・・
failed to open the file, Permission denied: /usr/local/var/ebnetd/ndtpd.loc
ということで以下のコマンド実行
chown ndtpuser /usr/local/var/ebnetd
chgrp ndtpuser /usr/local/var/ebnetd
再度
% /usr/local/sbin/ndtpd
これで起動しました。
次に実際に電子書籍を参照するクライアントプログラムを導入します。
今回はBookView を使用しました。
bookview-3.2.tar.gzをダウンロードします
/usr/local/srcに保存し以下のコマンドを順次実行しコンパイルします。
# tar xvfz bookview-3.2.tar.gz
# cd bookview-3.2
# ./configure
# make
# make install
$ bookview で起動します。
少し初期設定をしてやります。
これで検索可能ですね。こんな感じです。
CDをアンマウントして別のCDをマウントしても書籍情報は前のままです。
ndtpdを再起動します。
/usr/local/sbin/ndtpcontrol restart
又は
# ps aux | grep ndtpd
で ndtpd のpidを調べます。
そして
# kill -HUP ndtpd
で再度bookviewを起動すれば最新の情報になります。
[へなちょこlinuxのコーナーへ]
[ホームへ]