Java Swing ラズパイ 起動メモ

イントロダクション

ラズパイ上でJava  Swingを自動起動させるのにエラーが発生して動かないので

動かすために調べた事のメモです。

動かない原因

Java Swingはデスクトップを起動する「X」というアプリがないと動かない。

ラズパイのCUIでは、Xが起動していないため、こいつを動かす必要がある。

どーやるか?

その一

https://www.raspberrypi.org/forums/viewtopic.php?t=26234

を参考にする。

その二

https://stackoverflow.com/questions/1529526/to-create-x-windowx11-in-java-swing-and-to-get-its-id

JavaからXを起動しているようだ

調べた事

ラズパイ上では

/etc/init.d/lightdm startでデスクトップ起動、ストップなどもある

ちょいとsudo lightdmコマンドについて調べてみる

LXDE

発見

ラズパイ での Swingの問題を解決する手順がある。

まだ試していません。

  1. ラズパイ 起動
  2. xを起動(lxde)
  3. デスクトップを表示せずにターミナルに戻る
  4. Javaコマンドを実行

https://lb.raspberrypi.org/forums/viewtopic.php?t=54025

1.ラズパイ起動時に自動ログイン

.config/lxsession/LXDE-pi/autostartファイルを作成する

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@pint-rpi
@vncviewer
・
・
・

結論

SwingではAWT(Abstract Window Toolkit)を使用するので、Xserverを起動する必要がある。

対策

Javaのアプリケーションから直接画像を書き出してしまう

→ファイルバッファを使うなど。。。

「Xvfb」仮想フレームバッファが使用できる。以下のサイトを参考にする。

https://github.com/processing/processing/wiki/Running-without-a-Display

 


関連ページ一覧

ラズパイ SSH接続メモ

RPi create build enviroment〜ラズパイにビルド環境〜

RPi Maven Install 〜ラズパイでMeven〜

Java settingup RPi ~ラズパイのJVMを切り替える~

RPi Install Git 〜ラズパイにGitのインストール〜

Install XFCE4 to RPi〜ラズパイにXFCE4のインストール〜