.\" Copyright (c) 1986, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tn3270.1 8.2 (Berkeley) 4/18/94 .\" jpman %Id: tn3270.1,v 1.2 1997/03/29 11:48:07 horikawa Stab % .\" .Dd April 18, 1994 .Dt TN3270 1 .Os BSD 4.3 .Sh 名称 .Nm tn3270 .Nd IBM の .Tn VM/CMS にフルスクリーンの端末としてログインする .Sh 書式 .Nm .Op Fl d .Op Fl n Ar filename .Op Fl t Ar commandname .Op Ar sysname Op port .Sh 解説 .Nm によって .Tn UNIX マシンから .Tn IBM (互換) マシンへ、フルスクリーンの全二重の接続が可能になります。 .Nm は .Tn IBM 3270 端末からリモートマシンにログインしたように見せかけます。もちろん、 ログインするリモートマシンにアカウントを持っていなければなりません。 .Nm はユーザにとっては多くの点で Yale .Tn ASCII Terminal Communication System II に似たように見えます。 .Nm は実際は Arpanet .Tn TELNET ユーザインタフェース ( .Xr telnet 1 を参照) を変更したものであり、 特定の状況下で生の 3270 コントロールストリームを解釈および生成します。 .Pp .Nm のオプションは以下のものがあります: .Bl -tag -width Fl .It Fl d ソケットレベルのトレースを行なう (スーパーユーザ専用)。 .It Fl n Ns Ar filename ネットワークトレースデータの出力 (コマンドの ``toggle netdate'' と ``toggle options''による。 .Xr telnet 1 を参照) を保存するファイルを指定します。 デフォルトは標準エラー出力です。 .It Fl t Ns Ar commandname リモートの .Tn IBM マシンから受けた .Tn IBM 4994 スタイルの透過モードのデータを処理する .Tn UNIX コマンドを指定します。 .It Ar sysname リモートシステムの名前です。もしリモートマシンの名前が指定されなかった 場合はコマンドを受け付けるためのプロンプトが出ます (下記参照)。 .It Ar port リモートシステム上の接続ポートです。通常 .Nm はリモートマシン上の標準的な .Tn TELNET ポート (ポート番号 23) に接続を試みます。 .El .Pp .Nm は最初にリモートシステムに接続するときは 3270 モードでネゴシエーション を行います。 このネゴシエーションでは、 .Nm が 3270 のどのモデルをエミュレートしているかをリモートシステムへ伝える ことも行います どのような場合でも、 .Nm は 3278 端末をエミュレートします。特定のどのモデルかを決定するために、 .Nm は実際の端末 (環境変数 .Ev TERM で定義したもの。 .Xr termcap 5 を参照 ) の行と列の数を見ます。 端末 (もしくは、マルチウィンドウシステムの場合は .Nm が走っているウィンドウ) は少なくとも 80 列と 24 行以上の大きさがなけれ ばなりません。そうでないと .Nm はエミュレーションモードになりません。もしその端末が 80 x 24 以上の大きさを持っていれば、 以下の表にしたがってエミュレーションを行います。 .Pp .ne 7v .Bd -filled -offset center .Bl -column (rows*columns) .It 最小サイズ エミュレートする .It (行*列) 端末 .It -------------- ------------ .It 27*132 3278 model 5 .It 43*80 3278 model 4 .It 32*80 3278 model 3 .It 24*80 3278 model 2 .El .Ed .Pp 3270 端末のエミュレーションは .Tn UNIX プロセス内で行われます。 このエミュレーションではホストからの 3270 スタイルのコマンドを ユーザの端末画面を制御するための適切なシーケンスにマッピングします。 .Nm はこれを行うために .Xr curses 3 と .Pa /usr/share/misc/termcap ファイルを利用します。 3270 キーボードの特殊なキー (プログラムファンクションキーなど) の エミュレーションも、 .Tn ASCII キーボードからのキーストロークのコントロールシーケンスを 適切な 3270 制御文字列へマッピングすることで実現しています。 このマッピングは端末依存であり、定義ファイルである .Pa /usr/share/misc/map3270 , ( .Xr map3270 5 参照) かもしくは環境変数 .Ev MAP3270 (必要であれば .Ev MAP3270A , .Ev MAP3270B なども。 .Xr mset 1 参照) で定義されます。 .Tn ASCII キーボードの特殊なファンクションキーはどれでもいつでも利用可能です。 ユーザの端末用のエントリがない場合は、 .Nm は端末タイプ .Em unknown を探します。 もしこのエントリが見付からない場合は、デフォルトのキーマッピングを用います .Nm ( .Xr map3270 5 参照)。 .Pp 特殊なキーボードマッピングシーケンスの最初の文字は .Tn ASCII escape .Pq Tn ESC 、制御文字、もしくは .Tn ASCII delete .Pq Tn DEL のいずれかです。もしユーザが解釈不能なキーシーケンスをタイプした場合 は、 .Nm は .Tn ASCII bell .Pq Tn BEL 、もしくはビジュアルベルがユーザの termcap エントリ内に定義されている ならばこれをユーザの端末に送り、 .Tn IBM のホストマシンには何も送りません。 .Pp もし .Nm がリモートホストシステムの名前を指定せずに起動された場合、 .Nm はプロンプト .Dq Li tn3270>\ を出してローカルコマンドモードにはいります。このモードでは .Nm は .Xr telnet 1 のすべてのコマンドを受け付け、さらに一つのコマンドが追加されます。 .Pp .Bl -tag -width Ar .It Ic transcom .Tn IBM 4994 スタイルの透過モード処理のための .Tn UNIX コマンドを指定します。 .El .Pp .Nm はホストに接続した後でも特殊なエスケープシーケンスをタイプすることで コマンドモードに入ることができます。 .Nm がリモートホストとの間で 3270 モードのネゴシエーションに成功した場合、 コマンドモードに入るためのエスケープシーケンスは、 ユーザの端末に適合した map3270 エントリ ( .Xr map3270 5 参照) によって定義されたものになります (通常はコントロール-C)。 エントリによって定義されていなければ単一文字 .Sq Li \&^] (コントロール右角括弧) に初期設定されます。 .Pp コマンドモードの時にはどのようなホストログインセッションも生きています が一時的にサスペンドされます。そのホストログインセッションは コマンドプロンプトに対して空行を返す ( .Tn RETURN キーを押す) ことで復帰できます。 セッションは、リモートホストからログオフするか、ローカルコマンドモードで ``quit'' もしくは ``close'' とタイプすることで切断されます。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/termcap -compact .It Pa /usr/share/misc/termcap .It Pa /usr/share/misc/map3270 .El .\" .Sh AUTHOR .\" Greg Minshall .Sh 注釈 .Tn IBM 4994 スタイル透過出力をリモートホストから .Nm が受け取る時に .Tn IBM 4994 スタイルの透過モードコマンドが起動されます。入出力のパイプは二つ のプロセスの間のコミュニケーションのために生成されます。透過モード出力 の終了を送ることによって、リモートホストから 3270 クリアコマンドを受け 取ったときに、そのパイプはクローズされます。 透過モードは、3270 端末接続を介して .Tn ASCII 制御文字を送るために必要です。 .Tn ASCII グラフィック端末サポートはこの方法によって行われます。 .Ic transcom コマンドの開発者は、 .Ic transcom の標準入力パイプを閉じる時には .Dv ECHO と .Dv CRMOD をオフにして .Dv CBREAK モードとなるようにすべきです。 .Sh 環境変数 .Nm は以下の環境変数をチェックします: .Ev TERM , .Ev MAP3270 , .Ev MAP3270[A...] 。 これらに関する情報は .Xr mset 1 に記載されています。 .Nm は、さらに .Ev SHELL , .Ev KEYBD および .Ev API3270 もチェックします。 .Sh 関連項目 .Xr mset 1 , .Xr telnet 1 , .Xr curses 3 , .Xr termcap 3 , .Xr map3270 5 , .Xr termcap 5 .Rs .%T "Yale ASCII Terminal Communication" .%B "System II Program Description/Operator's Manual" .%R IBM SB30-1911 .Re .Sh 歴史 .Nm は .Bx 4.3 から現れました。 .Sh バグ .Nm は遅く、けた外れにシステム資源を使います。 .Pp すべての 3270 ファンクションをサポートしているわけでも、 すべての Yale 拡張をサポートしているわけでもありません。 .Pp エラー状態 (保護領域にデータを入力する等) はベルを鳴らすだけではなくユーザの端末にメッセージを送るよう にするべきです。