1

私のOSはUbuntu11.10で、ターミナルからSublime Text 2を起動しました。操作するたびに、このGdk警告がターミナルに表示されます。これは非常に煩わしいことです。それを修正する方法は?

$ subl . &
[1] 4294
$ 
(subl:4294): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.6/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(subl:4294): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.6/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
(subl:4294): Gdk-WARNING **: /build/buildd/gtk+2.0-2.24.6/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
4

3 に答える 3

3

これを修正するには、アプリケーションのソースコードを確認し、修正して再コンパイルする必要があります。Gdkは警告を出しますが、それはおそらくアプリケーションがライブラリを誤用しているためです。

残念ながら、Gtk+アプリケーションでこれらのエラーが発生するのは少し一般的です...残念ながら一部の開発者はそれらを修正することを気にしません...

別の解決策は、アプリを起動して、アプリをリダイレクトしたり、別の場所にリダイレクトしstdoutたりstderrすることです。subl . > /dev/null 2>&1 &

于 2012-05-02T12:18:59.777 に答える
2

私が知っている古い質問ですが、誰かがこのバグに悩まされた場合に備えて。これは、プログラムがgtkの入力メソッドapiを使用しているために発生します。これにより、大まかに言って、中国語と日本語の文字を入力ウィジェットに入力できます。APIは使いやすくなく、多くの落とし穴があります。http://lists.maemo.org/pipermail//maemo-developers/2006-January/002337.htmlを参照してください

この場合、プログラムはgtk_im_context_set_client_window実現されたgdkウィンドウで呼び出していない可能性があります。APIを正しく使用するための要件ですが、ドキュメントはそれについてそれほど明確ではありません。次に、キーを押すたびに上記の警告が表示されますが、実際にIBusデーモンが実行されている場合に限ります。ほとんどの人は、アジアの文字を入力する必要がないため、警告が表示されないため、使用できません。

于 2015-09-28T12:41:34.470 に答える
1

非常に古い質問に対する別の答えですが、wxpython2.8からwxpython3.0にアップグレードした後、同じ問題に遭遇しました。
この問題はgtk.gtk.Drawable()に起因しているようです。これは、ウィンドウのIDを処理する方法、またはwxpython3.0がウィンドウIDの要求を処理する方法をわずかに変更した可能性があります。
以前は機能していたウィンドウID(Linux上)にアクセスするためにGetHandle()、機能しなくなりました。代わりに、上記の質問でエラーが発生します。ここでを使用する必要がありますGetId()

gtkマニュアルから引用するには:

Attributes
"handle"    Read    The handle of the MS Windows window associated with the drawable. Not supported on X11.
"xid"   Read    The id of the X window available with the drawable. Not supported on MS Windows

これはwxpythonの質問ではありませんが、gtk他の方法で使用する場合は同じルールが適用されます。

于 2017-01-02T09:25:04.010 に答える