Xvfb -
仮想フレームバッファ
X サーバ
Xvfb [ option ] ...
Xvfb
は、ディスプレイのハードウェアや物理的な入力デバイスを持たないマシン上
で動作する X
サーバである。この X
サーバは仮想メモリを用いてダムフレー
ムバッファをエミュレートする。
このサーバは、主にサーバのテストに使うためのものである。このサーバを使っ
て、必要とする深さをサポートしている実際のハードウェアを必要とせずに、
任意の深さに対する mfb
または cfb
のコードをテストすることができる。
しかし、X
のコミュニティにおいて
Xvfb
の新しい使用法が数多く考え
られた。これは、普通は使われない深さやスクリーンの設定におけるクライア
ントのテストや、
Xvfb
をバックグラウンドのレンダリングエンジンと
して使うバッチ処理、X
サーバを新しいプラットフォームへ移植するための補
助、実際には X
サーバを使用しないが、それにもかかわらず
X サーバが必要
とするアプリケーションを実行するための邪魔にならない方法の提供などであ
る。
サーバの構築¶
Xvfb
を構築するには、以下の行を
host.def に追加して X
サーバを
再構築する。
#define BuildServer YES
#define XVirtualFramebufferServer YES
オプション¶
オンラインマニュアルの
Xserver(1)
で説明されているサーバオプショ
ンに加えて、
Xvfb
には以下のコマンド行オプションを指定するこ
とができる:
- -screen screennum WxHxD
- このオプションを指定すると、スクリーン
screennum
が生成され、幅、
高さ、深さに対して
W, H, D
がそれぞれ設定される。デフォルトでは、ディ
メンジョン 1280x1024x8
を持つスクリーン 0
だけが存在する。
- -pixdepths list-of-depths
- このオプションは、サポートされているスクリーンで指定できる深さに加えて、
ピックスマップの深さのリストを指定する。
list-of-depths
は空白区切りの整数のリストである。この値には1から
32を指定できる。
- -fbdir framebuffer-directory
- このオプションは、フレームバッファメモリを持つ、メモリをマップしたファ
イルが生成されるディレクトリを指定する。
「ファイル」セクションを参照すること。
このオプションは、mmap
システムコールと msync
システムコールを持つマシ
ンでのみ使用できる。
- -shmem
- このオプションを指定すると、フレームバッファが共有メモリに置かれる。
サーバは、各スクリーンに対する共有メモリ
ID を出力する。
共有メモリのフォーマットは
xwd
フォーマットである。
このオプションは、System
V
の共有メモリインタフェースをサポートしてい
るシステムでのみ使用できる。
-shmem も
-fbdir
も指定されなければ、フレームバッファメ
モリは malloc()
を使って割り当てられる。
- -linebias n
- このオプションは細線のピクセル化の調整方法を指定する。
n は、Bresenham
誤差項がちょうどゼロになる時の軸の増分をどうする
か指定する、8ビットのビットマスク値である。詳しくはファイル
Xserver/mi/miline.h
を見ること。このオプションを使うのは、おそらくサー
バの開発者が cfb と mfb
のコードで使用できる線のピクセル化の範囲を実験
するときだけである。
- -blackpixel pixel-value, -whitepixel
pixel-value
- このオプションは、サーバが使う白と黒のピクセル値を指定する。
ファイル¶
-fbdir
オプションを指定すると、以下のファイルが作られる。
- framebuffer-directory/Xvfb_screen<n>
- スクリーン n
のフレームバッファメモリを持つ、メモリがマップされたファ
イル。これはスクリーンごとに1つずつ存在する。このファイルのフォーマッ
トは xwd
フォーマットである。したがって、ファイルをコピーするコマンド
で画面全体のスナップショットを取ることができるが、得られるスナップショッ
トにはカーソルのイメージが含まれてしまう。
- Xvfb :1 -screen 0 1600x1200x32
- X
サーバはサーバ番号1として接続を待つ。スクリーン
0 は深さ32 でサイズ
が1600x1200を持つ。
- Xvfb :1 -screen 1 1600x1200x16
- X
サーバはサーバ番号1として接続を待つ。このサーバはデフォルトのスクリー
ン設定(1280x1024x8
のスクリーン1つ)と、深さ16
でサイズ 1600x1200を持つ
スクリーン 1
を持つ。
- Xvfb -pixdepths 3 27 -fbdir /usr/tmp
- X
サーバはサーバ番号0として接続を待つ。このサーバはデフォルトのスクリー
ン設定(1280x1024x8
のスクリーン1つ)を持つ。
また、このサーバは深さ3と27のピックスマップをサポートし、/usr/tmp
ディ
レクトリに、フレームバッファ用のメモリをマップしたファイルを置く。
- xwud -in /usr/tmp/Xvfb_screen0
- 1つ前の例で起動した
X サーバのスクリーン
0 を表示する。
関連項目¶
X(7),
Xserver(1),
xwd(1),
xwud(1), XWDFile.h
David P. Wiggins, The Open Group, Inc.