書式
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.