#
IBM(R) zSeries Runtime Environment for Linux, Java(TM) 2 Technology Edition
- README -

注: 本書の情報およびこの情報がサポートするプロダクトをご使用になる前に、特記事項に記載されている情報をお読みください。

本書の内容は、新版で特に指定がない限り、IBM zSeries Runtime Environment for Linux, Java 2 Technology Edition とそれ以降のすべてのリリースおよびモディフィケーションに適用されます。

(c) Copyright IBM Corporation 1999, 2002. All Rights Reserved.

(c) Copyright IBM Japan 2002

(c) Copyright Sun Microsystems, Inc. 1997, 2001. 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.

本書の内容には日本では発表されていない IBM 製品 (機械およびプログラム)、プログラミングまたはサービスについての 参照または情報が含まれている場合があります。しかし、このことは、これらの未発表製品、プログラミングまたはサービスを、将来において IBM が日本国内で提供する意向があることを意味するものではありません。

この README ファイルは、Sun SDK 1.3.1 レベルの、IBM(R) zSeries Developer Kit for Linux, Java(TM) 2 Technology Edition, (Developer Kit for Linux) に付属している Runtime Environment for Linux パッケージに関して解説しています。

Runtime Environment で行うことができるのは、Java アプリケーションの実行だけです。Java アプリケーションを作成して実行したい場合には、Developer Kit for Linux をインストールする必要があります。Developer Kit for Linux をインストール済みであれば、Developer Kit のサブセットである Runtime Environment は必要ありません。

Developer Kit for Linux がテストされた配布については、以下を参照してください。
http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html

## 目次

- 概要
- Runtime Environment for Linux に付属しているファイル
- ご使用条件
- just-in-time (JIT) コンパイラー
- Native Method Interface および Java Native Interface
- Runtime Environment for Linux の構成
- 追加フォントのインストール
- Red Hat へのインストール
- BEA Weblogic を使用する場合のインストール
- Runtime Environment for Linux のアンインストール
- RPM パッケージのアンインストール
- 圧縮 TAR パッケージのアンインストール
- Java Runtime Interpreter の起動
- システム・プロパティー
- IBM ビルド番号およびバージョン番号の確認
- 浮動スタックの使用
- DBCS 言語での入力方式の切り替え
- デーバナーガリー・フォント
- 実行例
- ユーザー・システムへのアプリケーションのインストール
- ガーベッジ・コレクション方針の指定
  - 休止時間
  - 休止時間の削減
  - ヒープが満杯の環境
  - ガーベッジ・コレクションに関する追加情報
- Runtime Environment for Linux のドキュメント
- 確認済みの制限事項
- 一般情報
- Linux のメモリー割り振りに関する情報
- 日本語ユーザーへの情報
- 特記事項
- 商標

## 概要

Runtime Environment for Linux には、Java runtime 環境の作成と Java プログラムの実行に必要なクラスのサブセットが用意されています。 また、Java 仮想マシン、Java クラス、およびそれをサポートするファイルも用意されています。 Runtime Environment for Linux には、Java Developer Kit 内にあるクラスのサブセットだけが備えられています。

### Runtime Environment for Linux に付属しているファイル

Runtime Environment for Linux には、実行時のプログラムのサポート用として、デバッグ用ではない .so ファイルとクラス・ファイルが付属しています。Runtime Environment for Linux には、appletviewer や javac などの開発ツールや、開発システムにのみ関係するクラスは含まれていません。

また、Runtime Environment for Linux で使用できる Java Authentication and Authorization Service (JAAS) パッケージが付属しています。

### ご使用条件

LICENSE_xx.html ファイルには、Runtime Environment for Linux ソフトウェアのご使用条件が入っています。 (xx はロケールの省略形です。)

このご使用条件を表示または印刷するには、このファイルを Web ブラウザーでオープンしてください。

### just-in-time (JIT) コンパイラー

just-in-time (JIT) コンパイラー (libjitc.so) は、Java アプリケーションやアプレットの実行中に頻繁に使用されるバイトコード・シーケンスのマシン・コードをダイナミックに生成します。

Runtime Environment for Linux には JIT コンパイラー (libjitc.so) が付属し、デフォルトでは使用するようになっています。 Java アプリケーション、アプレット、またはコンパイラー自体のいずれに問題があるかを判別するために、JIT を使用しないようにすることができます。 JIT を使用しないようにするには、シェル・プロンプトで次のように入力します。

        export JAVA_COMPILER=NONE

JIT を使用するには、シェル・プロンプトで次のように入力します。

        unset JAVA_COMPILER

JIT を使用するかどうかを調べるには、シェル・プロンプトで次のように入力します。

    java -version

JIT を使用する場合には、以下を含むメッセージが表示されます。

        JIT enabled: jitc

JIT を使用しない場合には、このメッセージが表示されます。

        JIT disabled

### Native Method Interface および Java Native Interface

本リリースでは Native Method Interface はサポートされていません。 アプリケーションでこのインターフェースを使用しないでください。

Runtime Environment には Java Native Interface (JNI) が付属しています。 JNI の使用方法については、以下の Sun の Web サイトを参照してください。

  http://java.sun.com

1. 「Products & APIs」を選択します。
2. 「Product Groups」にある「Java 2 Platform, Standard Edition (J2SE)」を選択します。
3. 「Current Releases」にある「Java 2 SDK, Standard Edition, v 1.3.1」を選択します。
4. 「J2SE 1.3.1 Documentation」にある「browse documentation online」を選択します。
5. 「Guide to Features - Java Platform」にある「Java Native Interface (JNI)」を選択します。

## Runtime Environment for Linux の構成

Runtime Environment for Linux のインストールが完了したら、シェル・スクリプトを編集して、このディレクトリーを PATH ステートメントに追加します。

  /opt/IBMJava2-ppc-131/jre/bin

Runtime Environment for Linux を /opt/IBMJava2-ppc-131 以外のディレクトリーにインストールした場合は、上記の /opt/IBMJava2-ppc-131 を実際の Runtime Environment for Linux のインストール先ディレクトリーに置き換えてください。

### 追加フォントのインストール

Java ではすべてのユニコード文字を表示することができますが、Linux のほとんどのバージョンでは、ユーザーに必要な言語のフォントしかインストールされません。 IBM のページからフォントをダウンロードすれば、すべてのユニコード文字セットを表示することができます。 これらのフォントは、データ・サイズが大きく、すべてのユーザーが必要とするわけではないので、Developer Kit for Linux パッケージには付属していません。 IBM では 2 つのユニコード・フォントを提供しており、それぞれは国別にカスタマイズされています。 中国と韓国のユーザーは国別仕様のバージョンのフォントを使用し、その他の国のユーザーは日本語バージョンのフォントを使用する必要があります。

フォントは http://www.ibm.com/developer/java/ にある developerWorks Web サイトからダウンロードできます。 どのフォントをダウンロードするかを判別するために役立つフォントの説明があります。

フォントをインストールするには、ファイルを /opt/IBMJava2-ppc-131/jre/lib/fonts ディレクトリーに入れます。

フォントを分割してダウンロードした場合には、まず各フォントごとにそれぞれの部分を 1 つのファイルに結合します。 これを実行するには、それらの部分が /opt/IBMJava2-ppc-131/jre/lib/fonts ディレクトリーにあることを確認して、cat コマンドを使用します。

たとえば、Times New Roman WT J フォントを分割してダウンロードした場合、それらを連結するには次のコマンドを入力します。

            cat tnrwt_j.t01 tnrwt_j.t02 tnrwt_j.t02 > tnrwt_j.ttf

### Red Hat へのインストール

Red Hat システム上でインストールしている場合、フォント・サーバーが Java TrueType フォントを検出できるように以下を実行してください。

    su root
    /usr/sbin/chkfontpath --add /opt/IBMJava2-131/jre/lib/fonts

これはインストール時に行う必要があり、このコマンドは `root` で実行する必要があります。

### BEA Weblogic を使用する場合のインストール

BEA Weblogic サーバーを使用したい場合、Developer Kit for Linux のパッケージをインストールするときに、オプションの JAAS インストールを選択解除する必要があります。BEA Weblogic サーバーには、それ自身の JAAS インプリメンテーションが含まれています。

## Runtime Environment for Linux のアンインストール

Runtime Environment for Linux を除去するプロセスは、RPM パッケージと圧縮 TAR パッケージのどちらをインストールしているかによって異なります。 『RPM パッケージのアンインストール』または『圧縮 TAR パッケージのアンインストール』の説明を参照してください。

### RPM パッケージのアンインストール

RPM パッケージをインストールしていた場合、Runtime Environment for Linux をアンインストールするには、以下の手順に従います。

1. プロンプトで次のように入力します。

           rpm -qa | grep IBM

   パッケージの名前が表示されます。

2. 次のように rpm コマンドを使用します。

           rpm -e IBMJava2-JRE

3. PATH ステートメントから、Runtime Environment のインストール先ディレクトリーを除去します。

### 圧縮 TAR パッケージのアンインストール

圧縮 TAR パッケージをインストールしていた場合に、Runtime Environment for Linux をアンインストールするには、以下の手順で行います。

1. Runtime Environment をインストールしていたディレクトリーから Runtime Environment ファイルを除去します。

2. PATH ステートメントから、Runtime Environment のインストール先ディレクトリーを除去します。

## Java Runtime Interpreter の起動

Java ツールを使って、シェル・プロンプトから Runtime Environment for Linux を呼び出すことができます。

- クラスを実行するには、次のように行います。

          java [-options] classname <args>

  引き数 `classname` は、実行しようとするクラスの名前です。そのクラスに渡す引き数はすべて、コマンド・ラインの `classname` の後に置いてください。

- jar ファイルを実行するには、次のように行います。

          java -jar [-options] jarfile <args>

  引き数 `jarfile` は、実行しようとする jar ファイルの名前です。jar ファイルに渡す引き数はすべて、コマンド・ラインの `jarfile` の後に置いてください。

Java ツールのオプション (上記の [-options]) は次のとおりです。

-D<name>=<value>
  システム・プロパティーを設定します。
-cp または -classpath <セミコロンで分離したディレクトリーと zip または jar ファイル>
  アプリケーション・クラスおよびリソースの検索パスを設定します。
-help または -?
  使用法のメッセージを出力します。
-showversion
  製品のバージョンを出力して継続します。
-verbose[:class | gc | jni]
  冗長出力を使用可能にします。
-version
  プロダクト・バージョンを出力します。
-X
  非標準オプションに関するヘルプを出力します。
-Xbootclasspath:<セミコロンで分離したディレクトリーと zip または jar ファイル>
  ブートストラップ・クラスおよびリソースの検索パスを設定します。
-Xbootclasspath/a:<セミコロンで分離したディレクトリーと zip または jar ファイル>
  ブートストラップ・クラス・パスの末尾に追加します。
-Xbootclasspath/p:<セミコロンで分離したディレクトリーと zip または jar ファイル>
  ブートストラップ・クラス・パスの先頭に追加します。
-Xcheck:jni
  JNI ファンクションの追加検査を実行します。
-Xcheck:nabounds
  JNI 配列操作の追加検査を実行します。
-Xdebug
  リモート・デバッグを使用可能にします。
-Xfuture
  最も厳重な検査を使用可能にします。いずれデフォルトに設定されるはずです。
-Xgcpolicy:{optthruput | optavgpause}
  ガーベッジ・コレクション設定値を指定します。詳しくは、『ガーベッジ・コレクション方針の指定』を参照してください。
-Xgcthreads:<n>
  ガーベッジ・コレクションに使用されるスレッドの数を指定します。
-Xms<size>
  Java 初期ヒープ・サイズを設定します。
-Xmx<size>
  Java 最大ヒープ・サイズを設定します。
-Xnoagent
  oldjdb デバッガーのサポートを使用不可にします。
-Xnoclassgc
  クラス・ガーベッジ・コレクションを使用不可にします。
-Xoss<size>
  どのスレッドに対しても最大 Java スタック・サイズを設定します。
-Xquickstart
  一部の Java アプリケーションの起動時間を短くするために使用されます。-Xquickstart を指定すると、JIT は最適化のサブセットである高速コンパイルで実行します。この高速コンパイルによって起動時間が短くなります。-Xquickstart は、実行時間が短かめのアプリケーションに適しており、特に実行時間が少数のメソッドに集中していないものに向いています。-Xquickstart は、ホット・メソッドを含んでいる実行時間の長いアプリケーションに使用すると、パフォーマンスを低下させます。-Xquickstart のインプリメンテーションは、将来のリリースにおける変更対象です。
-Xrs
  オペレーティング・システムのシグナルの使用量を減らします。
-Xrunhprof[:help] | [:<option>=<value>, ...]
  ヒープ、CPU、またはモニターのプロファイルの作成を実行します。
-Xrunjdwp[:help] | [:<option>=<value>, ...]
  リモートでのアプリケーションのデバッグをサポートするデバッグ・ライブラリーをロードします。
-Xss<size>
  どのスレッドに対しても最大ネイティブ・スタック・サイズを設定します。詳しくは、『浮動スタックの使用』を参照してください。

-X オプションは非標準オプションであり、予告なく変更されることがあります。

## システム・プロパティー

システム・プロパティー ibm.jvm.bootclasspath は、『Java Runtime Interpreter の起動』で説明されている -D オプションを使って設定できます。 このプロパティーの値は追加の検索パスとして使われ、-Xbootclasspath/p: によって定義された値と bootclass パスとの間に挿入されます。 bootclass パスはデフォルトであるか、または -Xbootclasspath: オプションによって定義された値になっています。

## IBM ビルド番号およびバージョン番号の確認

IBM ビルド番号およびバージョン番号を確認するには、シェル・プロンプトで次のように入力してください。

`java -version`

## 浮動スタックの使用

非浮動スタック Linux システムでは、-Xss の設定内容にかかわらず、最小のネイティブ・スタック・サイズ 256KB がそれぞれのスレッドごとに用意されています。浮動スタック Linux システムでは、-Xss 値が用いられます。したがって、非浮動スタック Linux システムから移行する場合、どの -Xss 値も十分に大きく最小の 256KB に頼っていないことを確認する必要があります。

## DBCS 言語での入力方式の切り替え

2 バイト文字セット (DBCS) システムで入力方式を切り替えたい場合、切り替えに使用するキー・コードを表す環境変数を設定しなければなりません。 オプションで、キー・コードの修飾子を表す別の環境変数を設定することもできます。

切り替えに使用するキー・コードを指定するには、IBMJAVA_INPUTMETHOD_SWITCHKEY 環境変数を、たとえば VK_F4 などの、java.awt.event.KeyEvent クラス内のキー・コード定義に設定します。

オプションで、キー・コードの修飾子を指定することもできます。キー・コードの修飾子を指定するには、IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 環境変数を、次のような java.awt.event.InputEvent クラス内の 3 つのマスク定義の任意の組み合わせに設定します。

- ALT_MASK
- CTRL_MASK
- SHIFT_MASK

各マスクごとにコンマで区切ってください。

たとえば、IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 環境変数を ALT_MASK, CTRL_MASK と設定することができます。

これら 2 つの環境変数は Java の初期化時に保管されます。

環境変数が正しく設定されたことを確認するには、キーを押して、指定したキーの組み合わせに照らし合わせて調べます。 一致していれば、選択用の入力方式を備えた Java ポップアップ・メニューが表示されます。

## デーバナーガリー・フォント

この Developer Kit は、デーバナーガリー・フォント (Devamt.ttf and Devamtb.ttf) を jre/lib/fonts ディレクトリーに入れません。代わりに、Java は、IBM プラットフォームまたは IBM ソフトウェア・プロダクトに付属の Monotype Unicode フォント (Times New Roman WorldType および Sans Monospace WorldType) を適宜使用してデーバナーガリー (ヒンディ語) フォントをサポートします。

## 実行例

以下に示す Sun の Web ページで、例として掲載されている「Hello World」をダウンロードできます。この例は、Runtime Environment for Linux で実行でき、これに組み込まれる簡単な Java アプリケーションを作成する方法を示しています。 この例は以下の Sun の Web サイトにあります。

  http://java.sun.com

1. 「Products & APIs」を選択します。
2. 「Product Groups」にある「Java 2 Platform, Standard Edition (J2SE)」を選択します。
3. 「Current Releases」にある「Java Runtime Environment, Standard Edition, v 1.3.1」を選択します。
4. 左側の「Documentation」にある「Browse」を選択します。
5. 「Java Runtime Environment and Java Plug-in」にある「Notes for Developers」を選択します。

この例では、Developer Kit for Linux を使ったアプリケーションの開発から、より軽い環境である Runtime Environment for Linux 上への展開までの、簡単かつシームレスな推移をご覧になれます。

## ユーザー・システムへのアプリケーションのインストール

プロダクトを開発し終わって出荷する準備ができたら、ユーザー・システムにそのプロダクトをインストールし、ソフトウェアをサポートするようにユーザー・システムを構成して、runtime 環境を構成する必要があります。

Runtime Environment for Linux を使用する場合、インストール手順で既存のインストール・プロダクトを上書きしないように気を付けてください (既存の Runtime Environment for Linux が古いバージョンでない限り)。

Runtime Environment for Linux を再配布するには、ご使用のシステムにそれをインストールしてから、必要な Runtime Environment ファイルをインストール・セットにコピーします。 この方法をとる場合、Runtime Environment for Linux の全ファイルを組み込む必要があります。 Runtime Environment for Linux ソフトウェアは、すべてのファイルが組み込まれている場合に限って再配布することができます。 その結果、アプリケーションは、出荷時にそれぞれ個別の Runtime Environment for Linux のコピーを含むことになります。

再配布する必要があるファイルに関する特定の情報については、製品に同梱されているご使用条件を参照してください。

## ガーベッジ・コレクション方針の指定

IBM Runtime Environment for Linux, Java 2 Technology Edition, V1.3.1 では、ガーベッジ・コレクション方針を指定するための -Xgcpolicy JVM runtime オプションが導入されました。

-Xgcpolicy に指定できるのは、optthruput (デフォルト) と optavgpause の 2 つの値です。このオプションは、アプリケーションおよびシステム全体のスループットとガーベッジ・コレクションに起因する休止時間とをトレードオフし、ガーベッジ・コレクションを制御します。

このオプションの形式と値は次の通りです。

> -Xgcpolicy:optthruput

および

> -Xgcpolicy:optavgpause

### 休止時間

アプリケーションがオブジェクトを作成しようとしてその要求がヒープ内の使用可能スペースからすぐに満たされないとき、ガーベッジ・コレクターは、参照されていないオブジェクト (ガーベッジ) を識別してそれらを削除し、ヒープの状態を即時および後続の割り振り要求にすぐに応じられるような状態に戻す責任があります。そのようなガーベッジ・コレクションのサイクルによって、アプリケーション・コードの実行において予期しない休止が時々起こることになります。アプリケーションは大きく複雑になってきており、ヒープもそれに応じて大規模になっているので、このガーベッジ・コレクション休止時間は長さも重要度も増す傾向にあります。デフォルトのガーベッジ・コレクション値である optthruput は、これら時々の休止 (ヒープのサイズとガーベッジの質によって数ミリ秒からかなりの秒数まであり得る) を犠牲にして、非常に高いスループットをアプリケーションにもたらします。

### 休止時間の削減

optavgpause 値は、これらのガーベッジ・コレクション休止に費やされる時間を大幅に削減し、ヒープ・サイズの増加がガーベッジ・コレクション休止の長さに与える影響を制限します。これは特に大規模ヒープを伴う構成に関係があります。(ヒープは少なくとも 1 GB ある場合に大規模と考えてください。) ガーベッジ・コレクションと通常のプログラム実行を並行させれば、休止時間は削減されます。この並行の結果、アプリケーションのスループットが少し減少します。

### ヒープが満杯の環境

Java ヒープが満杯に近く、再利用できるガーベッジが少ししかない場合、新規オブジェクト用の要求がすぐには満たされないことがあります。すぐに使用可能なスペースがないためです。ヒープが容量いっぱいに近い状態で操作されている場合、上記オプションのどちらが使用されているのかには関係なく、アプリケーション・パフォーマンスは悪くなります。 また、さらにヒープ・スペースへの要求が続けば、アプリケーションはメモリー不足例外を受け取り、その例外がキャッチされ処理されなければ、JVM は終了します。このような状態の場合、-Xmx オプションを使用してヒープ・サイズを増やすか、使用中のアプリケーション・オブジェクトの数を減らすことをお勧めします。

### ガーベッジ・コレクションに関する追加情報

ヒープ・サイズの調整とアプリケーション・パフォーマンスのためのガーベッジ・コレクションの考慮点については、以下を参照してください。

http://www.ibm.com/developerworks/library/j-jtc/index.html

http://www.ibm.com/developerworks/library/tip-heap-size.html

http://www.ibm.com/developerworks/library/j-leaks/index.html

## Runtime Environment for Linux のドキュメント

次のような runtime ドキュメントが用意されています。

- 各プロパティー・ファイルには、そのファイルの用途と変更方法を記述したコメントが入っています。

- KeyEvent は awt.properties ファイルを使って、(通常、デバッグのために) キー・イベントのプロパティーを表示します。

## 確認済みの制限事項

### 一般情報

- Java FontMetrics クラスを使ってドロー・メソッドを使用するためのフォントの幅を計算すると、誤った答えが戻され、テキストは正しく表示されません。この問題は、計算に使用される数値が Java2D からのもので、計算が Abstract Widows Toolkit (AWT) で実行されるために発生します。この問題を回避するためには、AWT から数値を入手して、AWT で計算を行ってください。そのためには、Developer Kit for Linux を開始する前に、JAVA2D_USEAWTFONTS システム変数をゼロに設定してください。

- サウンド・カードなしでマシン上で音声を使用した場合、Java が音を再生しようとしたときに、メモリー不足を示すエラー・メッセージが表示されることがあります。このメッセージはコンソールに表示されますが、ご使用の Java アプリケーションには影響ありません。

- ウィンドウ・マネージャーとして K Desktop Environment (KDE) を実行している場合、システム・クリップボードを使って Linux アプリケーションと Java アプリケーション間で情報をコピーできないことがあります。

  1. 左側のリストから「Site Map」を選択します。
  2. 「Server Support」にある「Linux」を選択します。

- Ctrl-C キーで Java アプリケーションを終了すると、多くのプロセスが孤立プロセスとして残されることがあります。

- javap プログラムをインターフェースで実行した場合、ストリング "interface" が結果に重複されます。たとえば、"java.lang.Runnable" で javap を実行した場合、次のようになります。

           public interface interface java.lang.Runnable extends java.lang.Object...

- Swing を使って作成したダイアログ・ボックスを表示する場合、ウィンドウに表示されるまでに数秒間の遅延が生じることがあります。

- ALT キーを使った KeyEvent 結果は、Linux で使用するウィンドウ・マネージャーごとに異なります。また、他のオペレーティング・システムの結果とも異なります。Enlightenment ウィンドウ・マネージャーでは、 Alt+A キーおよび Shift+Alt+A キーはそれぞれ異なる修飾子を作成し、 Ctrl+Alt+ A キーはまったくキー・イベントを作成しません。 ただし、WindowMaker ウィンドウ・マネージャーを使用すると、 Ctrl+Alt+A キーはキー・イベントを作成します。

  Linux X Window System では、キー・マップは 64 0xffe9 (Alt_L) 0xffe7 (Meta_L)、および 113 0xffea (Alt_R) 0xffe8 (Meta_R) に設定されます。 この設定を確認するには、 シェル・プロンプトで次のように入力してください。

               xmodmap -pk

### Linux のメモリー割り振りに関する情報

多くのスレッドを使用する Java アプリケーションは、システム・メモリー容量を超えることがあります。 以下の数式を使用して、Java アプリケーションが使用できる最大スレッド数の見積もりを算出してください。

        heap_size(MB) + 2*thread_count <      910   (概算)

メモリーが使用し尽くされると、JVM または JIT は、以下のようなエラー条件を報告します。

       Exception in thread "main"
          java.lang.OutOfMemoryError
          at java.lang.Thread.start(Native Method)
          at serling.main(serling.java:29)

       COMPILER ERROR: java/io/ObjectStreamClass.compareClassNames - JIT:
          Out of memory, emitcode

重要なのは、指定された特定のファイルやメソッドではなく、"out of memory" の指摘です。上記のエラー・メッセージの後に、追加エラーではなく、メモリー不足状態の 2 次効果を示す別のエラー・メッセージが続けて表示される場合があります。

### 日本語ユーザーへの情報

このリリースは、米国英語と日本語だけをサポートしています。日本語サポートは、TurboLinux Server 6.1 for zSeries と S/390 でのみテストされており、SuSE Linux 7.0 ではテストされていません。これは、現在、TurboLinux Server 6.1 for zSeries と S/390 だけが日本語をサポートしているためです。

#### 日本語フォント

Swing コンポーネントは、日本語の WorldType フォントをインストールすることにより、日本語フォントを表示することができます。(「追加フォントのインストール」の部分を参照)。 日本語 WorldType フォントをインストールしても、AWT コンポーネントや IM 交換パネルには影響ありません。この問題を回避するために、追加の日本語 TrueType フォントをインストールする必要があります。

日本語 TrueType フォントは、TurboLinux Japan の Web サイトから入手できます - http://www.turbolinux.co.jp (検索ワード : truetype)

#### テスト環境

S/390 は、ネイティブに接続されたグラフィカル・ディスプレイを持っていません。そのため、グラフィカル・ディスプレイを持つ、リモート・システムが必要です。リモート・システムに X アプリケーションを表示するには、2 つの方法があります。

1. XDMCP (X Display Manager 制御プロトコル): Graphic Client は、Linux S/390 システムの X 画面全体を表示します。
2. DISPLAY contents: グラフィック・クライアントは、Linux S/390 システムのアプリケーション・ウィンドウを表示します。

TurboLinux Server 6.1 for zSeries および S/390 は、kinput2 などの、IM (Input Method) インターフェースを持っていません。その結果、このリリースでは、上記 2 番目のオプションだけがテストされています。

以下は、テスト環境です。

システム | OS | 言語 | ウィンドウ・マネージャー | ホスト接続された Input Method Engine
Java システム | TurboLinux for S/390 | 日本語 (EUC) | FVWM2 lesstif-mwm, twm (kinput2 なし) | Canna 3.5 (kinput2 なし)
Graphic Client | TurboLinux Server J6.5 | 日本語 (EUC) | Sawfish1 with GNOME | Canna 3.5 with kinput2 FreeWnn with kinput2

#### 日本語のかな漢字変換の使用

日本語バージョンの Linux では、Canna、ATOK12(TM) SE、Wnn4(TM)、 または Wnn6 などの日本語入力システムを使用することができます。 以下の項を参考にして、これらの日本語入力システムを使用する際に問題が起きないようにしてください。

すべての Input Method ユーザー

- TextArea または TextField コンポーネント上で IME を使用する場合、 入力したテキストを確定すると、 その確定したテキストが表示されないことがあります。 この問題を避けるためには、入力したテキストの確定時に、入力したテキストと状況情報行からマウス・ポインターを遠ざけておいてください。 この問題が発生した場合は、Enter キーをもう一度押すと、 確定したテキストが表示されます。

- TextArea または TextField コンポーネント上でかな漢字変換を使用する場合、入力したテキストが誤った位置に表示されてしまうことがあります。 この問題を避けるために、ストリングを確定した後は、コンポーネントの位置を縦方向に変更しないでください。 この問題が発生した場合は、IME を活動化しなおすと、 入力したテキストは正しい位置に表示されます。 確定したテキストは、必ず正しい位置に表示されます。

- IME を Sawfish (以前に「Sawmill」と呼ばれていたもの) ウィンドウ・マネージャーで使用した場合、Java クライアント・ウィンドウに付属する小さなウィンドウである Input Method Framework (IMF) 状況ウィンドウは、他のウィンドウに切り替えても、常にデスクトップ上のすべてのウィンドウの前面に表示されます。

  他のウィンドウを前面に表示するには、以下のいずれかを実行してください。

  - Java クライアント・ウィンドウを最小化する
  - Java クライアント・ウィンドウをドラッグして、デスクトップから除去する

Canna ユーザーの場合
  Kinput2 入力サーバーで Canna 入力システムを使用する場合、'記号' 入力モード時に、この入力システムからの視覚的フィードバックの一部が表示されないことがあります。 この問題を避けるには、「Auxiliary Control」ウィンドウがオープンした後で、フォーカスをクライアント・ウィンドウに移してください。
ATOK12 SE ユーザーの場合

- Linux 用の ATOK12 SE を使用する場合、入力中のテキストが、 候補選択ウィンドウで候補を選択し終わってすぐに確定されないことがあります。 その場合、文字の入力を続ければ、確定された候補が表示されます。
- Linux 用の ATOK12 SE を使用している場合、入力フォーカスを他のコンポーネントに移動しても、入力中のテキストが確定または取り消されることはありません。他の入力方式では、フォーカス移動をしたときに入力中のテキストが確定または取り消されますが、ATOK では変換テキストの編集を続けることができます。

Wnn4 ユーザーの場合
  Wnn4 を使用している場合、 Input Method Editor (IME) が活動化されていると、 Enter キーを押しても復帰改行されません。 復帰改行が行われるようにするには、IME を非活動化してください。

Wnn6 ユーザーの場合
  xwnmo 入力サーバーはサポートされません。 入力サーバーには kinput2 を使用してください。

IIIMP IME ユーザーの場合
  Input Method Protocol(IIIMP) を使った IME (Input Method Editor) は、TurboLinux Workstation 6.0J ではサポートされていません。

## 特記事項

本書は米国 IBM が提供する製品およびサービスについて作成したものであり、 本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。日本で利用可能な製品、プログラム、またはサービスについては、日本 IBM の営業担当員にお尋ねください。本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、またはサービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の 製品、プログラム、またはサービスを使用することができます。ただし、IBM 以外の製品、プログラムまたはサービスの 操作性の評価および検証は、 お客様の責任で行っていただきます。

IBM は、本書に記載されている内容に関して特許権（特許出願中のものを含む。）を 保有している場合があります。本書の提供は、お客様にこれらの特許権について 実施権を許諾することを意味するものではありません。実施権の許諾については、下記の宛先に書面にてご照会ください。

〒106-0032 東京都港区六本木 3 丁目 2-31
IBM World Trade Asia Corporation
Intellectual Property Law & Licensing

以下の保証は、国または地域の法律に沿わない場合は、適用されません。

IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、 商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。 国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。

本書は定期的に見直され、必要な変更 (たとえば、技術的に不適確な記述や誤植など) は、本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあります。

本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものではありません。 それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それらの Web サイトは、お客様の責任でご使用ください。

IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。

本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラム (本プログラムを含む) との間での情報交換、および (ii) 交換された情報の相互利用を可能にすることを目的として、 本プログラムに関する情報を必要とする方は、下記に連絡してください。

- JTCMAIL@uk.ibm.com
  [Hursley Java Technology Center (JTC) contact]

本プログラムに関する上記の情報は、適切な使用条件の下で使用することができますが、有償の場合もあります。

本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、IBM より提供されます。

この文書に含まれるいかなるパフォーマンス・データも、管理環境下で 決定されたものです。そのため、他の操作環境で得られた結果は、異なる可能性があります。一部の測定が、開発レベルのシステムで行われた可能性がありますが、 その測定値が、一般に利用可能なシステムのものと同じである保証はありません。さらに、一部の測定値が、推定値である可能性があります。実際の結果は、異なる可能性があります。お客様は、お客様の特定の環境に適したデータを確かめる必要があります。

IBM 以外の製品に関する情報は、その製品の供給者、出版物、 もしくはその他の公に利用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりません。したがって、 他社製品に関する実行性、互換性、またはその他の要求については確証できません。IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。

### 商標

IBM は、IBM Corporation の商標です。

Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。

他の会社名、製品名およびサービス名などはそれぞれ各社の商標または登録商標です。