2

ウィンドウを起動し、その外観を JPEG としてディスクにキャプチャする Red Hat Linux コマンド ライン ツールを作成する必要があります。

通常、ターゲット マシンにはグラフィック カードがありませんが、任意のソフトウェア コンポーネント (X など) をインストールできます。

1 つまたは 2 つの質問:

このためにどのライブラリまたはツールを提案できますか?

GTK+ のようなものを使用してこのツールを作成した場合、ビデオ カードがないと実行に支障をきたしますか?

を見ましたscrotが、ユーザーの操作なしで特定のウィンドウをキャプチャすることをサポートしていないようです。

4

2 に答える 2

4

xwdNetPBM、およびcjpegユーティリティと組み合わせて、X.org サーバー用の「仮想フレームバッファ」ドライバーを使用する必要があるようです。

Xサーバーに必要な特定の構成についてはわかりませんが、使用しているサーバーに仮想フレームバッファードライバーが組み込まれていることを確認する必要がある可能性があります. 仮想フレームバッファ ドライバは、NVidia または ATI ビデオ カードに接続するために使用するものと同様のディスプレイ ドライバですが、「出力」は LCD 画面ではなく、ピクセルを含むメモリのチャンクです。

xwd は、X ウィンドウ ダンプを作成できる標準の X ツールの 1 つです。xwd は、コマンド ラインでどのウィンドウをダンプするかを指定できます。ファンキーな「xwd」形式のストリームを標準出力に出力します。

NetPBM ユーティリティは、あるイメージ形式を別の形式に変換するコマンド ライン ツールのコレクションです。xwdtoppm に変換するものを含みます。PPM は非常に基本的な非圧縮形式であり、ほとんどの NetPBM ツールで理解される中間形式です。

cjpeg は標準の JPEG ツール コレクションの一部であり、NetPBM も持っている場合はおそらくインストールされます。cjpeg は、PPM バイトのストリームを受け取り、JPEG バイトのストリームを出力できます。

Unix スクリプトとパイプの魔法により、これらのユーティリティを組み合わせてウィンドウでアプリを起動し、xwd、xwdtoppm、および cjpeg を呼び出してイメージをファイルにダンプできます。

于 2009-01-15T17:24:30.773 に答える
0

vncserver を実行して、仮想 X ウィンドウ ディスプレイを作成してみてください。グラフィック カードは必要ありません。DISPLAY 変数を、vncserver の起動時に表示されるディスプレイ番号に設定してください。次に、作成したディスプレイ (バックグラウンド) でアプリを起動し、データ フォーマッタまたは gimp コマンドで xwd を使用して、画面イメージを jpeg にキャプチャします。

ちなみに、Command line program to create website screenshots (on Linux)の同様の回答を確認してください。

于 2009-01-18T07:02:48.633 に答える