X仮想フレームバッファ画面は1024x768ではなく1024x9216です。

X仮想フレームバッファ画面は1024x768ではなく1024x9216です。

Ubuntu Linux上で動作するX仮想フレームバッファサーバーがあり、VNCを介してその画面にアクセスしたいと思います。

私のステップは次のとおりです。

  1. Xvfb :1.0 -screen 0 1024x768x16 &

  2. パスワードを設定してください:x11vnc -storepasswd

  3. x11vnc -display :1.0 -usepw -forever -ncache 10 -autoport 5900 &

    Using X display :1.0
    rootwin: 0x1a9 reswin: 0x200001 dpy: 0x174f920
    ...
    Default visual ID: 0x21
    Read initial data from X display into framebuffer.
    initialize_screen: fb_depth/fb_bpp/fb_Bpl 16/16/2048
    rfbNewFramebuffer(0x1797f20, 0x0, 1024, 9216, 5, 1, 2)
    ...
    X display :1.0 is 16bpp depth=16 true color
    

その後、私はmacOSからVNCサーバーにアクセスしました:

open vnc://my-vnc-ip:5901/

1024x9216ただし、同時に表示される画面が 12 個あるように、フレームバッファが広すぎます( )。理想的には、画面がある1024x768モニターを1つだけ持ちたいです。

予想解像度で表示される画面を表示できるように、どのように修正しますか?

答え1

-ncache(実験的)オプションによって問題が発生したようです。削除すると問題が解決します。

デフォルトで有効になっている場合を使用して無効にしてみてください-noncache

有効にすると、デフォルトでは高速検索のためにVNCビューア側の画面の外側にピクセルデータを格納するクライアント側キャッシュ方式が有効になり、すべてのVNCビューアで機能する必要があります。しかし、一部のクライアントでは正常に動作しないようです。

したがって、正しいコマンドは次のようになります。

x11vnc -display :1.0 -usepw -forever -autoport 5900

ncache以外の場合-clipオプション役に立つかもしれません。


~によるとUbuntuフォーラムトピック、これがうまく-ncacheいく方法です。

デスクトップを通常よりも10倍大きくし、追加のフレームバッファを使用してウィンドウとそのストレージデバイスをキャッシュします。

KRDCがその領域を表示しないようにすることができない場合(ウィンドウのサイズ変更など)、KRDCと一緒に使用することはできませんx11vnc -ncache

したがって、現在唯一の-ncache「サポート」は、視聴者がスクロールバーを持ち、自動スクロールを無効にできることです。または unix/macosx で使用してくださいssvnc

望むより:x11vncはピクセルデータのクライアント側キャッシュを実行できますか?より多くの情報を知りたいです。

n は、-ncache nキャッシュに使用されるデフォルトのフレームバッファサイズの増分要素です。これは偶数であり、良い応答のためには6〜12でかなり大きくなければなりません。これには通常、クライアントとサーバー側の両方に約50〜100 MBの追加RAMが必要です。たとえば、n = 6の場合、1280x1024モニターは1280x7168のフレームバッファを使用します。ライン1024の下の全てのエントリはピクセルバッファキャッシュである。

関連情報