私は Xvfb をコマンドで実行します:
Xvfb :1 -screen 0 100x100x16 -fbdir /tmp
そして、それはうまく機能しています。 VNC経由で接続でき、/tmp
ディレクトリの下にXvfb_screen0
バイナリファイルがあります。
/dev/fb0
のように動作すると思ったので、次のように設定を変更しようとしました fbset
Sudo fbset -fb /tmp/Xvfb_screen0 -xres 500 -yres 500
しかし、コマンドはエラーで終了します。
ioctl FBIOGET_VSCREENINFO:デバイスに不適切なioctl
実行中のXvfbサーバーの解像度を変更する方法はありますか?
Xvfbがサイズ変更をサポートしているかどうかはわかりません。主な関心がVNCである場合は、おそらく TigerVNC を試してみてください。 RandRとXineramaをサポートする最新のVNCサーバーです。 TigerVNCでは、画面のサイズ変更と複数のモニターが非常にうまく機能します。
−fbdir
パラメータ 、作成中フレームバッファメモリを含むメモリマップファイル、フレームバッファデバイスではありません。
fbset
manual によると、-fb
は、フレームバッファデバイスノードのみを受け入れ、メモリマップファイルは受け入れません。したがって、適切な構文は次のようになると思います。
fbset -fb /dev/fb0 500x500
どこ /dev/fb0
はフレームバッファデバイスです(例:/dev/fb/0
または/dev/fb0
)。
フレームバッファデバイスをXに認識させるには、FRAMEBUFFER
変数を定義します。
export FRAMEBUFFER=/dev/fb0
参照 man fbdev
詳細については。
読むには/tmp/Xvfb_screen0
、代わりにxwud
コマンドを使用する必要があります。
xwud -in /var/tmp/Xvfb_screen0
サーバーの画面0が表示されます。
ほとんどの場合、既存のXサーバーの解像度を変更することはできないため、Xvfbサーバーを再実行するか、解像度の異なる別の画面を呼び出す必要があります。