8

有効なXディスプレイなしでGTKを使用することは可能ですか?

GTKをWebkitで使いたいのですが、今のところDOM関数を使って実験することにしか興味がないので、実際に何も表示する必要はありません。ディスプレイのないサーバーでSSH接続を介してこれを行うのは非常に便利です。

しかし、DISPLAY環境変数gtk_init()がないと、次のメッセージで失敗します。

Gtk-WARNING **: cannot open display:

とにかくディスプレイなしでGTKを使用することはありますか?

4

4 に答える 4

7

DISPLAY有効なものを提供し、出力をグラフィックハードウェアではなくファイルに送信するXvfbと呼ばれるXサーバーがあります。これは、gtkクライアントを実行しているのと同じマシンで実行でき、gtkは、ネットワーク帯域幅を使用せずに、やりたいことを何でも実行できます。ボーナスとして、ファイルからXvfbの出力バッファーを読み取ることができ、画面に表示されるもののスクリーンショットを取得できます。

于 2012-07-27T21:06:15.457 に答える
1

それはあなたの質問に対する直接の答えではありませんが、あなたが探しているのは「ヘッドレス」ウェブブラウザだと思います。PhantomJSと呼ばれるWebKitに基づくものがあります。GUIスタックは必要なく、そこでDOMを自由に試すことができます。

于 2012-07-27T21:59:09.840 に答える
1

Gtk + 3(GDK)は現在、複数のバックエンドをサポートしていますが、実行するにはX11、Wayland、またはBroadway(実験的なHTML5バックエンド)が必要です。

DISPLAY必ずしも実際のハードウェアは必要ありません。XvfbやXvncなどの偽のXサーバーを実行できます。

于 2012-07-28T00:56:38.830 に答える
1

ドキュメントをもっと深く読んで、この答えを信じなかったのはうれしいです。

gtk_init_check()

この関数は、gtk_init()と同じ動作をしますが、変更は1つだけです。ウィンドウシステムを初期化できない場合、プログラムは終了しません。代わりに、失敗するとFALSEを返します。

于 2017-05-04T22:25:55.340 に答える