2012-07-27 20 views
6

GTKを有効なXディスプレイなしで使用できますか?GTKをDISPLAYなしで使用する

私はWebkitでGTKを使用したいと思いますが、今は実験用にDOM関数を使用することにのみ興味がありますので、実際に何かを表示する必要はありません。表示がないサーバー上のSSH接続でこれを行うのは非常に便利です。

しかし、DISPLAY環境変数なしで、gtk_init()は、単にメッセージで失敗します。

Gtk-WARNING **: cannot open display:

を表示せずにGTKを使用することがとにかくありますか?

答えて

5

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

+0

同様の効果を有するXvncを使用することができる。違いは、Xvncはvncviewerがディスプレイと完全に対話できることです。 – TheAmigo

1

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

1

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

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

0

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

gtk_init_check()

この機能は、単一の変更にgtk_initと同じ仕事を()が行われます。ウィンドウシステムを初期化することができない場合は、プログラムを終了しません。代わりに、失敗するとFALSEを返します。

関連する問題