XVFB(1)

名前
Xvfb - 仮想フレームバッファ X サーバ

書式
Xvfb [ option ] ...

説明
Xvfb は、ディスプレイのハードウェアや物理的な入力デバイスを持たないマシン上 で動作する X サーバである。この X サーバは仮想メモリを用いてダムフレー ムバッファをエミュレートする。

このサーバは、主にサーバのテストに使うためのものである。このサーバを使っ て、必要とする深さをサポートしている実際のハードウェアを必要とせずに、 任意の深さに対する mfb または cfb のコードをテストすることができる。 しかし、X のコミュニティにおいて Xvfb の新しい使用法が数多く考え られた。これは、普通は使われない深さやスクリーンの設定におけるクライア ントのテストや、Xvfb をバックグラウンドのレンダリングエンジンと して使うバッチ処理、X サーバを新しいプラットフォームへ移植するための補 助、実際には X サーバを使用しないが、それにもかかわらず X サーバが必要 とするアプリケーションを実行するための邪魔にならない方法の提供などであ る。

サーバの構築
Xvfb を構築するには、以下の行を host.def に追加して X サーバを再 構築する。

#define BuildServer YES /* if you aren't already building other servers */
#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(1), Xserver(1), xwd(1), xwud(1), XWDFile.h

著者
David P. Wiggins, X Consortium, Inc.