Java on Linux HOWTO v1.0 1995/12/10 版 Eric S. Raymond, <esr@snark.thyrsus.com >によりメンテナンスされています。 日本語訳 : 川島浩 (kei@sm.sony.co.jp) 校正 : Hiroo Yamagata (hiyori13@interramp.com) このドキュメントは、Linux上で Java と HotJava を初めて使う、ユーザや プログラマを対象にして書かれています。 訳者から: この HOWTO には Java/HotJava に関する Sun の ライセンスポリシーに関するものも含まれています。 参考のためにこの部分も訳出していますが、訳者は翻訳の専門家ではあり ませんし、ましてや法律にはまったく無知なため、これらは単に参考に していただくための訳です。 あくまでも Sun のオリジナル(原文)のライセンスポリシーがリファレンス であることをご承知ください。 1. 導入部 このドキュメントは Linux を中心とした Java/HotJava に関する手引きです。 これらのテクノロジーはとても速く進歩しているので、いろいろな方からの 貢献をお願いします。 このドキュメントの中で特にチェックすべき項目や、追加すべき部分に ついては、*** *** で囲まれています。また、``将来追加される章'' の章も 見てください。この HOWTO をよりよいものにするためにぜひご協力ください。 2. Java と HotJava に関する一般的な質問 この章では、Java と HotJava に関する一般的な(Linuxに特化したもの ではない)紹介をします。 2.1. Java/HotJava とはなんであるか、なぜ興味をもたれているのか? Java は C++ によく似た、ネットワークを意識した(network-aware)言語です。 しかし、より小さくコンパクトで、クリーンに設計されています。 Lisp のように、ガーベッジコレクターを備えた無制限に拡張可能な 言語ですが、強力な型検査機能をもっています。 ネイティブな機能として lightweight process (スレッド)を実現して いますし、強力なネットワークセキュリティー機能も持っています。 メジャーなアプリケーションとしては HotJavaブラウザ が有名ですが、 Java それ自身は汎用のアプリケーション言語として非常に有望なものです。 HotJava は Java で記述された WWWブラウザです。 他のブラウザに比べて特に優れているのは、それが、APP と呼ばれる新しい HTML 構造体を解釈できるという点です。この APPは、クライアントのマシン上で実行されるJAVAのクラスの一つです。つまり、 Javaを念頭に書かれたWWW文書は、単にデータのみならず、「生きた」コード を含むことができるわけです。 コードオブジェクトを安全にやりとりできるというJavaの能力は、WWW関連 技術の歴史上、Mosaicの最初のリリース以来最大の進歩であるといえます。 最低限でも、これ(訳者:Java)は拡張可能な Webブラウザを提供し、 これによって、新しいイメージフォーマットやタグ形式に対応するために いちいちブラウザをアップグレードする必要がなくなります。 2.2. Java/HotJava はどこにあり、誰が使う事ができるのか? Java と HotJava は James Gosling (Gosling Emacs と NeWS の設計者として よく知られています。)の率いるチームによって Sun Microsystems で開発 されました。 Sun が最後にメジャーな技術標準を設定しようとしたのは NeWS ネットワーク ウインドウシステムでした。NeWS は X よりも技術的な優位性が広く認識されて いたのにも関わらず、X のソースが自由に再配布可能であったために、X が 標準となりました。Sun はこの誤ちから学び、Java/HotJava をはるかに一般に 利用可能とすることにしました。すなわち、非常に緩和したライセンスのもとに ソースをダウンロードできるようにしたのです。(``自由に再配布可能な ソフトウエアとしての Java''の章を見てください。Sun は Sun 以外の環境への 移植を奨励(encouraging)しています。 現在の Netscape は Java を解釈できます。Microsoft はこの技術を1995年12月の はじめにライセンスしました。このため、Java は1996年には非常に一般的に サポートされるようになるでしょう。 Java は昔は Oak と呼ばれていたこともあります。HotJava は昔、WebRunner と して知られていたものです。 2.3. Java はどのくらい熟成しているのか? Java は現在(1995/12) Sunでかなり最終段階のベータ版になっています。 ホストOS とウインドウシステムへのアクセス方法を規定した Java環境の API は ほぼ固まったようです。まだ拡張されるかもしれませんが、コンパチビリティー を損なうような変更はないでしょう。 この 1.0版の FAQ は、Randy Chapmanによって移植されたベータ1.0版の Linux用 Java開発キット(JDK)に基づいて作成されています。 Javaには、重大なセキュリティーホールが存在していることが知られています。 ですから、今のところ重要なアプリケーションに Javaを使うことは勧められ ません。これらの問題は、正式リリース版ではフィックスされるでしょう。 2.4. Java と HotJava のドキュメントはどこにあるのか? Sunは<http://java.sun.com>に、とても充実したJavaとHotJava関連の HTML 文書網をはりめぐらせています。 これらのドキュメントは <http://java.blackdown.com> など、いろいろな ところでミラーされています。ミラーサイトに関しては Sun の提供している リストを参照してください。 2.5. 紙になったドキュメントはどこにあるのか? SunSoft Press の公式な Java 本シリーズは現在 Addison-Wesley で目下 刊行準備中です。 これらに関するいくらか詳細な情報が comp.lang.java FAQ <http://www.city-net.com/~krom/java-faq.html> にあります。 O'Reilly Associates は Sun と協力して独自の Java本シリーズの作業を おこなっています。これらのなかには(少なくとも) "Nutshell Guide To Java" や、言語リファレンス、クラスライブラリリファレンス、基礎となっている バイトコード仮想マシンなどの本が含まれるはずです。 (暴露記事: O'Reilly Associates は、このシリーズの最初の技術的な レビューをおこなうように HOWTO 編集者に頼んでおり、この仕事には 報酬が支払われるはずです。) Sun の java webページからの情報では "Learning Java in 21 Days" という本が 1995/12に SAMS から出版されるようです。私は近く(Vienna, VA) の Computer Learning Center bookstore で聞いてみたところでは12月の中旬の遅い 頃に出るだろう、とのことでした。 近くの Bookshop/Barnes と Noble/Borders を調べてくれた我々の投稿者の人に よれば、すでに3冊の本があったようです。 o 'Java in 60 minutes' という本。この本は非常に厳密に文法を解説した 本のようです。(約$20) o SamsNet から出版されている 'Java' という本(約$20) o Tim Ritchey の書いた 'Java!' という本。CD-ROMがついています。 (約$35) 情報提供者によると : 「私は三番目の(Tim Ritcheyの)を 「あたしゃ3番目の(Tim Ritcheyの)本を買ったけど、 まあ紙メディアのリードタイムってのは例のごとく長いからさ、CD-ROMに 入ってんのも、アルファ版なのよねー。一応、『これが出る頃にはベータ版 が出てるかもしんないからjava.sun.comで最新情報を得たほうがいいよ』 とは書いてあるけど。それ以外は結構いいんじゃない? 特に『APIの説明 をわんさか載せたってしょうがないからやんないよ、だってそんなことした ら、本のページ数が4倍になっちゃうし、どうせまだまだ変わるし、オンラ インで見られる情報なんだから・・・』なんて(正直に)書いちゃってる点 も含めてだけど」 2.6. Java のコード集はどこにあるか? 次の場所にアプレットの WWWアーカイブがあります: o <http://java.sun.com/> o <http://www.applets.com/> o <http://www.gamelan.com/> o <http://www.javasoft.com/applets/applets.html> これらのページのほとんどのアプレットはソースコード付きで、 プログラマーはこれらのコードを使うことができます。 他のものについてのポインタ情報を comp.lang.java FAQ から得ることが できるかもしれません。<http://www.city-net.com/~krom/java-faq.html>. 3. 自由に再配布可能なソフトウエアとしてのJava 多くの Linuxプログラマは自由に再配布可能な (freely redistributable software: FRS) の開発に携わっており、ソースが一般に利用可能なもので ないようなツールに対してあまり時間を割くことを避けようとしてきました。 この章では FRS の世界とSun、Java の関係について議論します。 (注意: 私は弁護士ではありません。Sun Microsystems の社員でも、代理人 でも、株主でもありません。この章は、現在の著作権法と Sun のライセンス 条文(language)に対する私の解釈をもとにしています。 ですから、これはあくまでも手引き(introduction)です。 Sunの ライセンシングに関するページ (Sun licensing page) <http://www.blackdown.org/Java/licensing.html> が絶対的なものです。 意味について重要な疑いがある場合には、法律家に相談してください。 3.1. Javaプログラムやアプレットは自由に再配布可能か? 要は、あなたが書いたものを FRS とすることを選ぶかどうかです。 それには、いくつかの方法(GPL や BSDスタイルのライセンスや、それを パブリックドメインと宣言する、など)があります。 3.2. Java のバイナリについてやっていいこと Sunのライセンシングページには次のように書かれています: 無変更の Java と HotJava のバイナリーリリースは無償に限り 商用・非商用を問わず、自由に再配布して構いません。 さらに: Java 言語を新しく移植したいと考える会社または個人は、この 同意の基に、テストスイートを通過し、かつ無償で提供する 限りにおいては、他者の使用のためにその移植したものを インターネットにポストする権利を有します。(テストスイートは 1996年の前半に利用できるようになる予定です。) (訳者:オリジナル)との差異点("diffs")も、(訳者:オリジナル)の もとのソースコードをポストしない限りにおいては、ポストして構いません。 Java のソースコードは... ですから、動作する Java や HotJavaのバイナリを作ることができたら、 それを友達にあげることができます。CD-ROM にいれてもいいですね。 (訳者:バイナリ)パッチを当てて Java のパッチ版を作ったりしなければ、 他は自由にいろいろなことができます。 (これは筋の通ったことです。Sun は明らかに、Java の推進者として、 「トロイの木馬」(Trojan horses)を防がなければなりませんから。) バイナリは再配布可能(FRS)です。 3.3. Java のどの部分のソースは再配布可能か? Sun のライセンシングホームページによればすべて不可能です。しかし、この 言い方は実のところ厳しすぎるかもしれませんね。 実際には、教育、移植のため、非商用の目的のために、ソースを再配布しない という義務を負う Web の申し込み用紙に(訳者:必要な事項を)書き込めば、 誰でも Java や HotJava のソースを入手することができ、しかもオリジナルの ソースに対する差異点("diffs")を再配布することは契約書(agreement)では 許されているわけですから。 あなたが商用の製品としてソースを使いたい場合に限り、Sun と商用の ライセンスを結び、お金を払う必要があるわけです。 特に、この条項の書かれ方からすると、あなたがSunの非商用ソース・ライセンス 同意書にサインして、ソースを貪るように解析し、それをポートして、その成果を なんの制約も伴わない完全なフリーウェアとしてばらまくことは、条項の条文上か らも、それが書かれた意図の上からも、まったく問題がないわけです! Sun によれば、このように、できる限りの管理をおこなっている最大の目的は、 この言語がコンパチビリティーのない方言を生み出すのを防ぐことです。 ライセンスの条項の書かれ方もこれをうたっています。この条項は、 ハッカーたちが自由(かつ無料)で遊べるように配慮して書かれているようです。 3.4. 再配布可能なソースの Javaクローンを作っている人はいるか? 現在のところ我々は知りません。Sun のライセンシングページによれば: Java言語と Java仮想マシンの仕様は「オープン」(OPEN)ですが、 著作権は Sun Microsystems が有しています。 Javaコンパイラ、Javaランタイムインタープリターの別の実装 は、その実装が公開されている仕様に直接に基づいており、 かつ 直接/間接的にかかわらず Sun の所有する実装や、 トレードマークを含む知的財産権を使用しない限りにおいて、 Sun からのライセンスを必要としないことを認める。 ですから、公開された仕様書(自由に再配布可能(FRS))をもとにして、あなたが Javaクローンを作り、それをたとえば"ミスターコーヒー"と呼ぶのならば、 Sun はそれを咎めることはないわけです。 みんなが望んでいるとおりに Java がポピュラーなものになれば必ずクローンも 現れるはずです。(必要な仕様書が利用可能になり次第、この HOWTO の著者は、 "ミスターコーヒー"コンパイラやバイトコードインタープリタを書くための 手伝いをする用意があることをここに表明します。) 3.5. Javaに関する再配布可能(FRS)なツールはあるか? Java言語をエディットするための GNU Emacs モードがあります。 以下から入手できます: <ftp://java.sun.com/pub/java/contrib/emacs>. 3.6. 自由に再配布可能な(FRS)Javaの実装について、Sunは何と言っているか? Sunの人たちは、(a) Sun 以外で行われたJavaのインプリメンテーションや (b) Sunからライセンスを受けたコードに依存しないインプリメンテーション を"rough port"と呼んでいます。a,bのどっちを意味するかは場合によるみ たいです。Sunの人たちは、すでにこのrough portがいくつか存在している と考えているようですが、われわれはそれがどこにあるのか、それがFRSなの かといったことはまるで知りません。Sunの人たちも、特に神経をとがらせて はいないみたいです。 SunにはJava 認定制度というものがあります。この認定をパスしたJavaの ポートは正式に認定しよう、と言っています。(この認定が有料かどう かはまだわかりませんが、Sunはそれが1996年に「一般提供される」と文書 で申しておりますので、少なくとも無料になりそうな気配ではあります [校正者注: そうかぁ???])rough portでも認定するよ、と言ってますが、これは まだ例がないみたいです。 4. Linux上のJavaに関する質問 以下に、あなたのLinux上でJavaを動作させるにはどうすればいいか、を記します。 4.1. Java と Hotjava を含んだ Linuxパッケージは存在しているか? いいえ、まだです。でもすぐにそうなるでしょう。 4.2. Linux用の最新の Java はどうやって入手するか? <ftp://java.blackdown.org/pub/Java>を見てみてください。最新の Linux版 Java をここからダウンロードすることができます。まず最初に、 <ftp://java.blackdown.org/pub/Java/README> をブラウズしてくださいね。 まず linux.jdk.common.tar.gz が必要です。そして、あなたのシステムに Motif シェアドライブラリがあるかどうかによって、 linux.jdk.x86-static-motif-bin.tar.gz または linux.jdk.x86-shared-motif- bin.tar.gz のどちらかを選びます。 この HOWTO の中で(JDKとして)参照されているものは、この移植 (Randy Chapman による Sunのソースからの移植)を指しています。 4.3. Javaを走らせるのに必要な環境は? まず、ELFベースの Linux が必要です。a.out 形式はサポートされていません。 Linux の世界は現在急速に ELF に移行しつありますので、今後もa.outのサポート が現れる見込みは低いでしょう。 1.2.13以降のカーネルが必要です。1.2.12またはそれよりも古いカーネルは、 getcwd(3)にバグがあるようで、bin/javac は getcwd(3) の返す値をチェック していないためうまく動作しません。 次のようなものが必要です: o libc.so.5 => /lib/libc.so.5.2.16 o libX11.so.6 => /usr/X11/lib/libX11.so.6.0 o libXt.so.6 => /usr/X11/lib/libXt.so.6.0 o libXext.so.6 => /usr/X11/lib/libXext.so.6.0 o libXpm.so.4 => /usr/X11/lib/libXpm.so.4.3 o libdl.so.1 => /lib/libdl.so.1.7.9 C と X のサポートライブラリはすでにあなたの Linuxに存在している かもしれません。 もしそれらをまだ持っていなければ、libc.5.2.16.bin.tar.gz を <ftp://tsx-11.mit.edu/pub/linux/packages/GCC/> から入手してください。 Uncompress、untar して、ディレクトリ階層のトップレベルの lib サブ ディレクトリのファイルを /lib にコピーしてください。 もし現在のバージョンの ld.so(つまりlibdl.so.1.7.*)をもっていない場合 には、アップデートする必要があります。ld.so.1.7.9 と 1.7.11 では うまく動作するでしょうが、1.7.10 や、その他の古いバージョンでは動作しない でしょう。ld-so.1.7.11.tar.gz を <ftp://ftp.ods.com/linux/> から入手 して、Uncompress、untar して、その結果得られるディレクトリ階層の トップにある instldso.sh を走らせてください。 また、うまく動作する Xpmライブラリは以下から入手できます: <ftp://sunsite.unc.edu/pub/Linux/libs/X/libXpm.3.4f-ELF.tar.gz>. 4.4. Netscapeは必要ですか? Netscapeは使えますか? 必要です。HotJava はまだベータリリースになっていません。 Randy Chapman によれば: Sun は JDK のベータ版をリリースした時に、awtインターフェースに 大きな変更を加えました。しかしこれはまだ HotJava にはまだこれが 反映されていません。 いません。彼らはこれをやることを約束しています。これがリリース されれば linux-jdk でもうまく動作するでしょう。 これがいつ行われるかはまだわかりません。 1995年12月の時点では Java を使える(Java-aware)のは Netscape 2.0b3 だけです。これは ftp1-7.netscape.com (つまり at ftp1.netscape.com, ftp2.netscape.com,... など)にあります。 入手すべきファイルは /2.0b3/unix/netscape-v20b3-export.i486-unknown-linux.tar.Z です。 Netscape 2.0b3 は a.out システム上でも動作するでしょうから、理屈の上では あなたが新しい java アプレットを書き、それを誰かにコンパイルしてもらって (たとえば BlackStar Public Compiler <http://mars.blackstar.com>)、 その結果をあなたのシステム上で見るということはできるはずです。 これ以上のことをあなたがやりたい場合には、ELF システムに移行すべき です。 Adam Simith によれば: 配布されている Netscape をうまく動作させるためには 簡単な工夫(ファイルを一つ移動する)が必要なようです: Netscape *.class ファイルの圧縮シングルファイルが CLASSPATH 環境変数の最初のファイルに していないと、Java アプレットを含んだページをロードした時に クラッシュするようです。私はこのファイルが Java/HotJava にどう影響する のか知りません(アーカイブされたクラスファイルのフォーマットは イレギュラーなものなので、これがいつもうまくいくかどうか確信がもてません。) 私の Slackware 3.0 のシステムではこれで Netscape はうまく動作しました。 Steve Green eによれば: あなたのローカルなアプレットを見るためには、 Java と Netscape をどのように設定すればいいかについて、いくらかの 議論が java-linux メイリングリスト(原文:'list')でもありました。 一致した意見としては、そのアプレットへのパスを CLASSPATH 環境変数に 追加するか、ローカルな Webサーバを走らせてそのローカル Webサーバ 経由でアクセスすることによって、あたかもネットを通じてアプレットを アクセスしているようにみせかけることです。また、java.sun.com に 接続できるようにしておく必要もあるかもしれません。(私はこれは、 アルファ版の HotJavaブラウザからの遺物ではないかと疑っていますが 本当のところはわかりません。そしてこれはブラウザが 純正の(原文: "stock") という Sunクラスライブラリをそのサイトから見つけるためだけに 必要なようです。 私はまだやったことがないので、あなたの場合にはこれとはまた異なるかも しれません。 4.5. Linux 上の Java に関するメイリングリスト/ニュースグループは? o java-linux (karl@blackdown.orgがメンテナンス) は Java を Linux に 移植することに関して議論・開発をおこなっています。メイリングリスト に加入するには、Subject フィールドに `subscribe' と書いたメイルを java-linux-request@java.blackdown.org に送ってください。 o java-linux-announce (karl@blackdown.orgがメンテナンス) Java-Linux 移植プロジェクトに関するアナウンスをするモデレートな(moderated) メイリングリストです。 加入するには、Subject フィールドに `subscribe'と書いたメイルを request@java.blackdown.org に送ってください。 o comp.lang.java ニュースグループでは Java についての一般的な 議論がおこなわれています。 o alt.www.hotjava ニュースグループでは HotJava に関する議論が おこなわれています。 5. Linux上でLinux Javaを構築する この章では現在のいろいろなLinuxパッケージ上で Randy Chapmanの 移植(port)をどのように構築(Build)すればいいか、 私たちに送られてきたやりかたを集めてみました。 5.1. ELF カーネル1.2.13 Slackwareパッケージの場合 John Franks <john@math.nwu.edu>は以下のステップでうまくいった そうです: o linux-x86.jdk.pre2.static-motif.tar.gz を <ftp://www.blackdown.org/pub/Java/linux/> から入手する。 uncomopress, untar する。(JDK 1.0ベータ版に対応するものは違う ファイル名のものを入手しなければなりません。) o libc.5.2.16.bin.tar.gz を ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ から入手する。 Uncompress, untar して、そのディレクトリ階層のトップにある lib サブディレクトリの下のファイルを /lib にコピーする。 o ld-so.1.7.11.tar.gz を ftp://ftp.ods.com/linux/ から入手する。 Uncompress, untar して、 その結果得られるトップレベルにある "instldso.sh" を実行する。 さて、これでコンパイルや "hello world" プログラムを試したり、 <http://java.sun.com/progGuide/index.html> の指示に従って Sun のアプレットを試したりすることができるはずです。 5.2. RedHat 2.1/Caldera Preview 2 の場合 Steve Greene <sgreene@access.digex.net> は以下のステップでうまく いったと報告してくれました。 HOWTO編者のほうでかれのものをちょいと修正しましたので、まちがいがあったら 編者のせいです。 また、この中の `JDK' という単語は Java Developer's Kit の Chapmanによる 移植を指しています。 o ftp.ods.com から、ld.so.1.7.11 に対する rpm を入手します。 RedHat のミラーサイトの /pub/mirrors/redhat-2.1/updates/RPMS/ld.so-1.7.11-i386.rpm を探してみてください。 これは ftp.pht.com や ftp.caldera.com から入手できますが、 その他の RedHat ミラーサイトからも同様に入手できるはずです。 入手したら、 `rpm-ivh ld.so-1.7.11-1.i386.rpm' を実行してください。 o スタティックリンク版のJDKのための tarファイルを入手します。それを 都合のよい場所に untar します。私の場合には /usr/local 以下に おいています。ですから untar によって、/usr/local/java.... が作成されます。 o Java を root 以外のユーザで走らせるには(これはいいアイデアです!)、 `chmod 666 /dev/zero' を実行しておきます。Red Hat と Caldera は このデバイスに関しては間違ったパーミッションを設定してしまって いるようです。 o ldconfig を rootユーザで実行してください。(まだそれを実行していなければ) これによって、新しいライブラリがロードされます。 "ldconfig -v" とすれば、必要なライブラリがすべてロードされている かどうかを確認することができます。(少なくとも最初にELFシステムを 構築しなければならないわけではありません。) o まずroot 以外のユーザでログインしていることを確認してください。 X-Window を起動します。X-Term を起動してなにかやってみてください! Steve は以下のようにつけ加えています: 私がオンラインの注意書き(notes)を 正しく理解しているとすれば、bin/java は Javaインタープリタ (Javaアプリケーションを走らせるために使われる)を呼び出すためのスクリプトで、 bin/javac はアプリケーションとアプレットをコンパイルするための Javaコンパイラのスクリプトであり、bin/appletviewer はすでに存在する (コンパイルされた)アプレットを見るためのスクリプトのはずです。 デモディレクトリにはたくさんのデモンストレーション用のアプレットが あります。アプレットビューワを走らせるときにはファイル名を指定する 必要があります。 まだ bin/appletviewer を走らせるための正式な文法は理解できて いませんが、スクリプトファイルを読んで別のやりかたを見つけました。 デモを走らせるためには、Javaディレクトリツリーのトップ(私のシステムでは /usr/local/java です)で、以下のコマンドを実行します。 bin/java sun.applet.AppletViewer demo/<directory_name>/exampleN.html <directory name> は demo のサブディレクトリで、N は 例題ファイルの 番号です(一つ以上の例題が入っているディレクトリもあります。) 最初に Java を走らせると、ライセンス画面(なんだかNetscape の ヤツに似ている)が表示されます。 私は Sun の Javaサイトと、NTMUG が公開しているチュートリアルから 試してみました。Sun のチュートリアルにはいくつか文法上の 問題があることをみつけたので、今は代わりにNYMUGのチュートリアルを 使って(follow)います。 6. すでに知られている問題点について Steve Greene によれば: 以下は、私が出会った問題点と、それを私が どうやってフィックスしたかについて述べます。(つまりこれは、 試行錯誤("Been There, Done That")のトラブルシューティングの リストです。) 1. これは私の狭い範囲で出会った問題点に関するものですから、一般的な トラブルシューティングのリストというわけではありません。 2. おそらく、RedHat/Caldera を中心としたものというべきでしょう。 6.1. /dev/zero に関するエラーメッセージ rootユーザになって、 `chmod 666 /dev/zero' を実行します。 6.2. SEGFAULT 画面にエラーメッセージがでまくり、システムがスワップスペースを使い つくし、ロックアップ(locks-up)してしまうようなことがあるかもしれません。 このような場合には、おそらくどこかのライブラリが足りないのです。 ldconfig -v を再度走らせて、なにが足りないのかを調べてください。 それとも、LD_LIBRARY_PATH か CLASS_PATH がうまく設定されていないのかも しれません。それでもなければ、アプレットがバグを含んでいるために Linux JDK をロックアップさせているのかもしれません。 (このようなロックアップを避けるためには、その javaプロセスがスワップ スペースを **使い尽くす前** に、もうひとつの Xtermを開いて topコマンドを走らせ、そこからその java プロセスを kill することも できます。) Java はたくさんの資源を食うようなので、私はできる限りその他の アプリケーションを走らせたり開かないようにしています。 Java は 8Mバイトのメモリと 16Mバイトのスワップスペースの 486DX-2-75マシンでも動作します。(でも、起動に一分くらいかかります けどね。) スワップスペースを使い尽くす前に、二つのアニメーションアプレットを 動作させることができました。 6.3. bin/java, bin/javac, bin/appletviewer がヘルプメッセージを 表示する なにかコマンドラインパラメータが足りないのでしょう。 6.4. 問題点のログについて 最後に、Joey Oravec によれば、HotJava はその実行の様子と発生した問題点を ログに残しているそうです。なにか調べる必要がある場合には、そのユーザの $HOME/.hotjava/weblog を見てみてください。ライブラリが足りない場合や、 その他の問題点もいっそう発見しやすくなるでしょう。 7. 関連する情報(Resources) 一般的な Java に関する情報については、comp.lang.java ニュース グループでメンテナンスされている FAQ があります。これは <http://www.city-net.com/~krom/java-faq.html>からアクセスできます。 ちょっと古いですが、 Joey Oravec joey@sun.science.wayne.edu <メイルアドレス:joey@sun.science.wayne.edu> による、 FAQ形式のドキュメントもあります。 これはおもにアルファ版について書かれています。 これは <http://www.science.wayne.edu/~joey/java/linux.html> からもアクセスできます。 そのうち、これらのドキュメントはマージされるかもしれません。 以下は、Javaに関するページの紹介です。 o Karl Asha の一般的な Linux Java ページ <http://substance.blackdown.org/java-linux.html> LinuxJava メイリングリスト <http://homer.ncm.com/java-linux/> Netrek for Java <http://www.cs.utexas.edu/users/hiep/netjav.html> Blue-Skies for Java <http://cirrus.sprl.umich.edu/javaweather/> 8. 将来追加される章 (To Be Added...) o いろいろな種類のLinuxに対するノウハウ(recipes) 9. 謝辞 以下の人たちをはじめ、貢献してくれた人たちに多大な感謝をします: o John Franks <john@math.nwu.edu> o Zachary DeAquila <zachary@zachs.place.org> o Steve Greene <sgreene@access.digex.net> o Dave Dittrich <dittrich@cac.washington.edu> o Dave Flanagan <dave@ora.com> o Joey Oravec <mailto:joey@sun.science.wayne.edu> o Adam Smith <aws@cs.brown.edu> このバージョンのドキュメントには、Steve Greene の、噂はあるがまだ 公表されていない Red Hat/Caldera mini-HOWTO を含めました。 Joey Oravac のページからも役に立ちそうなものをいただいてきました -- 彼には特別の感謝を捧げます。 その他の、私がメンテナンスしている HOWTO や FAQドキュメントに関しては 以下の私のホームページを参照してください: <http://www.locke.ccil.org/~esr/home.html>