Software Taken with permission from Masayuki "Tencho" Yamashita's home page.

[java communication toolをLinux上で動かすための設定]
英語をすんなり読める方は、RXTX: The Prescription for Transmissionへアクセスし、プログラムをダウンロードして頂いて
解凍したあとに「INSTALL」ファイルを見てください。

ここからは私が実際に行ったインストール作業です。
（パソコンの環境が異なっている場合もあるので必ずしも成功するとは限らないことをご了承ください）
インストールを行った環境は下記の通りです。
[ Linux Kernel version ] 2.2.12
[ Linux distribution ] Vine1.1(RedHat Linux 5.2 & glibc6 based)
[ RXTX version ] 1.3.8

インストールを行うために下記のファイルを用意しました。

- jdk-1.2pre-v2.tar.bz2 (JAVA Development Kit 1.2 glibc2.0版)
- rxtx_1.3.8.tar.gz （Java 開発ツールキット（ JDK ）にシリアル、パラレル通信を提供するライブラリ）
- javacomm20-x86-tar.Z (Solaris用のCommAPI )

これらのファイルの保存先を以後/hogehogeとしておきます。

まず、JDK1.2をインストールしている方はここを読み飛ばしてステップ5へ進んで下さい。
1. JDK1.2をインストールするために/usr/localに移動しました。
#cd /usr/local

2. jdk-1.2pre-v2.tar.bz2ファイルを解凍します。
#bzip2 -dc /hogehoge/jdk1.2pre-v2.tar.bz2 | tar xvf -

3.PATH変数の編集を行います。
homeディレクトリに.bash_profileという起動ファイルがあるので(ls -aで確認できます)
適当なエディタを使ってこのファイルを開きます。
最下行のところに
PATH=$PATH:/usr/local/jdk1.2/bin
を記入して保存してください。
その後、起動ファイルをロードします。 #. $HOME/.bash_profile
一度logoutしてまたloginします。
javaコマンドが使えるかどうか"which java"と打って確かめて下さい。

4.このままでもコンパイルできるのですが、コンパイルした後になにやら Sun製JITコンパイラのエラー表示がでます。
気になる方は JITコンパイラのパーミッションが下記のようになっているので
jdk1.2/jre/lib/i386/libsunwjit.so -rw-r-----

#chmod 755 jdk1.2/jre/lib/i386/libsunwjit.so
と入力しておいてください。
ただ、JITコンパイラ自体に多少問題を抱えているらしいとの情報があるらしいです。

5. javacomm20-x86-tar.Zを解凍します。(カレントディレクトリは/usr/local/jdk1.2です)
#uncompress < /hogehoge/javacomm20-x86-tar.Z | tar -xf -
commapiというディレクトリが作成されているか確認します（#ls）。

6. commapiの中にcomm.jar(Solaris用)とjavax.comm.propertiesがあるので
所定のディレクトリにコピーします。

#cp /usr/local/jdk1.2/commapi/comm.jar /usr/local/jdk1.2/jre/lib/ext/
#cp /usr/local/jdk1.2/commapi/javax.comm.properties /usr/local/jdk1.2/jre/lib/

余談ですが私はwin32用のcomm.jarを入れたことに気がつかなくて相当悩んでた時期がありました(^ ^;。

7. javax.comm.propertiesを編集します。
デフォルトで、"Driver=com.sun.commSolarisDriver"と書かれているので
この行をコメントアウトするなり削除して
"Driver=gnu.io.RXTXCommDriver" という文字を記述して上書き保存してください。

8. rxtx_1.3.8.tar.gzを解凍します。(カレントディレクトリは/usr/local/jdk1.2です)
#tar zxvf /hogehoge/rxtx_1.3.8.tar.gz

9. #cd /usr/local/jdk1.2/rxtx-1.3.8/

10. buildディレクトリを作成します。
#mkdir build

11. #cd build

12. #../cofigure --prefix=/usr

13. #make

14. #make install

きちんと組み込まれているか実際にsample fileを使ってみます。
今回は/usr/local/jdk1.2/commapi/samples/SerialDemo/を用いました。
javaコマンドのPATHを通してない場合は下記のように打てばlogoutするまで有効です。
#export PATH=/usr/local/jdk1.2/bin:$PATH
このままSerialDemo.classを起動させようと
#java SerialDemo
と打っても実行しません。
これは読み取り属性のままになっているからなので、
/usr/local/jdk1.2/commapi/samples/SerialDemo/以下の
すべてのクラスファイル属性に実行権限を与えるようにしないと動きません。
#cd /usr/local/jdk1.2/commapi/samples/SerialDemo/
#chmod 755 AlertDialog.class
.
.省略
.
#chmod 755 SerialParameters.class

これで実行(#java SerialDemo)すると、
"Font specified in font.properties not found"という表示がズラズラとでますが 無事アプリケーションが立ち上がりました。

以上、root上での作業を話してきましたが
user権限でもシリアルポートを使いたいという方は、 /dev/ttyS0 の属性を変える必要があります。
#chmod o+rw /dev/ttyS0
とすればシリアルポートを制御することができますが、個人レベルでなら問題ないですが
公共あるいはインターネットに接続しているようなマシンには十分セキュリティ対策を行ってください。

（99/11/30 執筆）