FAXもLinuxで

English

## efaxでFax modemを使う

GUIインターフェースとしてTkScanFaxの日本語化ができていますのでお試しください。
GUIインタフェースTkFax / English

3 Feb 2002 (origin: 17 May 2001)この文書の最新版は http://shino.pos.to/linux/fax.html にあります

(3 Feb 2002) ドキュメントの一部に誤りがありました。
3.モデムの設定とディレクトリの準備 `
(誤)# chown root.uccp /var/spool/fax/incoming
(正)# chown root.uucp /var/spool/fax/incoming`
RPMパッケージを使ってインストールされた場合の設定には誤りはありません。
(30 Jan 2002) ヨーロッパ系の一部ロケールの下で'bad units'のエラーが出るのを回避
(6 Jan 2002) Windowsからsamba経由での送信に対応。 fax start/stopまわりのバグ修正。
(15 Dec 2001) LPRngを使っているシステム(Red Hat Linux 7.xなど)でもプリントスプーラーを使用しての送信ができるようにした
(7 Oct 2001) 自動受信時にINCOMINGDIRを、プリントスプーラーを使用しての送信時にOUTGOINGDIRをそれぞれ別個に指定することができるようにした
(20 Aug 2001) オリジナルのefax-0.9a001114 は自動受信モードで'fax start'が機能しないというバグがあったのを修正するパッチの配布を開始

1. efaxの入手とインストール

efaxの バージョンはstableとはなってないものの efax-0.9a-001114 が良いようです。ただし自動受信まわりにバグがあります。/usr/bin/faxを入れ換えるか、こちらで用意したパッケージをを導入してください。

- efax-0.9a-001114a7.tar.gz ... 'bad units'エラー回避版 (30 Jan 2002)
- efax-0.9a001114a7-1.src.rpm
- efax-0.9a001114a7-0vl1.i386.rpm ... for RedHat6.2, Vine2.x, Kondara1.2/2000
- efax-0.9a001114a7-1.i386.rpm ... for RedHat7.x, Kondara2.x, Mandrake7.x/8.x

旧バージョン

- efax-0.9a-001114a6.tar.gz (6 Jan 2002) WindowsからSamba経由のfaxlprに対応
- efax-0.9a-001114a5.tar.gz (15 Dec 2001) LPRngとの組み合せでもfaxlprが使えるようにした
- efax-0.9a-001114a4.tar.gz (6 Oct 2001) fax start/stopのバグ修正

2. efaxの設定

efaxの設定はシェルスクリプトである /usr/bin/faxの内容を直接変更してもよいのですが、 トーンかパルスかなど自分の環境に合わせての変更部分を /etc/efax.rcを作っておき ます。例を示します(or in English)。 ~/.efax は自動送受信では使われません。

3. モデムの設定とディレクトリの準備

モデムのドライバは導入されているものとします。 （参考：Lucentのチップを使ったPCI Fax Modemドライバの導入）

- モデム・デバイスを全ユーザーが読み書きできるようにしておきます。使いやすいように /dev/modem へシンボリックリンクを張っておきます。これらの設定はモデムをパッケージで導入すると自動的にやってくれている場合があります。 （ltmodem-*.rpmは /dev/ttyLT0 という仮想デバイスを作り、/dev/modem へのシンボリックリンクを張る）
  モデムがたとえば /dev/ttyS0 に繋がっているならば、ルート権限で

      # chmod 666 /dev/ttyS0
      # ln -sf /dev/ttyS0 /dev/modem

- ロックファイルを /var/lock に作るので、このディレクトリのパーミッションを 777 に。 また受信FAXを /var/spool/fax/incoming に、 送信FAXのスプーリングを /var/spool/fax/outgoing に、 ログを /var/log/fax に置くこととします。（上記パッケージ を使ってインストールした場合はこの作業が自動的に実行される。）

      # chmod 777 /var/lock
      # mkdir -p /var/spool/fax/incoming
      # chown root.uucp /var/spool/fax/incoming
      # chmod 775 /var/spool/fax/incoming
      # mkdir -p /var/spool/fax/outgoing
      # chown lp.lp /var/spool/fax/outgoing
      # chmod 770 /var/spool/fax/outgoing
      # touch /var/spool/fax/outgoing/lock
      # chmod 644 /var/spool/fax/outgoing/lock
      # mkdir -p /var/log/fax
      # chmod 777 /var/log/fax

4. 自動受信とスプーリングの設定
これまでの設定で手動の送受信はできるはずなので、その動作確認をしてから次の設定に進むのが良いでしょう。

- 自動受信の設定

  /etc/inittab に

      s1:345:respawn:/bin/sh /usr/bin/fax answer

  を追記しておき、再起動するか root権限で # kill -1 1 を実行すれば自動受信が有効になります。
- スプーリングの設定（上記パッケージ を使ってインストールした場合はこの作業が自動的に実行される。）

  シンボルリンクを作ります。

      # ln -s /usr/bin/fax /usr/bin/faxlpr

  /etc/printcap に次の内容を追記します。

      ##PRINTTOOL3## LOCAL
                    fax:\
              :sd=/var/spool/fax/outgoing:\
              :mx#0:\
              :sh:\
              :lp=/dev/null:\
              :if=/usr/bin/faxlpr:

  それぞれの行末の'\'の後には空白なども無いように気をつけてください。 lpdを再起動すればスプーリングが有効になります。

      # /etc/rc.d/init.d/lpd restart

5. 以下に コマンドラインでの基本的な使い方を記します。 GUIインターフェースとして TkFaxがあります。

- 手動送信

psファイルなどをfax形式に変換するには、たとえば

    $ fax make doc.ps

doc.ps.001, doc.ps.002 などのtiffg3ファイルが作られます。このファイルは xloadimage, kfax, ghfaxveiwer などで表示できます。

日本語テキストをfax形式に変換するには、いったんpsファイルを作る必要があります。たとえば

    $ cat doc.txt | mpage -1 - > doc.ps ; fax make doc.ps

送信は例えば

    $ fax send 03-3999-9999 doc.ps.0*

- プリントスプーラーを用いた送信
RedHat7.x, Kondara2.xなどプリントスプーラーにLPRngを使うシステムでこの方法を使うには ここで配布のefax-0.9a-001114a5以降が必要です。

psファイルをlprコマンドを使ってスプール、バックグラウンドで送信されます。

    $ lpr -P fax -J 03-3999-9999 doc.ps
    (03-3999-9999 は相手先のFAX番号、 doc.ps はPostscriptファイル)

多くのlinuxアプリケーションではプリント命令でpsファイルを作成するので、印刷コマンドの変更でFAX送信ができます。例えば Netscape で 「ファイル」→「印刷」で出力先をプリンタに指定、印刷コマンドを
lpr -P fax -J 相手先のFAX番号 とします。 ここで「印刷」ボタンでFAX送信となります。 FAX番号中の特殊記号は(0.9a6以降のバージョンでは) '#'→'_043', '*'→'_052' と置き換えてください。たとえばFAX番号が'#1*2'なら'-J _0431_0522'。
ただしこれだとカバーページは付かない(/etc/efax.rcで設定した1行のヘッダのみが付く)のでお勧めしません。 出力先にファイルを指定、psファイルを作ってから TkFaxなどでカバーページなどを付けてから送信するのが良いでしょう。

相手が話し中だと何度か掛け直しをします。 掛け直しの間隔や回数は/etc/efax.rcで設定できます。 送信待ちのジョブは lpqコマンドで確認できます。
$ lpq -P fax
中止は
$ lprm -P fax
あるいは lpqコマンドで表示されたジョブ番号(FAX番号ではありません)を指定して
$ lprm -P fax ジョブ番号

送信が完了あるいは失敗するとその旨ユーザーにメールが届きます。 sendmailやpostfixなどローカルのメール配送システムが動くようにしておいてください。

- Windowsなどからのリモート送信
(efax-0.9a-001114a6以降)

プリンタ名称を'fax'と見立ててリモートプリンタの設定をすればプリントスプーラーを用いた送信でリモートからのFAX送信が可能になります。 フィルタはPostScriptプリンタとしてください。 Samba経由で MS-Winsowsから発信する場合などジョブ名が指定ができない場合は、ファイル名をFAX番号とすることで使用可能です。 拡張子は無視しますので、たとえば '012345678.doc'などのファイル名もOKです。 FAX番号中の特殊記号は '#'→'_043', '*'→'_052' と置き換えてください。たとえばFAX番号が'#1*2'なら'_0431_0522.doc'。 MS-Windows側の設定についてはMasayo Ichirakuさんのページにある「LinuxのFAXをWindowsのプリンタとして追加する」を参考にしてください。

- 手動受信

FAXが掛かってきてコールされている状態で

    $ fax receive

で efaxが電話をとり受信します。
モデムに繋いでいる電話機で取った場合は 「ピー」という相手先のFAX送信音を確認し、 $ fax recieve で efaxに電話を取らせてから受話器を置きます。

受信FAXは日付と時間にもとづいた0518150520.001, 0518150520.002など数字ばかりのファイルになります。 このファイルは xloadimageや ghfaxveiwerで表示できます。 KDE環境では kfaxが便利です。

受信FAXはカレントディレクトリに置かれるので、 管理しやすいように特定のディレクトリ、 例えば ~/Fax を作っておき、 このディレクトリに移動してから efaxを起動するとよいでしょう。 自動受信と揃えて /var/spool/fax/incoming を使うのもよいでしょう。

- 自動受信

/etc/inittab の設定で自動受信を有効にすると、掛かってくると自動的に応答、 受信が終ると回線を切断します。 受信FAXは/etc/efax.rcで指定したディレクトリ（INCOMINGDIR=/var/spool/fax/incoming ）にtiffg3形式で保存され、 xloadimageやghfaxviewerなどで閲覧できます。 FAXと 電話を共用する場合は efaxが電話を取るまでのベルの回数を /etc/efax.rc の中で

    ANSRINGS=8

などと少し長い目にとっておきます。 モデムによっては ANSRINGS=1 でないと動作しないものがあります。PRAGMATIC I56LVP-Bがそうでした。初期化コマンドの問題かもしれません。
自動受信が邪魔なときはコマンドラインから $ fax stop で一時的に休止、 $ fax start で自動受信を再開します。 オリジナルのefax-0.9a001114 はこの'fax start'が機能しないというバグがあります。つまり、一度止めると再開できなくなる。
着信があるとデフォルトでは root宛にメールが届きます。 root宛のメールが自分のところへ届くよう /etc/aliasesなどで設定しておきます。

    # Person who should get root's mail
    root:		自分のユーザー名

/etc/aliasesを触ったら

    # newaliases

を実行してデーターベースを更新しておきます。

6. 関連資料

- GUIインタフェースTkFax
- 川岸さんのページにいろいろ参考資料があります。
  そのほか次のようなfaxソフトがあるようです。
- HylaFAX
... 多機能fax送受信プログラム
- GFax
... HylaFAXのGUIフロントエンド

この件に関し質問、アドバイスはE-mailで `tkscanfax <shino@pos.to>` まで

efaxでFax modemを使う
[Linux奮戦記]