Xvfbでグラフを描画させている某システムを、別のマシンにセットアップして動作させてみたところ、以下のようなエラーメッセージが出ていた。
Xlib: extension "RANDR" missing on display "localhost:1".
RANDRはXRandRのことで、Xの再起動なしにResize & Rotateを可能にする拡張。
Xvfbにはもともと実装されてなかったようだけど、/etc/init.d/Xvfbを覗いてみると
以下のような記述がある。
PROG_OPTIONS=":1 -screen 0 640x480x24 +extension RANDR "
librandrなどのライブラリ群はインストール済みのようなのだが、
プログラムがそれらにアクセスできないのかもしれない。
しかし、そもそもXRandRが今回は不要なので、+extension RANDRを削除するか、
-extension RANDRとすることで修正できるようだ。
今回は+extension RANDRの記述を削除したところ、問題なく動作するようになった。
[2]によるとXvfbはKDrive Tiny X Serverというプロジェクトで開発されたもので、
Xorgのものではないので、さまざまの機能に違いがあるような印象。
参考URL:
[1] http://stackoverflow.com/questions/17944234/xlib-extension-randr-missing-on-display-21-trying-to-run-headless-googl
[2] http://stackoverflow.com/questions/12644001/how-to-add-the-missing-randr-extension