Swing on Beryl

WindowManagerにBerylを使っているとSwingで作られているアプリケーションの画面が真っ白になってしまう。どこかからかパッチが出ているらしいが、ソフトウェアのバージョン管理を考えるとインストールしているソフトウェアはなるべくパッケージマネージャ(APT)で管理しておきたい。

そんな感じなのでSwingで作られているアプリケーションを使うときは、一時的にBerylを止めてMetaciyを使ってた。完全に負けソリューション...w

でも昨日、某社某MたんにSwing on Berylなる情報を貰ったので試してみた。

How to get Java Swing apps working under Beryl or Compiz, including Java Web Start

At this time, Java Swing apps won't run properly under Beryl or Compiz. The app comes up, but it comes up completely blank. It's a known issue, and Java engineers are working on it.

...
The following solution is tested on Ubuntu.
...
The solution is to pass an environment variable to Java,

Javaで使っている環境変数をいじれば解決するらしい。ということで上の記事を参考にしながらUbuntuの環境変数をいじってみた。上の記事ではJavaVMを起動するためのラッパースクリプトを書いて環境変数をいじってるけど、Javaをalternativesで管理している身としてはラッパースクリプトはないと思ったので環境変数をexportすることにした。

XLOCALELIBDIRAWT_TOOLKIT環境変数を

$ export XLOCALELIBDIR=/usr/share/X11/locale
$ export AWT_TOOLKIT=MToolkit

のように設定してexportする。

これだけ

どっかのCMみたい。

AWT_TOOLKITは上の通りで良いんだけど、XLOCALELIBDIRに設定する値は各環境によって適宜変更する必要があります。

$ find /usr -name 'locale'

してX11以下にあるlocaleディレクトリを見つけて、そのlocaleディレクトリへのパスを設定してあげればよさげです。僕はそうしました。

これでXPDLを編集するためにJPEdを使うことができるようになりましたよ。某Mたん情報ありがとう!

0 コメント:

Twitter Updates

About Me

My photo
1984/07/05生 プログラマー

サイト内検索