Text IP Messenger Ver 0.4 2005/03/30 Copyrigth(C) "KOHNO TAKASHI" [概要] UNIX 上で X Window System を使わずに IPMSG のメッセージを送受信するツールです。 [取り扱いなど] ・「tipmsg」はフリーソフトウェアです。 ・再配布は自由ですがこの文章を含めたアーカイブが一式揃うようにして下さい。 ・最新版は、下のURLにあります。 http://www.kouno.jp/home/soft_lab/ ・感想・リクエスト・バグ報告などを頂けると嬉しいです。 [インストール方法] make; make install でインストールできます。 make install_conf で設定ファイル及び readme.txt がコピーされます。 簡単な make ファイルなので環境に合わせて適当に変更して下さい。 確認は VineLinux2.5 でおこなっています。 Makefile の修正例 ・Solaris の場合、LDFALGS に -lsocket -lnsl を追加します。 socklen_t が無いといわれる場合 ・tipmsg.h の適当のところ(最後にでも) typedef unsigned int socklen_t を追加 標準では $HOME/bin 以下に tipmsg の実行ファイルがインストールされて、 $HOME/tipmsg 以下に設定ファイルがインストールされます。 [使い方] ・起動方法 コマンドライン等から tipmsg と入力して起動します。 ハイフン `-' に続いてオプションを設定できます。 設定ファイルがある場合は設定ファイルを読んで各種設定を行ないます。 設定ファイルはデフォルトで $HOME/tipmsg/tipmsg.conf です。 アーカイブに添付された tipmsg.conf を参考にして設定を行なって下さい。 起動中は $HOME/tipmsg/tipmsg/pid にプロセス ID が保存されます。 例: # ~/bin/tipmsg -D # ~/bin/tipmsg -e emacs -s machine_name (emacs が起動するので、メッセージを作成、emacs を終了する。) Send message for kouno OK?[y/n] # y 例2: # ~/bin/tipmsg -P2000 -D # ~/bin/tipmsg -p2000 -e emacs -r Send message for kouno OK?[y/n] # y ※ ポート番号2000で tipmsg を起動して最新のメッセージに返信する。 ・終了方法 tipmsg -t で終了できます。 また Ctrl-C や 先頭4文字が quit のメッセージを受けとることでも同様の終了を 行ないます。 ※ -P(or -p)でポート番号を指定して起動した場合は修了時もポート番号を 指定してください、ポート指定番号で起動した tipmsg を終了します。 ・特殊処理 tipmsg は他の IPMSG から下記の文字列を受信することで特殊な動作をします。 [文字列 - 動作] quit - tipmsg を終了します。 absence - tipmsg の不在モードを反転します。 update - 設定ファイルを良み直して、再エントリーを行ない、 userlist を再作成します。 [オプション解説] オプションはハイフン1つにつき1つづつを指定してください。 引数の必要なオプションはオプションに続いて引数を指定して下さい 大文字のオプションは主に常駐プロセスに、 小文字のオプションは主に一回起動のプロセス(送信等)に意味を持ちます。 A ... 不在モードを設定に対して反転します。 B ... 漢字コードを無視します。 C ... 設定ファイルを指定します。 D ... デーモンモードに移行します。 E ... 入力する漢字コードを EUC-JP に指定します。 H ... ヘルプを表示します。 J ... 入力する漢字コードを JIS に指定します。 K ... 封書モードを設定に対して反転します。 L ... Live モード(受信文の標準出力表示)を設定に対して反転します。 N ... No entry モード(非参加起動)を設定に対して反転します。 O ... 「開封通知」の即時発行モードを設定に対して反転します。 P ... IPMSG のポート番号を指定します。 tipmsg.pid や tipmsg.conf には指定のポート番号が付加されます。 Q ... ユーザーの Entry, Exit の表示を設定に対して反転します。 S ... 入力する漢字コードを SJIS に指定します。 T ... ユーザーリストの種別を指定します。 例 : tipmsg -T 1 (タブ区切り方式のユーザーリストを生成します) U ... ユーザー一覧をファイルに出力します。 W ... ユーザーリストのロギングを行います。 X ... 鍵つき封書モードを設定し対して反転します。 e ... 送信時に利用するエディタを明示的に指定します。 引数なしで指定するとエディタを使わないことができます。 (標準入力のデータを送信します。) f ... 送信時に使うファイル名を指定できます。 ファイル指定時は送信に使ったファイルは削除されません。 h ... ヘルプを表示します。 k ... K と同じ m ... 予約 n ... メッセージを受け取ったユーザーにログ非記載、非返信を要求します。 o ... 未送信の「開封通知」を送信します。引数に開封通知の対象となる メッセージの番号を指定します。メッセージ番号が未指定の場合や 0 の 場合は最新のメッセージに対して「開封通知」を送信します。 番号に負の数値を指定するとすべての未送信のメッセージに対して 「開封通知」を送信します。 例 : tipmsg -o (最新のメッセージに送信) tipmsg -o3 (番号3のメッセージに対する「開封通知」の送信) tipmsg -o-1 (全送信) 注意 : 非封書のメッセージに「開封通知」は送れません。 tipmsg の常駐期間に受けとったメッセージに対してのみ 送信できます。 p ... P と同じ r ... 返信(reply)モードで起動します。 $(HOME)/tipmsg/store/0 (つまり最新の受信メッセージ)のコピーを 用意してからメッセージ編集を行ないます。 引数を与えると 0 以外の任意の番号のメッセージをコピーできます。 受信メッセージの冒頭にある`[', `]' に括られた区間の文字列を 返信先ユーザー名として扱います。 追加の送信ユーザー(or マシン)を指定することもできます。 例 : tipmsg -r tipmsg -r 10 -e vi -s add_machine_name s ... メッセージ送信用に起動します、 すでに tipmsg が起動している必要があります。 最後の引数に続けて送信したい相手のマシン名を指定します。 オプションの最後に指定することを推奨します。 例 : tipmsg -e vi -k -s machine_name t ... 起動している tipmsg を終了させます。 u ... 送信相手にユーザー名を指定できるようにします。 (ユーザー名指定とホスト名指定は同時には行なえません) x ... X と同じ [変更履歴] (2005/03/30) Ver 0.4 0.33 に C99 仕様を混ぜていたのが発覚したので急遽修正 -std=gnu89 -pedantic で文句を言われないように手直し バージョンのつけ方がいい加減になっていたので 0.4 で仕切りなおし (2005/03/29) Ver 0.33 ログファイルを指定している場合に送信内容をログファイルに保存する 機能を追加しました。 従来どおりに送信内容の記載を望まない場合は Makefile の SENDMSG_LOGGING をコメントアウトして make してください。 作者は今まで記載されない事実に気づいていなかったです(^^; (2005/01/28) Ver 0.32 諸事情で停滞していましたがリクエストを受けて久々の更新です。 USE USERLIST LOG 設定を追加しました、ユーザリストのログを取れます。 (-W オプションで反転) 送信時 -n オプションで受信側の IPMSG にログを記載させない、 返信を無効にする送信ができます。mailmsg 用途オプションです。 ユーザ名(否ニックネーム)を環境変数 TIPMSG_USERNAME から 取得するようにしました。 TIPMSG_USERNAME が存在しない場合は 従来どおりにログイン名を用います。 (2002/08/12) Ver 0.31 ニックネーム無しメッセージの表示修正と readlink の扱いよる不正連番のバグ修正パッチを取り込みました。 不在状態をユーザーリストに反映するパッチを取り込みました。 不在を通知したユーザーには最後に'A' が表示されます。 この文字を変更する場合は tipmsg.c 中の ABSENCE_CHAR を修正 (2002/04/23) Ver 0.3 久しぶりの更新です。 Emacs インタフェイスの出現に伴い ユーザーリストファイルの書式を増やしました。 (2001/02/27) Ver 0.24 Solaris 2.8 & gcc でコンパイルできない具合を修正 (2001/02/15) Ver 0.23 単なる readme.txt ファイルの修正です。 -J の JIS コード利用をとっくにサポートしていたのに、予約のままに していました。 (2000/08/6) Ver 0.23 Makefile を修正。Make install で設定ファイルをコピーするのを中止 開封メッセージの送信を設定で選択できるように追加。 開封メッセージをコマンドラインから送信できるように追加。 (-o オプション) ポート番号指定時に利用するすべてのファイルにポート番号を付化 (2000/07/23) Ver 0.22 Makefile を修正 isspace 関数の引数を int に cast するよう追加 エラー時のメッセージを追加 quit メッセージをログに保存 (2000/07/23) Ver 0.21 ポート番号指定時には tipmsg.conf.XXXX を優先的に利用するように変更 (XXXX はポート番号、あらかじめ tipmsg.conf をコピーしておきます) (2000/07/16) Ver 0.2 送信データを Pipe 経由で受けとれるように改良 この場合は送信の確認は行なわれません。 例 : cat hogehoge.txt | tipmsg -s machine_name 返信を実装しました。これにともない表示・保存の画面形式が 若干かわり送信元ユーザー名が[USERNAME]となるようになり、 --- Message END --- の表示がなくなりました。表示を復活させたい 場合は、utility.c の print_message 関数にあるコメントアウトを 削除して下さい。 ポート番号を区別して複数の tipmsg を利用できるように修正。 送信の確認時に送信先を表示するように修正。 Makefile を修正 (2000/06/22) Ver 0.1 tipmsg 作成