Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xterm(1) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

resize(1)

X(7)

pty(4)

tty(4)

sjx(1)

Xlc(3)

sjxm(1)

XTERM(1)  —  NEWS-OS Programmer’s Manual

名称

xterm, hterm, jterm, mterm, tterm − X 用の 多国語サポート端末エミュレータ

形式

xterm [ −toolkitoption ... ] [ −option ...]

hterm, jterm, mterm, tterm も同様。

解説

xterm プログラムは、X ウィンドウシステム用の端末エミュレータです。 これは、ウィンドウシステムを直接使用することのできないプログラムの ための DEC VT102 および Tektronix 4014 コンパチブルの端末を提供します。 ソニーによる多国語対応については、多国語対応 の項を参照して下さい。 基礎をなすオペレーティングシステムが 端末のサイズ変更機能 (たとえば、 4.3bsd から派生したシステム中の SIGWINCH 信号) を サポートする場合は、 xterm はその機能を使用して端末がサイズ変更されると必ず、 ウィンドウで実行されているプログラムに通知します。

VT102 と Tektronix 4014 の端末は、1 つのウィンドウでテキストを編集し、 もうひとつのウィンドウでグラフィックスを見ることが同時にできるように それぞれのウィンドウをもっています。 正しい画面縦横比 (高さ/幅) を維持するために、Tektronix グラフィックス は、ウィンドウに一致する 4014 の画面縦横比をもつ最大ボックスに制限 されます。このボックスは、ウィンドウの上部左側の領域に置かれます。

この 2 つのウィンドウを同時に表示することはできますが、そのうちのひとつは キーボード入力および端末出力を受信する “ アクティブな ” と考えられます。 これは、テキストカーソルを含み、ポインタがいずれのウィンドウにあっても、 そのホーダーが強調されているウィンドウです。 アクティブなウィンドウは、エスケープシーケンス、VT102 ウィンドウの “Modes” メニュー、そして 4014 ウィンドウの “Tektronix” メニューを 介して選択することができます。

エミュレーション

VT102 のエミュレーションはかなり完成されたものですが、 ブリンク文字属性も、倍幅と倍サイズの文字セットもサポートしません。 xterm とともに働く Termcap(5) エントリには、“xterm”、“vt102”、“vt100” および “ansi” が含まれ、 xterm は自動的にこの順序で termcap を探索し、これらのエントリを捜し、 “TERM” および “TERMCAP” 環境変数を設定します。

特別な xterm 機能 (ログとりのような) の多くは、標準の VT102 エスケープシーケンスとは 異なるエスケープシーケンスのセットを介してプログラムの制御下で 修正することができます ( “xterm 制御シーケンス ” を参照してください)。

Tektronix 4014 エミュレーションもかなりよくできています。 4 つの異なるフォントサイズと 5 つの異なる行タイプがサポートされています。 Tektronix のテキストとグラフィックスコマンドは、 xterm により内部に記録され、COPY エスケープシーケンスを 送信することにより (または Tektronix メニューを使用して。下記を参照) ファイルに書き込むことができます。 ファイル名は、 “COPYyy−MM−dd.hh:mm:ss” です。 ここで、 yy、 MM、 dd、 hh、 mm および ss は、COPY が実行する場合の年、月、日、時間、分、 および秒です (ファイルは、 xterm が起動されたディレクトリ内か、あるいはログイン xterm の場合はホームディレクトリ内に作成されます)。

その他の機能

xterm は、ウィンドウのボーダとテキストカーソルを、 ポインタがウィンドウに入った (選択された) ときに強調し、 ポインタがウィンドウから出た (選択を解除された) ときに強調解除します。 ウィンドウがフォーカスウィンドウである場合は、ウィンドウは、ポインタの 位置に関係なく強調されます。

VT102 モードでは、オルタネートスクリーンバッファ (ディスプレイ領域と同じ サイズ) をアクティブにしたりデアクティブにするための エスケープシーケンスがあります。 アクティブになった場合は、現在のスクリーンはセーブされ、別のスクリーンと 入れ替わります。 ウィンドウの上端からスクロールされて見えなくなった行をセーブすることは、 通常のスクリーンが復元されない限りは許されません。 xterm の termcap(5) エントリで、ビジュアルエディタ vi(1) を、編集を行うための別のスクリーンに切り替えることができ、終了時の スクリーンを復元することができます。

VT102 または Tektronix モードのとちらかにおいて、ウィンドウ名を 変更して、新しいログファイル名を指定するためのエスケープシーケンス に関する詳細については、「xterm 制御シーケンス」を参照して下さい。 ログファイルを変更するエスケープシーケンスが使用できるかどうかは、 コンパイル時のオプションで指定されます。デフォルトでは、安全性のため このエスケープシーケンスは無視されます。

オプション

xterm 端末エミュレータは、以下にリストする追加のオプション同様、 標準の X ツールキットのコマンド行オプションをすべて 受け付けます (オプションが ‘− ではなく  + で始まる場合は、そのオプションはデフォルトに復元されます)。

−help これにより、 xterm は、そのオプションを説明する多弁な (丁寧な) メッセージを表示します。

−132 通常、80 と132 のカラムモード間で切り替わる VT102 DECCOLM の エスケープシーケンスは無視されます。 このオプションで、DECCOLM のエスケープシーケンスが認識され、 xterm ウィンドウは適切にサイズ変更されます。

−ah このオプションは、 xterm が必ずテキストカーソルとボーダを強調することを示します。 デフォルトにより、 xterm はフォーカスを失ったり、ポインタがウィンドウの外に出てしまったときは 必ず白ヌキのテキストカーソルを表示します。

+ah このオプションは、 xterm がテキストカーソルを強調することを示します。

−aw オートラップアラウンドを許可します。これは、カーソルが行の右端に 位置しているときにテキストが出力されると自動的に次の行の左端に カーソルを移動して行を折り返します。

+aw オートラップアラウンドに設定しません。

−b number
このオプションは、ピクセル単位で、内部ボーダのサイズ (文字の外枠と ウィンドウのボーダ間の距離) を指定します。デフォルトは 2 です。

−bsp number
このオプションは、文字下部の行間をフォントの高さに対するパーセンテージで 指定します。

−cc characterclassrange:value[,...]
これは、ワードにより選択を行うときに使用する与えられた範囲によって 示されるクラスを設定します。 文字クラスを指定している節を参照してください。

−cfb font
このオプションは、ボールドの中国語 (CNS11643) テキストを表示するときに使用する フォントを指定します。 このフォントは、ノーマルな iso8859-1 フォントと高さは同じで幅はその倍で なければなりません。 ノーマルまたはボールドフォントのうちのひとつだけしか指定されなかった 場合は、それはノーマルフォントとして使用され、ボールドフォントはその フォントを重ね打ちして作成されます。

−cfn font
このオプションは、ノーマルな中国語 (CNS11643) テキストを表示するのに 使用するフォントを指定します。 このフォントは、ノーマルな iso8859-1 フォントと高さは同じで幅はその倍で なければなりません。

−cn ラインモードでニューラインを取り除いてセレクションにカットします。

+cn ラインモードでニューラインを取り除かずにセレクションにカットします。

−cr color
このオプションは、テキストカーソルに使用する色を指定します。 デフォルトにより、テキストに使用されているのと同じフォアグラウンド カラーを使用します。

−cu このオプションは、 more(1) プログラムにちょうどウィンドウの幅で、行を不正確に表示してしまうタブで 始まる (先行タブは表示されない) curses(3X) のカーソル動作パッケージのバグを xterm が回避することを示します。

+cu このオプションは、 xterm が上述の curses(3X) バグを回避しないことを示します。

−e program [arguments ...]
このオプションは、 xterm ウィンドウ内で実行されるプログラム (およびそのコマンド行引数) を 指定します。これはまた、 −T も −n もコマンド行上に指定されていない場合は、実行中のプログラムの ベース名をウィンドウのタイトルとアイコン名に設定します。 これは、コマンド行上の最後のオプションでなければなりません。

−fb font このオプションは、ボールドの iso8859-1 のテキストを表示するときに 使用されるフォントを指定します。 このフォントは、ノーマルな iso8859-1 のフォントと同じ高さと幅でなければ なりません。 ノーマルもしくはボールドフォントのどちらかしか指定されなかった場合は、 それはノーマルフォントとして使用され、ボールドフォントはそのフォントを 重ね打ちして作成されます。

−gl number
このオプションは、GL に対して呼び出されるデフォルトのプレーンを 指定します。

−gr number
このオプションは、GR に対して呼び出されるデフォルトのプレーン を指定します。

−gs final character
このオプションは、G0、G1、G2 および G3 に対して指定されるデフォルトの コードセットを指定します。

−hfb font
このオプションは、ボールドの韓国語のテキストを表示するのに使用する フォントを指定します。 このフォントは、ノーマルな iso8859-1 のフォントと高さは同じで幅は その 2 倍でなければなりません。 ノーマルもしくはボールドフォントのうちのどちらかしか指定されなかった 場合は、それはノーマルフォントとして使用され、ボールドフォントはその フォントを重ね打ちして作成されます。

−hfn font
このオプションは、ノーマルな韓国語のテキストを表示するのに 使用するフォントを指定します。 このフォントは、ノーマルな iso8859-1 のフォントと高さは同じで幅は その 2 倍でなければなりません。

−j このオプションは、 xterm がジャンプスクロールを行うようにする ことを示します。 通常は、テキストは 1 度に 1 行ずつスクロールされますが、このオプション を使用すると、 xterm はあまり大きく遅れないように複数行を 1 度に 移動することができます。 −j は、 xterm に大量のテキスト中をかなり高速に走査させることが できるので、これを使用することをお勧めします。 “Modes” メニューと同様に円滑なスクロールを可能にしたり、不可能にしたり するための VT100 のエスケープシーケンスを使用して、この機能をオンにしたり オフにしたりすることができます。

+j このオプションは、 xterm がジャンプスクロールを行わないことを 示します。

−jfb font
このオプションは、ボールドの日本語漢字テキストを表示するのに使用する フォントを指定します。 このフォントは、ノーマルな iso8859-1 フォントと高さは同じで幅はその 2 倍でなければなりません。 ノーマルもしくはボールドフォントのうちのどちらかしか指定されなかった 場合は、それはノーマルフォントとして使用され、ボールドフォントはその フォントを重ね打ちして作成されます。

−jfn font
このオプションは、ノーマルな日本語漢字テキストを表示するのに 使用するフォントを指定します。 このフォントは、ノーマルな iso8859-1 フォントと高さは同じで幅はその 2 倍でなければなりません。

−kfb font
このオプションは、ボールドの日本語かなテキストを表示するのに使用する フォントを指定します。 このフォントは、ノーマルな iso8859-1 フォントと同じ高さと幅でなければ なりません。 ノーマルもしくはボールドフォントのうちのどちらかしか指定されなかった 場合は、それはノーマルフォントとして使用され、ボールドフォントはその フォントを重ね打ちして作成されます。

−kfn font
このオプションは、ノーマルな日本語かなテキストを表示するのに 使用するフォントを指定します。 このフォントは、ノーマルな iso8859-1 フォントと高さは同じで幅はその 2 倍でなければなりません。

−l このオプションは、 xterm が端末の出力をすべてスクリーンに送るのと 同様にログファイルへも送ることを示します。 このオプションは、“xterm X11” メニューを使用して、可能にしたり 不可能にしたりすることができます。

+l このオプションは、 xterm がログとりを行わないようにすることを 示します。

−lang  locale
このオプションは、LANG 環境変数に設定する locale 名を指定します。

−lf filename
このオプションは、上述の出力ログが書き込まれるファイル名を指定します。 ファイルがパイプシンボル (|) で始まる場合は、残りの文字列はパイプの エンドポイントとして使用されるコマンドであると想定されます。 デフォルトのファイル名は、“xtermLog.XXXXX” (ここで、 XXXXX は、 xterm の処理プロセス id です) で、 mterm が起動されたディレクトリ上 (あるいは、ログインウィンドウの場合は、 ユーザのホームディレクトリ上) で作成されます。

−ls このオプションは、 xterm ウィンドウ上で起動されるシェルを ログインシェルとすることを示します (すなわち、argv[0] の最初の文字は ダッシュで、シェルにユーザの .login または .profile を読み込まなければ ならないことを示します)。

+ls このオプションは、起動されるシェルはログインシェルであってはならない ことを示します (すなわち、それは通常の “ サブシェル ” です)。

−lsp number
このオプションは、文字下部の行間をピクセル数で 指定します。 このオプションは kterm との互換性のために用意されており −bsp が 指定された場合は無視されます。

−mb このオプションは、ユーザが行の右端近くに入力を行った場合に、 xterm がマージンベルを鳴らすことを示します。 このオプションは、“Modes” メニューからオンにしたりオフにしたりする ことができます。

+mb このオプションは、マージンベルを鳴らさないことを示します。

−mc milliseconds
マルチクリックセレクションを行なうときの最大のクリック間隔を設定します。

−ms color
このオプションは、ポインタカーソルの色を指定します。デフォルトにより フォアグラウンドカラーを使用します。

−nb number
このオプションは、マージンベルが可能な場合に鳴らされる行の右端からの 文字数を指定します。デフォルトは 10 です。

−rw このオプションは、リバースラップアラウンドを可能にします。 これによって、ある行の最も左のカラムから前の行の最も右のカラムに カーソルを戻すことができます。これは、長いシェルコマンド行を編集する 場合にとても役に立つのでこれを使用することをお勧めします。 このオプションは、“Modes” メニューからオンにしたりオフにしたりする ことができます。

+rw このオプションは、リバースラップアラウンドを禁止します。

−s このオプションは、 xterm が非同期的にスクロールすることを示します。 すなわち、スクロールを行っている間、スクリーンを完全に最新のものに保つ 必要はないことを意味します。 これによってネットワーク latency (待ち時間) が非常に長い場合に、 xterm をより迅速に動作させることかできます。 通常は、大規模なインタネットや多数のゲートウェイを経由する場合に 役に立ちます。

+s このオプションは、 xterm が同期的にスクロールすることを示します。

−sb このオプションは、ウィンドウの上端からスクロールで見えなくなった数行を セーブすること、およびそれらの行をビューアブルにするために、スクロール バーを表示することを示します。このオプションは、“Modes” メニューから オンにしたりオフにしたりすることができます。

+sb このオプションは、スクロールバーを表示しないことを示します。

−sf このオプションは、Sun のファンクションキーのエスケープコードを ファンクションキー用に生成することを示します。

+sf このオプションは、標準のエスケープコードをファンクションキー用に 生成することを示します。

−si このオプションは、ウィンドウへの出力が自動的にスクリーンの位置を スクロールリージョンの下部に変えないことを示します。 このオプションは、“Modes” メニューからオンにしたりオフにしたりする ことができます。

+si このオプションは、ウィンドウへの出力によって下まで スクロールさせることを示します。

−sk このオプションは、前行のテキストを表示するためにスクロールバーを 使用している際、キー入力によってウィンドウがスクロールリージョンの下部の 通常の位置に自動的に位置変更されることを示します。

+sk このオプションは、スクロールバーを使用している間のキー入力では、 ウィンドウはスクロールされないことを示します。

−sl number
このオプションは、スクリーンの上端からスクロールで見えなくなった行を セーブする行数を指定します。デフォルトは、64 です。

−sn このオプションは、状態行においてフォアグラウンドとバックグラウンド カラーを変換することによって、反転表示をシミュレートすることを示します。 このオプションは、“Modes” メニューからオンにしたりオフにしたり することができます。

+sn このオプションは、状態行において反転表示をシミュレートしないことを 示します。

−st このオプションは、状態行を表示することを示します。 このオプションは、“Modes” メニューからオンにしたりオフにしたり することができます。

+st このオプションは、状態行を表示しないことを示します。

−sys syscode
このオプションは、tty ドライバに設定する内部コードを指定します。

−t このオプションは、 xterm を VT102 モードではなく、Tektronix モードで開始することを示します。 2 つのウィンドウ間の切り替えは、“Modes” メニューを使用して行われます。

+t このオプションは、 xterm を VT102 モードで開始することを示します。

−tm string
このオプションは、 stty プログラムと同様の、それらの機能に バインドされる文字が後続する一連の端末設定のキーワードを指定します。 使用できるキーワードには、 intr、quit、erase、kill、eof、eol、swtch、start、stop、brk、 susp、dsusp、rprnt、flush、weras および lnext が含まれます。 制御文字は ^ 文字 (たとえば、^c または ^u) のように指定され、^? は 削除を示します。

−tn name
このオプションは、TERM 環境変数で設定する端末のタイプ名を指定します。 この端末のタイプは、 termcap(5) のデータベース内に 存在しなければならず、li# および co# エントリを もっていなければなりません。

−tsp number
このオプションは、文字上部の行間をフォントの高さに対するパーセンテージで 指定します。

−ttype ttype
このオプションは、tty ドライバに設定する端末コードを指定します。

−ut このオプションは、 xterm はレコードをシステムの ログファイル /etc/utmp 内に書き込まないことを示します。

+ut このオプションは、 xterm はレコードをシステムの ログファイル /etc/utmp 内に書き込むことを示します。

−vb このオプションは、オーディブルベルではなくビジュアルベルを 使用することを示します。 Control-G が受信されると必ず端末ベルが鳴る代わりに、ウィンドウが 点滅します。

+vb このオプションは、ビジュアルベルを使用しないことを示します。

−wf 子プロセスが立ち上がる前に、起動時のターミナルサイズや環境変数を 正しくするために、ウインドウが最初にマップされるまで、 xterm が待つようにします。 これに続くターミナルサイズ変更を察知するのはアプリケーションの責任です。

+wf xterm が子プロセスが立ち上がるのを待たないようにします。

−xlc このオプションは、 begin-conversion アクションを有効にします。 これによって Xlc プロトコルを使用した仮名漢字変換 Server との通信が可能になります。 ただし、 同時に allowSendEvent も有効になるためセキュリティーホールになる 可能性があります。

+xlc このオプションは、 begin-conversion アクションを無効にします。

−xim このオプションは、 XIM プロトコルを使用した IM Server との通信を可能にします。

+xim このオプションは、 XIM プロトコルを使用した IM Server との通信を無効にします。

−C このオプションは、このウィンドウは、コンソールの出力を受信することを 示します。 システムによっては、このオプションはサポートされていません。

−Sccn このオプションは、スレーブモードで使用するための仮想端末名の 最後の 2 文字を指定し、継承したファイルディスクリプタの番号を 付加します。 このオプションは "%c%c%d" というフォーマットで解析されます。 これによって、 xterm を既存プログラムに対する入出力チャネルとして 使用でき、ときには特殊なアプリケーションで使用することもできます。

以下のコマンド行引数は、古いバージョンとの互換性のために提供されています。 これらは、X ツールキットが、同じタスクを行う標準のオプションを 提供するので、次のリリースではサポートされないかもしれません。

%geom このオプションは、Tektronix ウィンドウに適したサイズと位置を指定します。 これは、"∗tekGeometry" リソースを指定するための短縮形です。

#geom このオプションは、アイコンウィンドウに適したサイズと位置を指定します。 これは、"∗iconGeometry" リソースを指定するための短縮形です。

−T string
このオプションは、 xterm のウィンドウのタイトルを指定します。 これは、−title と同じです。

−n string
このオプションは、 xterm のウィンドウのアイコン名を指定します。 これは、"∗iconName" リソースを指定するための短縮形です。 なお、これは、ツールキットオプションの −name (下記参照) と 同じではないので注意してください。 デフォルトのアイコン名は、そのアプリケーション名です。

−r このオプションは、反転表示がフォアグラウンドとバックグラウンドの カラーを交換することによって、シミュレートされることを示します。 これは、−reversevideo あるいは −rv と同じです。

−w number
このオプションは、ウィンドウを囲むボーダの幅をピクセル単位で指定します。 これは、−borderwidth あるいは −bw と同じです。

以下の標準の X ツールキットのコマンド行引数は、通常 xterm とともに使用されます。

−bg color
このオプションは、ウィンドウのバックグラウンドの色を指定します。 デフォルトは、“ 白 ” です。

−bd color
このオプションは、ウィンドウのボーダの色を指定します。 デフォルトは、“ 黒 ” です。

−bw number
このオプションは、ウィンドウを囲むボーダの幅をピクセル単位で指定します。

−fg color
このオプションは、テキストの色を指定します。 デフォルトは、“ 黒 ” です。

−fn font
このオプションは、ノーマルな iso8859-1 テキストを表示するのに 使用するフォントを指定します。 デフォルトは 7x14 です。

−name name
このオプションは、デフォルトの実行可能なファイル名ではなく、 リソースを獲得するときのアプリケーション名を指定します。 name には、“.” や “∗” の文字が含まれません。

−title string
このオプションは、ユーザの選択に応じてウィンドウマネージャが 表示することのできるウィンドウタイトルの文字列を指定します。 デフォルトのタイトルは、−e オプション (もしあれば) の後に 指定されるコマンド行か、そうでない場合は、アプリケーション名です。

−rv このオプションは、反転表示がフォアグラウンドとバックグラウンドの カラーを交換することによって、シミュレートされることを示します。

−geometry geometry
このオプションは、VT102 ウィンドウに適したサイズと位置を指定します。 X(7) を参照。

−display display
このオプションは、接続する X サーバを指定します。 X(7) を参照。

−xrm resourcestring
このオプションは、使用するリソース文字列を指定します。 これは、別のコマンド行オプションをもたないリソースを設定する場合に 特に役に立ちます。

−iconic このオプションは、 xterm がウィンドウマネージャにウィンドウを 通常のウィンドウとしてではなくアイコンとして開始するよう要求することを 示します。

リソース

プログラムは、核の X のツールキットのリソース名とクラスならびに 下記のものをすべて認識します。

iconGeometry (class IconGeometry)
アイコン化されるときアプリケーションに適したサイズと位置を指定します。 必ずしもすべてのウィンドウマネージャがこれに従うとは限りません。

language (claess Language)
LANG 環境変数に設定される locale 名を指定します。

sysCode (class SysCode)
tty ドライバの内部コードを指定します。

termName (class TermName)
TERM 環境変数に設定される端末の名称を指定します。

title (class Title)
このアプリケーションを表示する場合に、ウィンドウマネージャが使用できる 文字列を指定します。

ttyModes (class TtyModes)
端末設定のキーワードと、それらをバインドする文字を含む文字列を指定します。 このオプションは、 getty が端末をリセットするため、−L が 与えられた場合は無視されます。使用できるキーワードには、intr、quit、 erase、kill、eof、eol、swtch、start、stop、brk、susp、dsusp、rprnt、 flush、weras および lnext が含まれます。 制御文字は、^ 文字 (たとえば、^c または ^u) のように 指定することができ、^? は削除を示します。 これは、 xterm が起動するごとに、 stty を実行することなく デフォルトの端末設定をオーバライドする場合に特に役に立ちます。

ttyType (class TtyType)
tty ドライバの端末コードを指定します。

utmpInhibit (class UtmpInhibit)
xterm が、/etc/utmp にユーザの端末を記録しようとするか 否かを指定します。

sunFunctionKeys (class SunFunctionKeys)
Sun のファンクションキーのエスケープコードを標準のエスケープシーケンス ではなく、ファンクションキー用に生成するか否かを指定します。

以下のリソースは、vt100 ウィジェット (クラス VT100) の 1 部 として指定されます。

allowSendEvents (class AllowSendEvents)
合成キーとポインタイベント (X プロトコルの SendEvent リクエストを 使用して生成される) を解釈すべきか放棄すべきかどうかを指定します。 デフォルトは、“ 偽 ” で、それらを放棄します。 なお、このようなイベントを許可することで、非常に大きな セキュリティホールを作成することができます。

allowXlcInput (class AllowXlcInput)
begin-conversion アクションを有効にするかどうかを指定します。 デフォルトは、“ 偽 ” で Xlc プロトコルは使用できません。

allowXIMInput (class AllowXIMInput)
IM Server との通信を有効にするかどうかを指定します。 デフォルトは、“ 偽 ” で XIM プロトコルは使用できません。

preedit (class Preedit)
IM Server との通信を行っている場合、日本語入力の 変換作業を行う事です。入力変換スタイル方法には、下記の方法を サポートしています。 日本語の変換場所を IM Server 上に表示する場合は次のように設定します。 preedit: Nothing 日本語の変換場所を client(xterm)上に表示する場合は次のように設定します。 preedit: Position

status (class Status)
preedit の入力状態等を表示し、日本語入力の補助になります。 入力状態の表示方法には、下記の方法をサポートしています。 日本語入力状態を IM Server 上に表示する場合は次のように設定します。 status: Nothing 日本語入力状態を client(xterm) 上に表示する場合は次のように設定します。 デフォルトは、client(xterm) 上に表示します。 status: Area

processStartKeys
IM Serverとの変換開始キィーを指定します。

Inputserver
IM Serverとの delay binding を可能にします。 default では delay binding が可能です。

alwaysHighlight (class AlwaysHighlight)
xterm が常に強調されたテキストカーソルを表示するか否かを指定します。 デフォルトにより、ポインタがウィンドウの外に出たり、ウィンドウが入力 フォーカスを失った場合は必ず白ヌキのテキストカーソルが表示されます。

autoWrap (class AutoWrap)
オートラップアラウンドを可能にするかどうかを指定します。 デフォルトは “真”です。

background (class Background)
ウィンドウのバックグラウンドに使用する色を指定します。 デフォルトは“ 白 ” です。

boldFont (class Font)
ボールドの iso8859-1 フォント名を指定します。

bottomSpace (class BottomSapce)
文字下部の行間をフォントの高さに対するパーセンテージで指定します。 デフォルトは、“ 0 ” です。

c132 (class C132)
VT102 DECCOLM のエスケープシーケンスが使用できるか否かを指定します。 デフォルトは“ 偽 ” です。

charClass (class CharClass)
[low−]high:value 書式に束縛された文字クラスの コンマで区切られたリストを指定します。 これらはカット/ペーストを行うときに、どの文字セットを同一に扱うべきかを 決めるときに使用されます。 文字クラスの指定の節を参照してください。

chinaBoldFont (class ChinaFont)
ボールドの中国語 (CNS11643) のフォント名を指定します。

chinaFont (class ChinaFont)
ノーマルな中国語 (CNS11643) のフォント名を指定します。

curses (class Curses)
curses(3X) 内の最終カラムのバグを回避すべきか否かを指定します。 デフォルトは “ 偽 ” です。

cursorColor (class Foreground)
テキストカーソルに使用する色を指定します。 デフォルトは、“ 黒 ” です。

eightBitInput (class EightBitInput)
8 ビットキャラクタをキーボードから入力可能にするか、エスケープ -7 ビット キャラクタのシーケンスに変換するかどうかを指定します。 デフォルトは “ 真 ” です。

eightBitOutput (class EightBitOutput)
ホストより送られた 8 ビットキャラクタを、そのまま受け取るか、ストリップして 出力するか指定します。デフォルトは“真”です。

font (class Font)
ノーマルな iso8859-1 のフォント名を指定します。

font1 (class Font1)
1 番目のオルタネートフォントを指定します。

font2 (class Font2)
2 番目のオルタネートフォントを指定します。

font3 (class Font3)
3 番目のオルタネートフォントを指定します。

font4 (class Font4)
4 番目のオルタネートフォントを指定します。

font5 (class Font5)
5 番目のオルタネートフォントを指定します。

font6 (class Font6)
6 番目のオルタネートフォントを指定します。

foreground (class Foreground)
ウィンドウ内にテキストを表示するのに使用する色を指定します。 インスタンス名ではなく、クラス名を設定することにより、 " テキスト " カラーに通常使用されるすべての色を簡単に 変更することができます。 デフォルトは、“ 黒 ” です。

geometry (class Geometry)
VT102 ウィンドウに適したサイズと位置を指定します。

internalBorder (class BorderWidth)
文字とウィンドウのボーダ間のピクセル数を指定します。 デフォルトは 2 です。

japaneseBoldFont (class JapaneseFont)
ボールドの日本語漢字のフォント名を指定します。

japaneseFont (class JapaneseFont)
ノーマルな日本語漢字のフォント名を指定します。

jumpScroll (class JumpScroll)
ジャンプスクロールを行うか否かを指定します。 デフォルトは “ 真 ” です。

kanaBoldFont (class KanaFont)
ボールドの日本語かなフォント名を指定します。

kanaFont (class KanaFont)
ノーマルな日本語かなフォント名を指定します。

koreaBoldFont (class KoreaFont)
ボールドの韓国語のフォント名を指定します。

koreaFont (class KoreaFont)
ノーマルな韓国語のフォント名を指定します。

lineSpace (class LineSapce)
文字下部の行間をピクセル数で指定します。 このリソースは kterm との互換性のために用意されており bottomSpace が 指定された場合は無視されます。 デフォルトは、“ 0 ” です。

logFile (class Logfile)
端末セッションのログを入れるファイル名を指定します。 デフォルトは “xtermLog.XXXXX”(ここで、 XXXXX は、 xterm のプロセス ID) です。

logging (class Logging)
端末セッションのログをとるか否かを指定します。 デフォルトは “ 偽 ” です。

logInhibit (class LogInhibit)
端末セッションのログとりを禁止すべきか否かを指定します。 デフォルトは “ 偽 ” です。

loginShell (class LoginShell)
ウィンドウ内で動作するシェルを、ログインシェルとして起動させるか 否かを指定します。 デフォルトは “ 偽 ” です。

marginBell (class MarginBell)
ユーザが右側のマージン近くに入力を行ったときにベルを鳴らすか否かを 指定します。 デフォルトは “ 偽 ” です。

multiClickTime (class MultiClickTime)
マルチクリックセレクトイベントの間隔の最大時間をミリ秒で指定します。 デフォルトは 250 ミリ秒です。

multiScroll (class MultiScroll)
非同期のスクロールを許可するか否かを指定します。 デフォルトは “ 偽 ” です。

nMarginBell (class Column)
マージンベルが鳴らされる位置を (可能な場合) 右側マージンからの文字数で 指定します。

pointerColor (class Foreground)
ポインタの色を指定します。 デフォルトは “ XtDefaultForeground ” です。

pointerColorBackground (class Background)
ポインタのバックグラウンドカラーを指定します。デフォルトは “XtDefaultBackground.” です。

pointerShape (class Cursor)
ポインタの形状名を指定します。 デフォルトは、“xterm” です。

reverseVideo (class ReverseVideo)
反転表示をシミュレートするか否かを指定します。 デフォルトは “ 偽 ” です。

reverseWrap (class ReverseWrap)
リバースラップアラウンドを可能にするか否かを指定します。 デフォルトは “ 偽 ” です。

saveLines (class SaveLines)
スクロールバーが表示されているときに、スクリーンの上端を越えて セーブする行数を指定します。 デフォルトは、64 です。

scrollBar (class ScrollBar)
スクロールバーを表示するか否かを指定します。 デフォルトは “ 偽 ” です。

scrollTtyOutput (class ScrollCond)
ターミナルへの出力によって自動的にスクロールリージョンの最下行へ スクロールバーを移動するかどうかを指定します。 デフォルトは “ 真 ” です。

scrollKey (class ScrollCond)
キーを押すことによってスクロールバーが自動的にスクロールリージョンの 下部に行くようにするか否かを指定します。 デフォルトは “ 偽 ” です。

scrollLines (class ScrollLines)
scroll-back や scroll-forw アクションでデフォルトとして 用いる行数を指定します。 デフォルトの値は 1 です。

signalInhibit (class SignalInhibit)
xterm へ信号を送るための “Main Options” メニューへのエントリを 禁止するか否かを指定します。 デフォルトは “ 偽 ” です。

tekGeometry (class Geometry)
Tektronix ウィンドウに適したサイズと位置を指定します。

tekInhibit (class TekInhibit)
Tektronix モードを禁止するか否かを指定します。 デフォルトは “ 偽 ” です。

tekSmall (class TekSmall)
ジオメトリが特に指定されていなければ、テクトロニクスモードウインドウを 最小のサイズで起動するかどうかを指定します。 xterm を小さなスクリーンで走らせているときに有効です。 デフォルトでは“偽”です。

tekStartup (class TekStartup)
xterm が Tektronix モードで起動すべきか否かを指定します。 デフォルトは “ 偽 ” です。

titeInhibit (class TiteInhibit)
xterm が TERMCAP 文字列から ti または te の termcap エントリ (多数のスクリーン指向のプログラムの起動時に、別の スクリーン間で切り替えに使用される) を削除すべきか否かを指定します。

topSpace (class TopSapce)
文字上部の行間をフォントの高さに対するパーセンテージで指定します。 デフォルトは、“ 0 ” です。

translations (class Translations)
メニュー、セレクション、“ プログラムされた文字列 ” などに対する キーおよびボタンの束縛を指定します。 後述の「アクション」を参照してください。

visualBell (class VisualBell)
Control-G が受信されるときに、オーディブルベルではなく、 ビジュアルベル (すなわち、点滅) を使用すべきか否かを指定します。 デフォルトは、“ 偽 ” です。

waitForMap (class WaitForMap)
子プロセスが起動する前に xterm が初期のウインドウマッピング が終わるのを待つかどうか指定します。 デフォルトは、“ 偽 ” です。

次のリソースは、tek4014 ウィジェット (クラス Tek4014) の 1 部 として指定されます。

width (class Width)
ピクセル単位で Tektronix ウィンドウの幅を指定します。

height (class Height)
ピクセル単位で Tektronix ウィンドウの高さを指定します。

fontLarge (class Font)
テクトロニクスウインドウでラージフォントを使うように設定します。

font2 (class Font)
テクトロニクスウインドウで 2 番目のフォントを使うように設定します。

font3 (class Font)
テクトロニクスウインドウで 2 番目のフォントを使うように設定します。

fontSmall (class Font)
テクトロニクスウインドウでスモールフォントを使うように設定します。

initailFont (class initailFont)
はじめに四つのテクトロニクフォントを使うように設定します。 set-tek-text アクッションの為として値は同じである。デフォルトは、 “large.” である。

ginTerminator (class GinTerminator)
文字が GIN 報告とステタス報告を従うように設定します。 “none.”が no terminating 文字を送る可能性はある。 “CRonly,”は CR を送るし、“CR&EOT,’ は CR と EOT を送る。 デフォルトは、“none.”である。

様々なメニューで指定される次のリソースは Athena SimpleMenu ウイジェットのドキュメントに記述されています。 xterm の各メニューのエントリのリソース名とクラスは 下に挙げるものです。

mainOptions には以下のエントリがあります。

securekbd (class SmeBSB)
secure() アクションを起動します。

allowsends (class SmeBSB)
allow-send-events(toggle) アクションを起動します。

allowXIMInput (class SmeBSB)
XIM プロトコル対応の IM Server と通信可能になります。

logging (class SmeBSB)
set-logging(toggle) アクションを起動します。

redraw (class SmeBSB)
redraw() アクションを起動します。

line1 (class SmeLine)
セパレータ

suspend (class SmeBSB)
ジョブコントロールをサポートしているシステムでは、このエントリは send-signal(suspend) アクションを起動します。

continue (class SmeBSB)
ジョブコントロールをサポートしているシステムでは、このエントリは send-signal(cont) アクションを起動します。

interrupt (class SmeBSB)
send-signal(int) アクションを起動します。

hangup (class SmeBSB)
send-signal(hup) アクションを起動します。

terminate (class SmeBSB)
send-signal(term) アクションを起動します。

kill (class SmeBSB)
send-signal(kill) アクションを起動します。

line2 (class SmeLine)
セパレータ

quit (class SmeBSB)
quit() アクションを起動します。

The vtMenu には以下のエントリがあります。

scrollbar (class SmeBSB)
set-scrollbar(toggle) アクションを起動します。

jumpscroll (class SmeBSB)
set-jumpscroll(toggle) アクションを起動します。

reversevideo (class SmeBSB)
set-reverse-video(toggle) アクションを起動します。

autowrap (class SmeBSB)
set-autowrap(toggle) アクションを起動します。

reversewrap (class SmeBSB)
set-reversewrap(toggle) アクションを起動します。

autolinefeed (class SmeBSB)
set-autolinefeed(toggle) アクションを起動します。

appcursor (class SmeBSB)
set-appcursor(toggle) アクションを起動します。

appkeypad (class SmeBSB)
set-appkeypad(toggle) アクションを起動します。

scrollkey (class SmeBSB)
set-scroll-on-key(toggle) アクションを起動します。

scrollttyoutput (class SmeBSB)
set-scroll-on-tty-output(toggle) アクションを起動します。

allow132 (class SmeBSB)
set-allow132(toggle) アクションを起動します。

cursesemul (class SmeBSB)
set-cursesemul(toggle) アクションを起動します。

visualbell (class SmeBSB)
set-visualbell(toggle) アクションを起動します。

marginbell (class SmeBSB)
set-marginbell(toggle) アクションを起動します。

altscreen (class SmeBSB)
このエントリは現在使用することができません。

line1 (class SmeLine)
セパレータ

softreset (class SmeBSB)
soft-reset() アクションを起動します。

hardreset (class SmeBSB)
hard-reset() アクションを起動します。

clearsavedlines (class SmeBSB)
clear-saved-lines() アクションを起動します。

line2 (class SmeLine)
セパレータ

tekshow (class SmeBSB)
set-visibility(tek,toggle) アクションを起動します。

tekmode (class SmeBSB)
set-terminal-type(tek) アクションを起動します。

vthide (class SmeBSB)
set-visibility(vt,off) アクションを起動します。

The fontMenu には以下のエントリがあります。

fontdefault (class SmeBSB)
set-vt-font(d) アクションを起動します。

font1 (class SmeBSB)
set-vt-font(1) アクションを起動します。

font2 (class SmeBSB)
set-vt-font(2) アクションを起動します。

font3 (class SmeBSB)
set-vt-font(3) アクションを起動します。

font4 (class SmeBSB)
set-vt-font(4) アクションを起動します。

font5 (class SmeBSB)
set-vt-font(5) アクションを起動します。

font6 (class SmeBSB)
set-vt-font(6) アクションを起動します。

fontescape (class SmeBSB)
set-vt-font(e) アクションを起動します。

fontsel (class SmeBSB)
set-vt-font(s) アクションを起動します。

The tekMenu には以下のエントリがあります。

tektextlarge (class SmeBSB)
set-tek-text(l) アクションを起動します。

tektext2 (class SmeBSB)
set-tek-text(2) アクションを起動します。

tektext3 (class SmeBSB)
set-tek-text(3) アクションを起動します。

tektextsmall (class SmeBSB)
set-tek-text(s) アクションを起動します。

line1 (class SmeLine)
セパレータ

tekpage (class SmeBSB)
tek-page() アクションを起動します。

tekreset (class SmeBSB)
tek-reset() アクションを起動します。

tekcopy (class SmeBSB)
tek-copy() アクションを起動します。

line2 (class SmeLine)
セパレータ

vtshow (class SmeBSB)
set-visibility(vt,toggle) アクションを起動します。

vtmode (class SmeBSB)
set-terminal-type(vt) アクションを起動します。

tekhide (class SmeBSB)
set-visibility(tek,toggle) アクションを起動します。

次のリソースは、Athena スクロールバーウィジェットに対して指定される 場合に役に立ちます。

thickness (class Thickness)
スクロールバーの幅をピクセル単位で指定します。

background (class Background)
スクロールバーのバックグラウンドの色を指定します。

foreground (class Foreground)
スクロールバーのフォアグラウンドの色を指定します。 スクロールバーの “thumb” は、フォアグラウンドとバックグラウンドの カラーピクセルを変える簡単なチェッカーボードのパターンです。

ポインタの使用法

いったん VT102 のウィンドウが作成されると、 xterm を使用してテキストを選択してそれを同一ウィンドウまたは他のウィンドウ 内に複写することができます。

選択機能は、ポインタボタンがモディファイアなしで使用されるときと、 それらが “シフト” キーとともに使用されるときに呼び出されます。 以降で説明する機能のキーとボタンへの割当ては、リソースデータベースを 介して変更することができます。 後述の「アクション」を参照してください。

ポインタボタン 1 (通常は左側) は、テキストをカットバッファ内にセーブします。 カーソルをテキストの初めに移動し、ボタンを押し続けながら、 カーソルをカットしたいリージョンの終わりまで動かし、ボタンを離します。 選択されたテキストは強調され、グローバルカットバッファにセーブされ、 ボタンが離されたときに PRIMARY セレクションが行われます。 2 重クリックは単語を選択します。 3 重クリックは行を選択します。 4 重クリックは文字に戻ります。 多重クリックは、ボタンを離してから再び押すまでの時間により決定されるので、 セレクションの途中でセレクションユニットを変更することができます。 キー/ボタンの束縛で、X セレクションを行うように指定する場合は、 xterm はセレクションの所有者である限りは、選択したテキストを 強調し続けます。

ポインタボタン 2 (通常は真中) は、もしあれば PRIMARY セレクションから テキストを ‘ 入力 ’ (ペースト) し、ない場合は、カットバッファから キーボード入力として挿入します。

ポインタボタン 3 (通常は右側) は、現在のセレクションを拡張します。 (一般性を失うことなしに、すなわち、このパラグラフの残りの部分の どこででも、それより “ 右 ” および “ 左側 ” をスワップできます。) 左端よりは右端に近い位置でボタンを押すと、そのセレクションの右端が 拡張/縮小します。 左端を行き過ぎたセレクションを縮小する場合は、 xterm は本当は左端を意味すると仮定し、オリジナルセレクションを復元して そのセレクションの左端を拡張/縮小します。 エクステンションは、最後のセレクションもしくはエクステンションを 実行したときのセレクションユニットモードで開始します。 すなわち、サイクリックに多重クリックを繰り返すことができます。

復帰改行を引きずらせずにいくつかのテキストをカット/ペースト することによって、異なるウィンドウの複数の場所からテキストを取り出し、 シェルに対するコマンドを形成できます。 たとえば、プログラムの出力を受け取り好みのエディタに挿入することが できます。 カットバッファは、様々なアプリケーションの間でグローバルに共有することが できるため、内容を知っている ‘ ファイル ’ とみなさなければなりません。 端末エミュレータや他のテキストプログラムは、それをテキストファイルと みなします。 すなわち、テキストは復帰改行によって区切られます。

スクロールリージョンは、実際にセーブされているテキスト量と相対する ウィンドウに現在表示されている (強調されている) テキストの位置と量を 表示します。 より多くのテキストがセーブされるにつれて (最大量まで)、 強調された領域のサイズは減少します。

スクロールリージョン内のポインタでボタン 1 をクリックすると、 近接行を表示ウィンドウの最上部へ移動します。

ボタン 3 をクリックすると、表示ウィンドウの最上行をポインタの位置まで 移動します。

ボタン 2 をクリックすると、表示ウィンドウをスクロールバー内のポインタの 位置に対応するセーブされたテキストの位置に移動します。

VT102 ウィンドウとは異なり、Tektronix ウィンドウは、テキストの複写を 許しません。 Tektronix ウィンドウは、Tektronix GIN モードを許し、このモードで、 カーソルは矢印から十字記号 (クロス) に変わります。 いずれかのキーを押すと、そのキーとクロスカーソルの現在の座標が 送られてきます。 ボタン 1、2、あるいは 3 を押すと、それぞれ ‘l’、‘m’、および ‘r’ の 文字が返されます。 ポインタボタンを押したときに ‘ シフト ’ キーを押すと、それに対応する 大文字が送られてきます。 ポインタボタンとキーを区別するために、 上位ビット文字を設定します (ただし、端末装置モードが RAW でない限り、 このビットは通常ははずされる ビットです。詳細は tty(4) を参照)。

メニュー

xterm には、 mainOptions、 vtMenu、 fontMenu、 および tekMenu と命名された 4 つの異なるメニューがあります。 各メニューは、キーとボタンが押された正しい組合わせのもとで ポップアップします。 ほとんどのメニューは、水平ラインで区切られる 2 つの部分に分けられます。 上半分には変更可能な様々なモードが含まれています。 現在アクティブなモードの次にチェック・マークが現れます。 それらのモードのいずれかを選択すると、その状態がトグルされます。 メニューの下半分は、コマンドエントリです。 それらのうちのいずれかを選択すると、指示された機能が実行されます。

xterm メニューは、ウィンドウ内で “ コントロール ” キーとポインタボタンが 押された場合にポップアップします。 mainOptions には、VT102 と Tektronix ウィンドウの両方に 使用される項目が含まれています。 Secure Keyboard モードは、secure でない環境で、パスワードやその他のセンシティブな データを入力する場合に使用されます。 後述のセキュリティを参照してください。 メニューのコマンドセクション内の注目すべきエントリは、 xterm プログラム下で動作するプロセスのプロセスグループ (通常はシェル) に 対してそれぞれ SIGCONT、SIGTSTP、SIGINT、SIGHUP、 SIGTERM および SIGKILL 信号を発信する Continue、 Suspend、 Interrupt、 Hangup、 Terminate および Kill です。 Continue 機能は、特にユーザが誤って Control-Z を入力してしまって、プロセスを 中断させてしまったような場合に役に立ちます。

vtMenu は、VT102 エミュレーションにおける様々なモードを設定し、 VT102 ウィンドウで “ コントロール ” キーとボタン 2 が押された場合に ポップアップします。 このメニューのコマンドセクションでは、ソフトリセットの入力で スクロールリージョンをリセットします。これは、あるプログラムが スクロールリージョンを誤って設定したままにして ある場合 (VMS あるいは TOPS-20 を使用しているときよく起こる問題です) に、 便利です。 フルリセットの入力は、スクリーンをクリアし、タブを 8 カラムごとに リセットし、端末モード (ラップやスムーズスクロールのような) を xterm がコマンド行オプションの処理を終了した直後の初期状態にリセットします。

fontMenu は、VT102 ウィンドウで使用されるフォントを設定します。

tekMenu は、Tektronix エミュレーションの様々なモードを設定し、 Tektronixウィンドウで “ コントロール ” キーとポインタボタン 2 が 押された場合にポップアップします。 現在のフォントサイズは、メニューのモードセクションでチェックされます。 コマンドセクション中の PAGE エントリは、Tektronix ウィンドウをクリアします。

セキュリティ

X の環境は、それぞれのセキュリティ意識により異なります。 xdm の下で走る MIT サーバは、誰にでも適切なレベルのセキュリティを 提供することが可能な “magic cookie”オーソライゼイションの 方法を用いることができます。 もし、サーバが、サーバへのアクセスの制御にホストベースの メカニズムのみを用いているならば (xhost(1) を参照)、 ホストへのアクセスを可能にした場合や、他のユーザもまたそのホスト上の クライアントを使用できる場合は、誰かが、アクティビティを検索するために X プロトコルの基本サービスを使用しようとするアプリケーションを 実行しようとするか、キーボードから入力したすべてのトランスクリプトを 潜在的に検索しようとする可能性があります。 これは、パスワードやその他のセンシティブなデータを入力する場合に 特に気がかりです。 この問題に対する一番良い解決法は、もっと良い、しかも キーボード入力を保護するための簡単なメカニズムがある、ホストベース制御の オーソライゼーションメカニズムを使用することです。

xterm メニュー (前述のメニュー参照) には、 Secure Keyboard エントリが含まれています。 このエントリは enable のとき、あらゆるキーボード入力が xterm へだけ 送られることを保証します (GrabKeyboard プロトコルリクエストを使用して)。 アプリケーションがパスワード (または他のセンシティブなデータ) を 促してくる場合は、メニューを使用して Secure Keyboard を enable にし、 データを入力し、そしてもう 1 度メニューを使用して Secure Keyboard を disable にすることができます。 1 度にキーボードを保証できるのは 1 つのクライアントだけなので、 Secure Keyboard を enable にしようとしても、失敗するかもしれません。 この場合は、ベルが鳴ります。 Secure Keyboard が成功したら、フォアグラウンドと バックグラウンドの色が入れ替わります (Modes メニューの 反転表示を選択したかのように)。 secure モードを出ると、再びそれらの色は入れ替わります。 色が入れ替わらない場合は、疑う必要があります。 実行中のアプリケーションが、パスワードを要求する前にプロンプトを 表示した場合は、だまされる可能性を最小にするため、secure モードを 入力してからプロンプトを表示させ、プロンプトが正しく (新しい色で) 表示されているかを確かめます。 メニューを再度表示して、エントリの次にチェックマークがあるかどうかを 確認することもできます。

xterm ウィンドウがアイコン化されたりそうでなければ、アンマップされたり)、 あるいは Secure Keyboard モードにある間に ウィンドウマネージャ (ウィンドウの周囲にタイトルバーや その他のオプションを置く) の再生を 始める場合、Secure Keyboard モードは自動的に disable に なります (これは簡単には克服できない X プロトコルの機能です)。 これが生じた場合は、フォアグラウンドとバックグラウンドの色は、返され、 警告のためのベルが鳴ります。

文字クラス

真中のマウスボタンをすばやく続けて 2 回クリツクすると、同一クラスの すべての文字 (たとえば、文字、空白、句読点) が選択されます。 何を選ぶかはそれぞれの人がそれぞれの好みで決めるので (たとえば、 ファイル名は全体、あるいは別々のサブネームとして選択される)、 デフォルトのマッピングは、charClass (クラス CharClass) リソースを使用してオーバライドすることができます。

このリソースは単に range:value のペアの簡単なリストです。 ここで、range は単一の番号もしくは 0 から 127 までの low-high のどちらがであり、それは文字に対する ASCII コードあるいは設定すべき文字に対応します。 値 (value) は任意ですが、デフォルトのテーブルでは、 セット内に生じる最初の文字の文字番号を使用します。

デフォルトのテーブルは以下のとおりです。

static int charClass[128] = {
/∗ NUL  SOH  STX  ETX  EOT  ENQ  ACK  BEL ∗/
    32,   1,   1,   1,   1,   1,   1,   1,
/∗  BS   HT   NL   VT   NP   CR   SO   SI ∗/
     1,  32,   1,   1,   1,   1,   1,   1,
/∗ DLE  DC1  DC2  DC3  DC4  NAK  SYN  ETB ∗/
     1,   1,   1,   1,   1,   1,   1,   1,
/∗ CAN   EM  SUB  ESC   FS   GS   RS   US ∗/
     1,   1,   1,   1,   1,   1,   1,   1,
/∗  SP    !    "    #    $    %    &    ’ ∗/
    32,  33,  34,  35,  36,  37,  38,  39,
/∗       )    ∗    +    ,    -    .    / ∗/
    40,  41,  42,  43,  44,  45,  46,  47,
/∗   0    1    2    3    4    5    6    7 ∗/
    48,  48,  48,  48,  48,  48,  48,  48,
/∗   8    9    :    ;    <    =    >    ? ∗/
    48,  48,  58,  59,  60,  61,  62,  63,
/∗   @    A    B    C    D    E    F    G ∗/
    64,  48,  48,  48,  48,  48,  48,  48,
/∗   H    I    J    K    L    M    N    O ∗/
    48,  48,  48,  48,  48,  48,  48,  48,
/∗   P    Q    R    S    T    U    V    W ∗/
    48,  48,  48,  48,  48,  48,  48,  48,
/∗   X    Y    Z    [    \    ]    ^    _ ∗/
    48,  48,  48,  91,  92,  93,  94,  48,
/∗   ‘    a    b    c    d    e    f    g ∗/
    96,  48,  48,  48,  48,  48,  48,  48,
/∗   h    i    j    k    l    m    n    o ∗/
    48,  48,  48,  48,  48,  48,  48,  48,
/∗   p    q    r    s    t    u    v    w ∗/
    48,  48,  48,  48,  48,  48,  48,  48,
/∗   x    y    z    {    |    }    ~  DEL ∗/
    48,  48,  48, 123, 124, 125, 126,   1};

たとえば、文字列 “33:48,37:48,45-47:48,64:48” は、感嘆符、パーセント 記号、ダッシュ、ピリオド、スラッシュ、および & の文字は文字や数字と 同じように扱われることを示します。 これは、電子メールのアドレスと Unix のファイル名をカット/ペースト するのに非常に役に立ちます。

アクション

vt100 もしくは tek4014 ウィジェットのトランスレーションを 変えることによって、各キー (あるいは一連のキー) を入力用の任意文字列に リバインドできます。 キーおよびボタンイベント以外のイベントのトランスレーションの変更は 予想できないので、予測できない事態が生じます。 以下のアクションが vt100、tek4014 の translations リソースと共に用いられるように用意されています。

begin-conversion(language,typename)
Xlc プロトコルを使用した仮名漢字変換入力を開始します。

end-conversion()
Xlc プロトコルを使用した仮名漢字変換入力を強制的に打ち切ります。

bell([percent])
キーボードベルを鳴らします。基本音量に対する増減比を指定できます。

ignore()
イベントを無視しますが、特別なポインタポジションの エスケープシーケンスはチェックします。

insert() insert-seven-bit() と同じです。

insert-seven-bit()
押されたキーの keysym に対応する 7 ビット USASCII キャラクタやストリングを 挿入します。

insert-eight-bit()
押されたキーの keysym に対応する 8 ビット ISO Latin-1 キャラクタや ストリングを挿入します。

insert-selection(name[,name]...) 
セレクションの中か、sourcename によって指定された カットバッファの中の文字列を挿入します。大文字小文字も区別します。 元の文字列は、与えられた順番に、挿入先が見つかるまで検査されます。 共通に用いられるセレクションには PRIMARY、SECONDARY、CLIPBOARD’ があります。 カットバッファは通常 CUT_BUFFER0 から CUT_BUFFER7 です。

keymap(name)
keymap アクションは、新しい翻訳テーブルを動的に定義するのに 使用されるリソースを命名する string 引数を 1つとります。 リソース名は、文字列 Keymap を name に付加することによって 得られます。 keymap 名 None は、オリジナルのトランスレーションテーブル (最初の テーブル ; スタックは維持されません) を復元します。 大文字か小文字かは重要です。

popup-menu(menuname)
指定したポップアップメニューを表示します。 mainOptions、vtMenu、fontMenu、tekMenu が有効な名前です。 大文字か小文字かは重要です。

secure()
セキュリティのセクションで記述されている Secure Keyboard モードをトグルします。 mainOptions の securekbd エントリから起動されます。

select-start()
現在のポインタ位置からテキストのセレクションを開始します。 セレクションに関してはポインタの使い方 の章を参照してください。

select-extend()
前に開始した位置からテキストのセレクションを継続します。 これは Motion イベントにのみ束縛されます。

select-end(destname [, ...])
選択されたテキストを、すべてのセレクションやカットバッファの中から destname によって指定されたものの中に入れます。

select-cursor-start()
このアクションは、現在のカーソル位置からセレクションを 始める点を除いて select-start と似ています。

select-cursor-end(destname [, ...])
このアクションは select-cursor-start と共に使われる点を除いて select-end と似ています。

set-vt-font(d/1/2/3/4/5/6/e/s [,normalfont [, boldfont]])
このアクションは現在 VT102 ウインドウで使用されているフォントを設定します。 最初の引数は使用するフォントを指定する 1 文字のキャラクタです。 d もしくは D はデフォルトのフォント ( xterm が起動した時の) を指定します。 1 から 4 は font1 から font6 のリソースで指定した フォントを指します。 e もしくは E は、エスケープコード (もしくはそれぞれ 2 番目 3 番目の引数) によって設定されるノーマル もしくは ボールドフォント です。 i もしくは I は 2 番目の引数で指定された (xfontsel(1) の 様なプログラムによって作られた) フォントセレクションを指定します。

start-extend()
このアクションは現在のポインタ位置までセレクションが拡張される点を 除いて select-extend に似ています。

string(string)
キーまたはキーシーケンスを string 値にリバインドします。 すなわち、string 引数を入力ストリームに挿入します。 文字列が空白や英数字でない文字を含む場合は、引用符が必要です。 string 引数が文字 “0x” で始まる場合は、それは 16 進文字の定数と解釈され、 それに対応する文字が通常の方法で送信されます。

scroll-back(count [,units])
スクロールして隠れてしまったテキストが見えるようにウインドウを逆方向に スクロールさせます。 count は 何 units ごとにスクロールするか、その数を指定します。 units は page、halfpage、pixel、line の いずれかです。

scroll-forw(count [,units])
スクロールの方向が逆である点を除いて scroll-back と似ています。

allow-send-events(on/off/toggle)
このアクションは allowSendEvents リソースを設定もしくはトグルします。 また、mainOptions の allowsends エントリによっても起動されます。

allow-xlc-input(on/off/toggle)
このアクションは allowXlcInput リソースを設定もしくはトグルします。 これによる設定、または起動されると、IM server とは Xlc プロトコルのみで 通信可能です。

allow-im-input(on/off/toggle)
このアクションは allowXIMInput リソースを設定もしくはトグルします。 また、mainOptions の allowXIMInput エントリによっても起動されます。 これによる設定、または起動されると、IM server とは XIM プロトコルのみで 通信可能です。

set-logging(on/off/toggle)
logging リソースをトグルします。 また、mainOptions の logging エントリによっても起動されます。

redraw()
ウインドウを再描画します。 また、mainOptions の redraw エントリによっても起動されます。 send-signal(signame) このアクションは signame (番号でもよい) によって指定された シグナルを xterm の子プロセスに送ります。(−e コマンドライン オプションによって指定されたシェルやプログラム) そして、mainOptions の suspend、 continue、 interrupt、 hangup、 terminate、 そして kill エントリによっても起動されます。 有効なシグナル名 (大文字か小文字かはどちらでも構いません) は、 suspend、tstp (オペレーティングシステムでサポートされて いれば)、cont (オペレーティングシステムでサポートされていれば)、 int、hup、term、そして kill です。

quit() サブプログラムに SIGHUP を送り、終了します。 mainOptions の quit エントリによっても起動されます。

set-scrollbar(on/off/toggle)
scrollbar リソースをトグルします。 vtOptions の scrollbar エントリによっても起動されます。

set-jumpscroll(on/off/toggle)
jumpscroll リソースをトグルします。 vtOptions の jumpscroll エントリによっても起動されます。

set-reverse-video(on/off/toggle)
reversevideo リソースをトグルします。 vtOptions の reversevideo エントリによっても起動されます。

set-autowrap(on/off/toggle)
長い行のオートラッピングをトグルします。 vtOptions の autowrap エントリによっても起動されます。

set-reversewrap(on/off/toggle)
reverseWrap リソースをトグルします。 vtOptions の reversewrap エントリによっても起動されます。

set-autolinefeed(on/off/toggle)
ラインフィードの自動挿入をトグルします。 vtOptions の autolinefeed エントリによっても起動されます。

set-appcursor(on/off/toggle)
アプリケーションカーソルキーモードの扱いをトグルします。 vtOptions の Bappcursor エントリによっても起動されます。

set-appkeypad(on/off/toggle)
アプリケーションキーパッドモードの扱いをトグルします。 vtOptions の appkeypad エントリによっても起動されます。

set-scroll-on-key(on/off/toggle)
scrollKey リソースをトグルします。 vtOptions の scrollkey エントリによっても起動されます。

set-scroll-on-tty-output(on/off/toggle)
scrollTtyOutput リソースをトグルします。 vtOptions の scrollttyoutput エントリによっても起動されます。

set-allow132(on/off/toggle)
c132 リソースをトグルします。 vtOptions の allow132 エントリによっても起動されます。

set-cursesemul(on/off/toggle)
curses リソースをトグルします。 vtOptions の cursesemul エントリによっても起動されます。

set-visual-bell(on/off/toggle)
 visualBell リソースをトグルします。 vtOptions の visualbell エントリによっても起動されます。

set-marginbell(on/off/toggle)
marginBell リソースをトグルします。 vtOptions の marginbell エントリによっても起動されます。

set-altscreen(on/off/toggle)
オルタネイティブスクリーンと、カレントスクリーンをトグルします。

soft-reset()
スクロールリージョンをリセットします。 vtOptions の softreset エントリによっても起動されます。

hard-reset()
スクロールリージョン、タブ、ウインドウサイズ、カーソルキー をリセットし、画面をクリアします。 vtOptions の hardreset エントリによっても起動されます。

clear-saved-lines()
hard-reset() を起動し、スクリンから隠れたラインヒストリをクリアします。 vtOptions の clear-saved-lines エントリによっても起動されます。

set-terminal-type(type)
type の文字列によって vt または tek ウインドウのどちらに出力するかを決めます。 vtOptions の tekmode エントリか、tekMenu の vtmode エントリによっても起動されます。

set-visibility(vt/tek,on/off/toggle)
vt と tek ウインドウのどちらを画面に出すかを制御します。 vtOptions の vthide エントリか、tekMenu の tekhide エントリによっても起動されます。

set-tek-text(large/2/3/small)
テクトロニクスウインドウで使用するフォントを設定します。 引数に応じてそれぞれ、リソース tektextlarge、tektext2、 tektext3、tektextsmall にその値を設定します。 tekMenu の それぞれ同じ名前のエントリによっても起動されます。

tek-page()
テクトロニクスウインドウをクリアします。 tekMenu の tekpage エントリによっても起動されます。

tek-reset()
テクトロニクスウインドウをリセットします。 tekMenu の tekreset エントリによっても起動されます。

tek-copy()
現在のウインドウを描くのに使われたエスケープコードをカレントディレクトリの ファイルに書き込みます。 ファイル名は COPY で始まります。 tekMenu の tekcopy エントリによっても起動されます。

さらにテクトロニクスウインドウには次のようなアクションがあります:

gin-press(l/L/m/M/r/R)
指定されたグラフィクス入力コードを送ります。

次に VT102 ウインドウのデフォルトバインディングを示します:

 Shift <KeyPress> Prior:        scroll-back(1,halfpage) \n\
  Shift <KeyPress> Next:        scroll-forw(1,halfpage) \n\
Shift <KeyPress> Select:        select-cursor-start() \
        select-cursor-end(PRIMARY, CUT_BUFFER0) \n\
Shift <KeyPress> Insert:        insert-selection(PRIMARY, CUT_BUFFER0) \n\
        ~Meta<KeyPress>:        insert-seven-bit() \n\
         Meta<KeyPress>:        insert-eight-bit() \n\
   Ctrl ~Meta<Btn1Down>:        popup-menu(mainOptions) \n\
       ~Meta <Btn1Down>:        select-start() \n\
     ~Meta <Btn1Motion>:        select-extend() \n\
  Ctrl ~Meta <Btn2Down>:        popup-menu(vtOptions) \n\
 ~Ctrl ~Meta <Btn2Down>:        ignore() \n\
   ~Ctrl ~Meta <Btn2Up>:        insert-selection(PRIMARY, CUT_BUFFER0) \n\
  Ctrl ~Meta <Btn3Down>:        popup-menu(fontMenu) \n\
 ~Ctrl ~Meta <Btn3Down>:        start-extend() \n\
     ~Meta <Btn3Motion>:        select-extend() \n\
    ~Ctrl ~Meta <BtnUp>:        select-end(PRIMARY, CUT_BUFFER0) \n\
              <BtnDown>:        bell(0)

テクトロニクスウインドウのデフォルトバインディングを示します:

      ~Meta<KeyPress>:  insert-seven-bit() \n\
       Meta<KeyPress>:  insert-eight-bit()\n\
Ctrl  ~Meta<Btn1Down>:  popup-menu(mainOptions) \n\
Ctrl  ~Meta <Btn2Down>:  popup-menu(tekMenu) \n\
Shift ~Meta<Btn1Down>:  gin-press(L) \n\
      ~Meta<Btn1Down>:  gin-press(l) \n\
Shift ~Meta<Btn2Down>:  gin-press(M) \n\
      ~Meta<Btn2Down>:  gin-press(m) \n\
Shift ~Meta<Btn3Down>:  gin-press(R) \n\
      ~Meta<Btn3Down>:  gin-press(r)

次に示すのは、どのように keymap() アクションを使えば、 良く使うコマンドを入力するためのスペシャルキーを追加できるかという サンプルです。

∗VT100.Translations: #override <Key>F13: keymap(dbx)
∗VT100.dbxKeymap.translations: \
        <Key>F14:       keymap(None) \n\
        <Key>F17:       string("next") string(0x0d) \n\
        <Key>F18:       string("step") string(0x0d) \n\
        <Key>F19:       string("continue") string(0x0d) \n\
        <Key>F20:       string("print ") insert-selection(PRIMARY, CUT_BUFFER0)

環境変数

xterm は、作成されたサイズウィンドウに対して正しい環境変数 “TERM” と “TERMCAP” を設定します。 これはまた、どのビットマップディスプレイターミナルを使用するかを 指定するために環境変数 “DISPLAY” を設定します。 環境変数 “WINDOWID” は、 xterm ウィンドウの X ウィンドウの ID 番号に設定されます。

多国語対応

xterm は、環境変数 “LANG” を参照して 起動時に設定されるリソースを切替え、 使用言語の変更をおこないます。 “LANG” が ない場合には $HOME/.userinfo、これがない場合には /etc/sysinfo に書かれた “LANG” を参照します。“LANG” の値と 使用言語の文字コードの関係は以下の通りです。
 

“LANG” の値 文字 コード
= =
C 7bit ASCII
ja_JP.SJIS 日本語 SJIS
ja_JP.EUC 日本語 EUC
en_US.88591 英語 ISO-8859-1 (西ヨーロッパ文字)
ko_KR.EUC 韓国語 EUC
zh_TW.TCA 中国語(台湾) TCA

 
上のように “LANG” で設定された言語環境にかかわらず、日本語 (SJIS)、 韓国語、中国語 (台湾)、西ヨーロッパ文字 (ISO−8859−1)を使用したい場合、 xterm へのシンボリックリンクである jterm、 hterm、 tterm、 mterm というコマンド名で実行して下さい。 使用言語の切替えはメニューからも行なうことが可能です。ただし実 行環境の “LANG” が変わるわけではありません。

関連事項

resize(1), X(7), pty(4), tty(4), sjx(1), Xlc(3), sjxm(1)
Xterm Control Sequences

バグ

Xterm Control Sequences ドキュメントは、未だに X10 から コンバートされていません。 その古いバージョンの、アップデートしたところまでのものは ソースの中にあります。

クラス名は Xterm ではなく XTerm です。

xterm は、1 度にあまりにも多くのテキストをペーストしようとすると 永久に停止します。 xterm は、pty に対しては生産者であり消費者の両方であり、 デッドロックする可能性があります。

可変幅のフォントは、扱えません。

このプログラムはさらに書き直す必要があります。 このプログラムは、モジュール方法のセクションに分割しなければならないし、 様々なエミュレータは、お互いについて認識していないウィジェットを完全に 分離しなければりません。 理想的には、エミュレータウィジェットを捜して選択し、それらを単一の 制御ウィジェットにするのが良いでしょう。

ある他のクライアント (たとえば、ウィンドウマネージャ) が、ポインタを グラブした場合は、フォーカスは失われたとみなされます。 プロトコルに対して追加を行わないで、よりうまく処理するのは困難です。

ログファイル名と COPY ファイル名のエントリを可能にするための ダイアログボックスが必要です。

オプションの多くは、 xterm が起動してしまった後ではリセットできません。

Tek ウィジェットは、キーとボタンのリバインディングおよび XIM 通信をサポートしません。

Xlc プロトコルを使用するとセキュリティーホールが発生します。

著作権

Copyright 1989, Massachusetts Institute of Technology.  Copyright (c) 1990, 1991, 1992 Sony Corporation
権利と許可の声明文については、 X(7) を参照のこと。

著者

以下の方を始め多くの人々。 Loretta Guarino Reid (DEC-UEG-WSL), Joel McCormack (DEC-UEG-WSL), Terry Weissman (DEC-UEG-WSL), Edward Moy (Berkeley), Ralph R. Swick (MIT-Athena), Mark Vandevoorde (MIT-Athena), Bob McNamara (DEC-MAD), Jim Gettys (MIT-Athena), Bob Scheifler (MIT X Consortium), Doug Mink (SAO), Steve Pitschke (Stellar), Ron Newman (MIT-Athena), Jim Fulton (MIT X Consortium), Dave Serisky (HP), Hideo Irie (Sony)

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026