実行時のXvfbフレームバッファ解像度の変更

実行時のXvfbフレームバッファ解像度の変更

私は走るwxya使用コマンド:

Xvfb :1 -screen 0 100x100x16 -fbdir /tmp

そしてそれは素晴らしい作品です。 VNCを介して接続でき、/tmpディレクトリにXvfb_screen0バイナリがあります。

これが起こると思いましたが、/dev/fb0設定を変更しました。FBセット良い:

sudo fbset -fb /tmp/Xvfb_screen0 -xres 500 -yres 500

ただし、コマンドの最後にエラーが発生します。

ioctl FBIOGET_VSCREENINFO: デバイスの ioctl が不適切です。

実行中のXvfbサーバーの解像度を変更する方法はありますか?

答え1

Xvfbがサイズ変更をサポートしているかどうかはわかりません。あなたの主な関心がVNCなら、おそらく試してみる必要があります。タイガーVNC。 RandRとXineramaをサポートする最新のVNCサーバーです。画面サイズ変更とマルチモニターはTigerVNCでうまく機能します。

答え2

指定して−fbdir範囲、作成中です。フレームバッファメモリを含むメモリマッピングファイル、フレームバッファデバイスではありません。

~によるとfbset手動-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サーバーを再実行するか、別の解像度で別の画面を呼び出す必要があります。

関連情報