次のページ 前のページ 目次へ

2. 質問と解答

2.1 ファックス・プリンタサーバとは?

ファックス・プリンタサーバとは、複数のプログラムを組み合わせて 構築したサーバのことです。efax とプリントサーバを組み合わせると、 プリンタにプリントアウトする要領で簡単にコンピュータからファックス を送ることができます。

2.2 どうやって設定するの?

efax をファックス・プリントサーバとして設定する際には、いくつか 問題があります。私は何度か構築に成功したので、そのノウハウを 集めて、簡単な mini-HOWTO を作ることにしました。コメントは、 <erez@newplaces.com> までお願いします。 以下で順を追って構築方法と利用方法、その他の注意点等を述べます。

efax ソフトウェア

まず、efax パッケージがインストールされているか 確認します。

RPM ベースのシステムなら、コマンド 'rpm -qv efax' を 使ってください。

tar.gz 形式の efax ソースファイルは、 ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz から、バイナリの rpm パッケージは、 ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm から入手できます。

printcap ファイルのエントリ

efax 付属文書では、printcap エントリの行末の : が抜けています。

この問題を解決するには、/etc/printcap に以下のエントリを 追加してください。

fax:\
        :lp=/dev/null:\
        :sd=/var/spool/fax:\
        :if=/usr/bin/faxlpr:

fax コマンド

fax コマンドへはハードリンクを使い、シンボリックリンクは使わないで ください。

次のコマンドを実行してください。

ln /usr/bin/fax /usr/bin/faxlpr

/usr/bin/fax ファイル

/usr/bin/fax ファイルをご使用の環境に合わて編集します。

モデムに応じたファックスクラスを選択します。

CLASS=2.0

FROM フィールドには、あなたの国際電話番号を設定します。 NAME フィールドには、名前を設定してください。

NAME="Your Name"

そして、国際電話番号を国内番号に変換するための一行を加えます。 イスラエルから発信する場合は、以下のようになります。

TELCVT='sed -e s/+972/0/ -e s/+/00/'  # Israel

/usr/bin/fax ファイルの 586 行目には問題があるので、 cfile=.../ の部分を以下のように変更してください。

cfile=`/usr/bin/tail -1 lock`
cfile=`cat $cfile`

586, 587 行目の - (マイナス)記号は取り去る必要があります。

0) echo "$l" | mail -s "fax to $num succeeded" $user@$host ;;
*) echo "$l" | mail -s "fax to $num failed   " $user@$host ;;

/var/spool/fax ディレクトリ

次のようにして /var/spool/fax というディレクトリを作成します。

mkdir /var/spool/fax
chmod 777 /var/spool/fax

ロックファイル

ロックファイル (lock file) (/var/spool/fax/lock) を作成します。 作成されたファイルのパーミションは適切ではないので、次のコマンドを使って 正しく設定してください。

touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock

/dev/modem スペシャルファイル

efax プログラムは、/dev/modem ファイルが実際に存在することを前提 にしているので、シンボリックリンクを張っているだけでは動きません。 モデムが接続されている /dev/cua? と同じメジャー番号とマイナー番号 が付いた /dev/modem デバイスファイルを作成してください。

ls -lL /dev/modem 
rm /dev/modem
mknod /dev/modem c Mj Mi
chmod 666 /dev/modem

Mj の部分には 5 を、Mi の部分には cua0 なら 64 を、cua1 なら 65 等を入れてください。それゆえ、モデムが cua1 に接続されている場合は、次にようになります。

mknod /dev/modem c 5 65

/var/lock ディレクトリ

/var/lock ディレクトリのモードを変更します。

chmod 1777 /var/lock

2.3 サーバとして使うには?

ファックスプリンタを使うときは -P オプションを付け、 -J オプションでファックス番号を指定します。

次のような lpr コマンドを使ってください。

 lpr -Pfax -J <Fax-Number> [file-names]
 any command | lpr -Pfax -J <Fax-Number>

2.4 宛先のファックス番号をどこに指定するか?

-J オプションの後に、宛先の番号を指定してください。

2.5 ネット上のほかの Unix 機からファックスサーバーを利用する方法

/etc/printcap に以下の項目を加え、クライアント側の Linux 機には スプールディレクトリ等を追加します。

fax:\
        :sd=/var/spool/fax:\
        :mx#0:\
        :sh:\
        :rm=host.domain:\
        :rp=fax:

さらに、クライアントのホスト名をサーバー側の /etc/hosts.lpd に 書き加えます。

使い方はいままで通りです。

注意:

efax がファックス各ページに書き込むヘッタ文字列は、ファックスを送付する ユーザー名が変わっても同じです。(これは、アップデートの際に修正される かもしれません。)

2.6 Caldera の LPRng ユーザについて

LPRng 印刷管理ソフトウェアでは、コントロールファイルの扱いが異なって います。

この問題点に気づき解決策を提供してくれた Montecchiani <m.luca@usa.net> に感謝します。以下に /usr/bin/fax ファイルの更新個所を記載します。 以下の行を 586, 587 行にある cfile=.../ 部分と置き換えてください。

# Modified to work also with the LPRng package
# Luca Montecchiani (08/11/97 m.luca@usa.net)
if [ !-z "$CONTROL_FILE" ]
    then
        cfile=`cat tail -1 lock`
        cfile=`cat $cfile`
    else
        cfile=$CONTROL_FILE
fi                                       


次のページ 前のページ 目次へ

[