MATROX MGA-G200 @ 16:9 で xvfb を実行できません。

MATROX MGA-G200 @ 16:9 で xvfb を実行できません。

画面キャプチャサーバーの設定は次のとおりですが、キャプチャ率は16:9にはなりません。グラフィックカードのせいですか?

した:

cvt 1920 1080 60

xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

xrandr --addmode screen 1920x1080_60.00

xrandr --output screen --mode 1920x1080_60.00

これが出力ですhwinfo --framebuffer

02: None 00.0: 11001 VESA Framebuffer                           
  [Created at bios.459]
  Unique ID: rdCR.mCUP8WwEfLD
  Hardware Class: framebuffer
  Model: "Matrox MGA-G200"
  Vendor: "Matrox"
  Device: "MGA-G200"
  SubVendor: "Matrox Graphics Inc."
  SubDevice: 
  Revision: "00"
  Memory Size: 16 MB
  Memory Range: 0x00000000-0x00ffffff (rw)
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0310: 640x480 (+1280), 15 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0300: 640x400 (+640), 8 bits
  Mode 0x0303: 800x600 (+800), 8 bits
  Mode 0x0313: 800x600 (+1600), 15 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0316: 1024x768 (+2048), 15 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x0319: 1280x1024 (+2560), 15 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x031c: 1600x1200 (+3200), 15 bits
  Mode 0x031d: 1600x1200 (+3200), 16 bits
  Mode 0x031e: 1600x1200 (+6400), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

xrandr出力:

Screen 0: minimum 1 x 1, current 1920 x 1080, maximum 1920 x 1080
screen connected 1920x1080+0+0 0mm x 0mm
   1920x1080      0.00* 

走るXvfb :0 -screen 0 1920x1080x24 &


赤いセクションの長さは1280ピクセルでなければなりません(右側は黒で表示しないでください)、内部コンテンツは表示されますが、比率は正しくありません。

ここに画像の説明を入力してください。

ベストアンサー1

Xvfb一つでもない電子機器セキュリティ協会フレームバッファですが仮想フレームバッファXサーバー。

man Xvfb説明する:

説明する

Xvfbは、ディスプレイハードウェアや物理入力デバイスなしでコンピュータで実行できるXサーバーです。仮想メモリを使用して愚かなフレームバッファをエミュレートします。

このサーバーの主な用途はサーバーテストです。必要な深さをサポートする実際のハードウェアがなくても、このサーバーを使用すると、任意の深さのFBコードを実行できます。 Xコミュニティは、異常な奥行きと画面構成のためのクライアントテスト、バッチ処理のための背景レンダリングエンジンとしてのXvfbの使用、負荷テスト、Xサーバーを新しいプラットフォームに移植するのに役立つなど、Xvfbの他の多くの新しい用途を発見しました。実際には、Xサーバーは必要ありませんが、Xサーバーが必要だと主張するアプリケーションを実行する目立たない方法です。

つまり、Xvfbグラフィックカードをまったく使用しないため、キャプチャ速度の問題は発生しません。

出力では、xrandr画面の物理サイズがとして表示されます0mm x 0mm。アプリケーションがこの情報を使用して、選択した解像度のピクセルが正方形か長方形の長方形であることを確認すると、これらの値は奇妙な結果につながる可能性があります。アプリケーションは、以前のハードウェアで使用されていたデフォルトの割合(おそらく4:3?)に戻るか、ゼロで割って完全に奇妙な操作を実行できます。


コメントでは、これらすべての目的はCSSアニメーションをキャプチャすることです。ワークステーションでアニメーションをホストするWebサーバーに直接アクセスすることはできませんが、サーバーからアクセスできるため、他の方法があります。それ質問。 (別の良い例XYの問題.)

たとえば、SSH に動的ポート転送を使用できます。

1.)動的ポート転送を介してワークステーションからサーバーへのSSH接続を確立します。ポート番号は自由に選択できます。この例では1234を使用します。

workstation$ ssh -D 1234 direxit@server
server$

これにより、SSHクライアントは、ワークステーションの指定されたポートにインバウンドエンドを持ち、SSH接続の反対側にあるサーバーにアウトバウンドエンドを持つSOCKSプロキシを作成します。

localhost2.)ワークステーションに戻り(前の手順で選択したポート番号)のSOCKSプロキシを使用するようにブラウザを設定します。これにより、すべての発信接続が最初にSSH接続を介してサーバーに到達します。そこから実際の目的地へ。

3.)Firefoxを使用している場合は、DNS検証もSOCKSプロキシを通過するようにに移動してabout:config設定しますnetwork.proxy.socks_remote_dnstrue他のブラウザでは、hostsワークステーションで直接解決できない場合は、サイトのIPアドレスとホスト名をワークステーションのファイルに追加する必要があります。

4.) ブラウザが完全にローカルで実行され(表示待ち時間が最小限に抑えられます)、ワークステーションから直接キャプチャできるようになりましたが、ブラウザのネットワーク接続はリモートサーバーを介してルーティングされます(したがって、CSSアニメーションをホストするシステムは次のようになります)。処理され、ブラウザに接続されます)。サーバーから来ます)。

5.)完了したら、ブラウザからSOCKSプロキシ構成設定を削除する必要があります。そうしないと、ダイナミック転送を使用するSSH接続が終了すると、ブラウザは何でも接続できません。

おすすめ記事