X680x0 Ko-Window 簡易TELNETターミナルソフト
                    mtelnet.win v1.01 + aleph version 0.2

                            original version:           1996 9/29 小笠原博之
                            aleph version:    1997 5/22 Aleph こと 坂田 充啓

  Ko-Window 上で動く、簡易telnet ターミナルソフトです。telnet プロトコルによ
る接続および、vt100(xterm)系エスケープシーケンスエミュレーションに対応してい
ます(termcap付属)。X68000 を端末として使えます。当然、telnet ウィンドウは同時
に複数開いて、同時に複数接続&使用することができます。また、前ヴァージョンまで
はSunOS4.1.xなど、一部のOSに対してしかtelnetが成功しませんでしたが、今回は
その他のOSにもログインできます。

v1.00からの変更点: logクローズ時にフラッシュされていなかったバグ修正,PoopUp
        MENUで漢字コードをいつでも変更可能にした,その他
v1.01からの変更点: optionのネゴシエーションが、fall throughを期待していたのを
        修正。ただし、全部の要求を拒否するだけなので、ECHOがない>ログイン時

●使い方

  まずネットワークドライバ inetd.x を常駐させ、その後 ppp ならば ppp.x を使っ
てネットワークに接続したのち Ko-Window を起動して下さい。inetd.x を常駐させ
る場合は、必ず「-t -1」というオプションが必要です。
  ウィンドウ上で mtelnet.win を Command.win 上などから起動します。後ろに接続
先のホスト名(またはIPアドレス)を書いて下さい。

        mtelnet [MiniTERMオプション] ホスト名 [ポート番号]

 <例>
        mtelnet bbs.yamagata-u.ac.jp
        mtelnet 133.24.72.9

  接続が切れた場合は勝手にウィンドウをクローズします。またウィンドウを閉じる
と強制的に接続を切ります。

  ポート番号は、省略すると services ファイルの telnet エントリを参照します。

 接続時にデバッグ用の文字列が出てきます。telnet関係のRFCを読むか、
UNIXマシンの/usr/include/arpa/telnet.hあたりを参照すると意味がわかるでしょう。

 すべてのオプション要求を拒否するので、ECHOも拒否します。ゆえに、login,
passwordなどのエコーバックはありません。ログイン後に.loginなどで適当に
設定するようになっていれば、その後は問題なく使えます。

 接続中にIACが送られてきた場合は、どのような動作をするのか不明です。


● termcap について

  mtelnet.win は、定評ある KX_Term20 のターミナルエミュレーションルーチンを使
用し、vt100 系互換シーケンスをサポートしています。特に TERM 設定が xterm の時
に正常に動作するよう調整しています。UNIX 端末として使用する場合は、ほとんどの
 OS が最初から xterm エントリを持っていると思われるので、TERM=vt100 ではなく
 TERM=xterm の指定をお勧めします。xterm エントリがない場合は、付属の termcap
ファイルを install して使用して下さい。

        csh系 設定例 >  % set term=xterm
        bsh系 設定例 >  % TERM=xterm; export TERM



● MiniTERM オプションとその他の機能

・特殊キーコード送信&特殊操作

        [CTRL]+[SPACE]  0x00 の送信
        [SHIFT]+[BS]    0x7f(DEL) の送信

        [F9]            ログファイル保存の ON/OFF (ファイル名は -n で指定可能,
                        常にアペンドになる)


・MiniTELNET オプション

        -nログファイル名        ログファイル名の指定(default mtelnet.log)

        -d<mode>                受信表示漢字コードの設定(0:SJIS/JIS 1:EUC/JIS)
                                (default -d0)

        -k<mode>                送信キー漢字コードの設定(0:SJIS 1:EUC 2:JIS)
                                (default -k0)

        -e                      EUC漢字モード簡単指定(-d1 -k1 と同じ)起動後
                                ポップアップメニューからも変更可能


・MiniTERM オプション

        -x<n>   ウィンドウ初期起動位置
        -y<n>

        -f<n>   ウィンドウの起動時のフォントサイズを指定します 8,10,12,16,24
                起動後ポップアップメニューからも変更可能(default -f12)

        -l<n>   ターミナル行数(default -l25) MAX 32

        -a<n>   文字アトリビュート(default -a9)

        -s<n>   スクロール行数(default -s1) スクロールが遅い時に、値を増やし
                ておくと速くなります

        -t<n>   ターミナルフラグ(default -s2)
                        bit0: 1=ベルを鳴らす, 0=鳴らさない
                        bit1: 1=vt100モード指定
                        bit2: 描画最適化指定(通常0)

        デフォルトで vt100 モードになっています。Human 互換ESCシーケンスにし
        たい場合は -t0 スイッチをつけて下さい。



●漢字コードについて

  漢字コード変換は、表示コード、キー入力コードそれぞれ別々に設定を行うことが
できます。デフォルトは入出力ともに SJIS(無変換) です。単純に EUC に設定したい
場合は、-e オプションをつけて下さい。(ポップアップメニューによる漢字コード
切り替えは、再現できませんでした。)

        ・表示(受信)漢字コード (HOST->X68K時の変換)

                JIS(7bitJIS)コードはモードに関係なく表示できます。

                -d0     SJIS/JIS SJISまたはJISコード
                -d1     EUC/JIS  EUCまたはJISコード

        ・キー入力(送信)漢字コード (X68K->HOSTの変換)

                -k0     SJIS (無変換)
                -k1     EUC
                -k2     JIS(7bitJIS)

  また、SJIS/EUC/JIS ともに半角カナ(JISX201片仮名)コード変換に対応しています。

<例>
        ・送受信ともに SJISの場合
                mtelnet         (無指定でOK)

        ・送受信ともに EUCの場合
                mtelnet -e

        ・送受信ともに 7bit JIS の場合
                mtelnet -k2

        ・受信は SJIS だけど送信は JIS にしたい場合
                mtelnet -d0 -k2



●テキストのアップロードとダウンロード

        テキストのダウンロードは、[F9] や -n オプションによるログ保存機能を
        使います。

        また KF からファイルを mtelnet.win へドラッグすると、そのファイルの
        内容をアップロードします。



●ポップアップメニュー

        Paste           ClipBoard の内容を、キーコードとして送信します。
        Font-10         10dotフォントにします
        Font-12         12dotフォントにします
        Font-16         16dotフォントにします
        Font-24         24dotフォントにします
        Log切替         logファイル保存状態の ON/OFF を切り替えます
        EUC             入出力ともEUC漢字コードにします (-d1 -k1相当)
        S-JIS           入出力ともSJIS漢字コードにします (-d0 -k0相当)



● inetd/ppp ドライバの常駐とインストール

        inetd.x および関連ファイルやコマンド群

                tcppacka.lzh  (計測技研製無償配布パッケージ)

        inetd.x 用ネットワーク関係のプログラム開発

                tcppackb.lzh  (計測技研製無償配布パッケージ)

        iij-pppドライバ ppp.x

                pppx_r2.lzh (移植 K.Shirakata さん)

  ppp 接続する場合のドライバの常駐および実行方法は、pppx_r2.lzh 内に含まれる
 howtouse.doc に非常に詳しく、かつ分かりやすく記述してあります。これを読めば
すぐ使えるようになるはずです。ppp.x 付属の conf.ppp を編集して使えば、自動ロ
グインもできます。(ppp.x 起動後 dial コマンドで自動で繋いでくれる)

<<<<Ko-Window 上で inetd.x や ppp.x を使う場合の注意>>>>

    ・inetd.x を常駐する時に必ず -t -1 オプションをつけて下さい。

                inetd -t -1

      これを忘れると、Ko-Window 上で System エラーがでて止まります。(trap 番
      号が衝突するため)

    ・inetd.x や ppp.x の常駐や実行は、必ず Ko-Window を起動する前に行って下
      さい。

    ・当たり前ですが、ppp.x 使用時はシリアル回線は ppp.x が使用しています。
      ppp 接続中は、シリアル回線を使用する KX_Term20 などのプログラムは起動
      しないで下さい。



●関連ツール

  この mtelnet は行入力モードを持っていませんが、KX_Term20 付属の chatwin.win
を使用することで行編集入力をこなうことができるようになります。chatwin.win は
たとえば次のようにして起動します。

        chatwin -pmtelnet.win

ただし現在の chatwin はプログラム名で判断してるので、mtelnet を複数起動した場
合うまく行かないことがあります。そのような場合は、mtelnet.win を別の名前にコ
ピーしたり、リンクをはって別名の mtelnet を作れば OK。



●注意点

・ターミナル部分が表示文字アトリビュートを保存しません。リドロウすると反転や
  色変え部分が通常色になってしまいますが、仕様です。

・telnet の各種オプションが設定できるコマンドモードを持っていません。

・動作確認済OS
        FreeBSD 2.1.7-RELEASE #0
        IRIX 6.x
        Linux 2.0.30 #2
        Solaris 2.x (接続中にIACが来た時、変な文字列が出ます)

●最後に

  最近、K.Shirakata さんの移植された iij-ppp の ppp ドライバをダウンロードし
ました。inetd.x , ppp.x を組み込めば、自宅から telnet や ftp ができるように
なります。すばらしい、これで近場の安いプロバイダが使える使える。しかし、せっ
かく ppp で繋いでも、telnet.x はウィンドウ上では動かないため、複数接続やター
ミナルエミュレーションなどいまいち不満が残ります。

  そこで、取り敢えず一応ターミナルとして使え、かつウィンドウ上でつながること
だけを目的にした簡易 telnet コマンドを作成しました。機能は最小限ですが、ウィ
ンドウ上で telnet が開けるというだけでもメリットは物凄く大きく、かなり使えま
す。
  さすがにシリアル経由だとちょっと遅いですが、WS 端末にも便利で接続先の WS
上でコンパイルしながらチャットも OK。

  プログラム開発には、計測技研の libnetwork.a および libether.a を使用させて
いただきました。またターミナルエミュレーション部分は MiniTERM ライブラリを使っ
ています。

  転載、配布は、COR.さんの規定に準じます。

v-.-- 96/08/29  tcppacka.lzh,pppx_r2.lzhダウンロード,すごい、使える
v-.-- 96/08/30  tcppackb.lzhダウンロード
v0.01 96/09/01  試しにtelnetモドキを作ってみたら、なんか動いてしまったみたい
v0.02 96/09/01  ログファイル保存、MiniTERMlib 入れ替え
v0.03 96/09/05  logfile名指定,WindowClose時のlog close忘れ修正,MiniTERMlib入替
v0.04 96/09/09  取りこぼしバグ修正、スクロール高速化
v-.-- 96/09/28  (POP3)mpop.x,(SMTP)msmtp.x,(NNTP)mnntp.x作成
v1.00 96/09/29  SJIS/JIS/EUC漢字コード変換対応,0x7fコード送信機能追加,telnet
                オプションの若干の修正,ファイルアクセスの高速化,テキストアッ
                プロード機能追加
v1.01 96/09/30  logクローズ時にflushされていなかったバグ修正,PopUpMENU追加
v1.01 + aleph 0.2
      97/05/22  全部のオプションを拒否するだけのオプションネゴ機能追加
                ポップアップメニューでの漢字コード変更ができなくなっている

●連絡先

(original version)
        小笠原博之 COR.
        oga@dgw.yz.yamagata-u.ac.jp
(aleph version)
        坂田 充啓 Aleph_J
        aleph@he.mirai.ne.jp