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