Lubuntu18.04でProcessing3.4が起動しない

症状と現象

 Download \ Processing.orgからver.3.4のLinux 64bit版を落として、解凍したフォルダの中のprocessingという名前の実行ファイルを端末上で$ ./processingで起動したら以下のようなエラーメッセージを出して起動しなかった。

user@machine:~/software/processing-3.4$ ./processing
user@machine:~/software/processing-3.4$ -Djava.ext.dirs=/home/ow/software/processing-3.4/java/lib/ext is not supported.  Use -classpath instead.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

 JavaVMが動かなくて例外でプログラム終了したよバイバイ、というエラーを出して異常終了していた。

原因を探る

 Processing3のプログラムははJavaで組まれているため、それを実行するためのJava 8のJREJDKが必要である。そこでJavaの有無を確認したがOpenJDKはしっかり導入できているようだった。
 どういうことなのかと「Processing OpenJDK」でググると以下の記事には
github.com

Due to incompatibilities, OpenJDK is not supported. You'll need a regular Java release downloaded from Oracle. The GNU Classpath, GCJ, GIJ combination will not work with Processing. OpenJDK and IcedTea also have problems, particularly with running sketches full screen or with multiple displays or even window sizing. Bottom line: use the version from Oracle.

[以下Google 翻訳]
非互換性のため、OpenJDKはサポートされていません。 Oracleからダウンロードした正規のJavaリリースが必要です。 GNU ClasspathGCJ、GIJの組み合わせは、Processingでは動作しません。 OpenJDKとIcedTeaにも問題があります。特に、スケッチをフルスクリーンで表示するか、複数のディスプレイで表示するか、またはウィンドウサイズを変更することがあります。 結論:Oracleのバージョンを使用してください。

と書かれており実はOpenJDKをサポートしてなかったらしい。だからOracle謹製のJava 8を入れろとのこと。

解決

原因が判明しましたのでOracleのJave 8を導入する。Oracleのダウンロードページから落としてインストールする方法もあるが、ここでは以下のように端末上でaptにOracleリポジトリを追加して、そこからインストールする方法を取る。

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt update
$ sudo apt install oracle-java8-installer

インストール途中で結構ダウンロードするので時間の余裕のあるときにして欲しい。
インストール後に$ ./processingで実行したら正常に起動した。
f:id:hashkun:20181125115827p:plain

では試しに実行ボタン押してみよう...ポチッ!と。
f:id:hashkun:20181125203439p:plain

うん?

Could not run the sketch (Target VM failed to initialize).
For more information, read revisions.txt and Help → Troubleshooting.

どうやらまだまだ書けないようだ。
次の投稿に続く。

2018/11/28 追記
 解決しました。自身の環境を64bit版のLubuntu18.04と思い込んでいたのですが、$ uname -aで調べると正しくは32bitらしく、32bit版のProcessing3で起動したら実行できました。32bitJREの環境で64bit版のPDEが立ち上がったのは少し謎ですが。