Xvfb(1) 仮想フレームバッファ 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 を表示する。

著者

David P. Wiggins, The Open Group, Inc.