サーバーで画像加工
…を、機能の1つとして実装しなければならなくて、Tapestry のページなのに awtのJava2Dで行ってストリーミングして返却するのを作った。Windows上では動いていたのでokokと思っていたら、本番サーバーではアウトだった。
java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
やばい!深い問題じゃなきゃ良いが…と思いながらいろいろ調べた結果、まず X が必要だということが分かった。初期設定はしてないかもしれないが開発サーバーに一応入っていた。そこに仮想的なディスプレイを用意する Xvfb というコマンドがあり、これを使えば動くらしいのだ。
で、望みをかけてトライ。
# /usr/X11R6/bin/Xvfb :0.0 &
うんうんバックグラウンドで動いている。その後、tomcatを再起動したら、すんなり、うまくいった。ちょいとのハマリで済んでよかった。よかった。