HOME / コンピュータTips / FreeBSD / mgetty+sendfaxのセットアップ(受信FAX編)

Date: 2024/10/05 |  このエントリーをはてなブックマークに追加  |  Tags:

コンピュータTips/FreeBSD/mgetty+sendfaxのセットアップ(受信FAX編)

2000?/??/??

我が家にはFAXがあるので、あえてFAXモデムをつかって受信する必要はありません。

しかし、家庭用のFAXは感熱だったり、熱転写だったり、保存には向かないし、遅いことが多いと思います。保存を考えて我が家のFAXは、インクジェットのものを購入したのですが、このFAXは180dpiぐらいの一昔前のインクジェットプリンタと同様のメカニズムを使っているように見えます。NECのFAXなのですが、同社のインクジェットプリンタと同じインクを使うために、インクが3000円弱もするわりに、長くは使えません。また、セットしておける紙の枚数も非常に少ないのです。

ご存知かもしれないし、多分、感覚的に分かると思いますが、インクジェットプリンタは、個人が大事に使うための機械です。LANにつないで、みんなでごりごり使ってもらおうとすると、大抵すぐに寿命が尽きてしまいます。その点、レーザープリンタの方がタフで、みんなが LANでちょっとしたドキュメントを印刷しても、早いし問題もあまりおきません。

Home Officeには、レーザープリンタがつながっていて、これは常に省電力モードとなって電源が入っています。このプリンタにFAXを受信すると、割合便利だと思い、FAXモデムをセットアップすることにしました。

portsを使う。

/usr/ports/comms/mgetty+sendfax/のものを利用する。

MakefileのFORBIDDENをコメントアウトすること。

コンパイルし、インストールする前に、FAXモデムがどこにつながっているか確認をしておく。tipなどでATコマンドを送り、FAXモデムが動くことは確認しておこう。tipでの操作は/etc/remoteを多少操作する必要があるかもしれない。

make installでは、さまざまな質問をするので適当に答える。電話番号やどのcomポートを使うかも聞いてくるのでちゃんと答えること。

/etc/ttysを確認する。

cuaa? "/usr/sbin/mgetty ・・・・・・・以下略

というものが追加(あるいはリプレース)されているはずである。これはこのcomポートをたたかれたら、そのプログラムを起動する(依存する)という処理なのだが、makeのなかでinitにHUPコマンドは送ってないようなので、送っておく。

kill -HUP 1

とやり、mgettyがきちんと動ことも確認しておく。ps aux | grep mgettyとするといるときもあるが、cuaa?をたたかれない限り起動しないこともある。

とりあえずその番号に電話しFAXモデムが答えてくれれば良い。携帯電話などから適当にその番号へコールし、モデムが受話器を取ってFAXの受付音が流れ始めたら、切ってしまって良い。

適当に受信する。

わざわざ人の手を借りるのも面倒なので、出来れば何らかの端末からFAXが送信できるとよい。以前私は、ISDNの1番号めのFAXから2番号めの FAXMODEMに転送をかけたが、フレッツ契約時にルータにしたため、どうしても1ポートはつながってしまうためにそれは出来ない。

今回は、WindowsCEのPERSONAの付属ソフトでFAXを送信した。

FreeBSD側でFAXが正常に受信されると、今回のインストールでは、

/var/spool/fax/incoming/

の下に、g3FAX形式の画像ファイルで格納される。g3ファイルは、g3topbmでpbm形式に変換することが出来るので、

g32pbm fn????? | xv -

※注意 g32pbmとg3topbmは同一で、mgettyによりインストールされたものである。したがって、ここまで一気に来たなら、rehashを忘れないこと。

で、pbm形式になり、xvで表示することが出来る。

受信と同時に印刷をしたいとき。

受信と同時に印刷をする場合、受信と同時にスクリプトを立ち上げてあげる必要がある。そのスクリプトは、デフォルトでは、

/usr/local/lib/mgetty+sendfax/new_fax

というシェルスクリプトである。このスクリプトの中で、受け取ったらすぐに印刷するとか、メールを送るとか、WEBで見れるようにするだとか、適当にやればよい。今回はまず印刷することを考える。

UNIXにインストールされたプリンタは、すべてPSプリンタ(あるいはgsによるクローン)であることを前提にすると、g3ファイルからpsファイルに変換をすれば、すべてのプリンタで印刷が可能になる。

mgetty+sendfaxの中には、g3topsという便利なソフトが、

/usr/ports/comms/mgetty+sendfax/work/mgetty-1.1.21/contrib

の中に入っているので、このソフトを使わせていただこう。ただし、メーリングリストに掲載されたと思われるフォーマットで記述されていて、最初にドキュメントらしきものが書いてある。適当にもとのg3tops.cのバックアップを取り(cp g3tops.c g3tops.c.org)、最初のほうのマニュアルをコメントアウトしよう。コンパイルは次のように行えばよい。

cc -pipe -O -o g3tops g3tops.c -I ../ -I ../g3/ ../g3/g3.o

コンパイルできたら、/usr/local/lib/mgetty+sendfax/にでも適当にコピーしておく。

そして、new_faxスクリプトを次のような感じで記述しておく。

#!/bin/sh

PATH=/usr/bin:/bin:/usr/local/bin

HUP="$1"
SENDER="$2"
PAGES="$3" 

G3TOPS=/usr/local/lib/mgetty+sendfax/g3tops

shift 3
P=1

while [ $P -le $PAGES ]
do
FAX=$1

$G3TOPS $FAX | lpr -P ps

shift
P=`expr $P + 1`
done

exit 0

どっかのサンプルから適当に改変して作ったのだと思うが、基本的なことだけなので分かりやすいとおもう。FAXログを残したり受信と同時にメールをしたり、WEBに児童掲載するなどしたいときには、ここから適当に編集するとよい。


コンピュータTips/FreeBSD

Recent Updates

openjdk(SPARC)

SPARC用のJAVA。 最近は新しいバージョンがSPARCでリリースされず、苦労している人も多いのですが、SPARC Solarisの界隈人達がビルドして代わりに使われているものです。 Solaris 11 SPARC jdk builds
»続きを読む

Solaris11のCPU(Critical Patch Unit)の当て方

コンピュータTips/Solaris/Solaris11のCPU(Critical Patch Unit)の当て方

Solaris 11.4には4つのリビジョンがあります。 2024年4月現在、Solaris自体の開発はメンテナンスフェーズになったわけでもなく、SRU毎に、最新機能がモリモリ入っていきます。 GA(Release 版) 一応、無償のOTNライセンスの利用も可能 いわゆる、リリース時点のバージョンのことですが、現在は 利用しません 。 以前は、1〜2年に1度の頻度でリリ …
»続きを読む

Emacs.appで書類(Documents)がアクセス出来ないとき

コンピュータTips/MacOSX/Emacs.appで書類(Documents)がアクセス出来ないとき

Catalina以降の権限問題なので、システム設定のセキュリティとポリシーの中にあるプライバシー内のFull Disk Accessに、Emacs.appと/usr/bin/rubyを入れればすむ。 /usrフォルダを、プライバシーの+から入れるのは、ちょっと面倒なので、あらかじめFinderのお気に入りの中に入れておくと良いでしょう。   rubyが入るのは、Emac …
»続きを読む

SONY WH-1000XM3

自分用メモです。 ノイズキャンセラーの性能が良い。 WH-1000Xのころは、ノイズキャンセラーを有効すると、音は聞こえないのに妙な音圧があったが、それがかなり軽減。個人的には気にならなくなった。 また、WH-1000Xのころは、ノイズキャンセラーを無効にしても、なんか作られたような音が出ていたような気がしたが、割と普通に聞こえる。 USB-Cになったのも良い。飛行機でも使う …
»続きを読む

Catalina(10.15)

Catalina Beta を入れ始めたので、自分用のまとめ。 2019/10/8、Catalinaが振ってきたので製品版用に記載を変えました。 32bitアプリを確認すること。 Activity Monitorで32bitアプリがわかるので、そういうアプリがあるなら代替品を見つけておくこと。 /etc以下のいくつかのファイルをバックアップしておくこと。 /etc …
»続きを読む

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初