Xアプリケーションは、stderrで「アクセシビリティバスに接続できませんでした:」と警告します


30

正常に実行されているように見えても、端末からのすべてのアプリケーションが警告とエラーメッセージを出すようです。

Emacs:

** (emacs:5004): WARNING **: Couldn't connect to accessibility bus:    
Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused

エビンス:

** (evince:5052): WARNING **: Couldn't connect to accessibility bus:    
Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused

(evince:4985): Gtk-CRITICAL **: gtk_widget_show: assertion 
'GTK_IS_WIDGET (widget)' failed

(evince:4985): Gtk-CRITICAL **: gtk_widget_show: assertion 
'GTK_IS_WIDGET (widget)' failed

Firefox:

(process:5059): GLib-CRITICAL **: g_slice_set_config: assertion 
'sys_page_size == 0' failed

リストは続きます。この動作は一般的ですか、または私のシステムに何か問題がありますか?これらの問題を修正するにはどうすればよいですか?


私の経験では、はい、これは非常に一般的です。さまざまなパッケージで発生する多くの通知、収益、エラーがあります。ターミナルから起動すると、これらの収益はターミナルに送信されるため、それらを見ることができます。通常Xアプリを起動するように起動すると、それらは見えません。それらはどこかに記録されるかもしれませんが、通常はアプリケーションに基づいて記録されません。何年もの間、この単純な経験則「アプリが動作していて、エラーがそれほど怖くない場合は無視してください」
カールウィルバー

回答:


53

残念ながら、GTKライブラリ(特にGNOMEで使用される)は、恐ろしく見えるメッセージを大量に出力する傾向があります。これらのメッセージは潜在的なバグを示す場合もあれば、完全に偽物である場合もあり、コードを深く掘り下げずにどちらがどれであるかを見分けることは不可能です。エンドユーザーとして、あなたはそれについて何もすることができません。それらをバグとして報告できます(それ以外の場合はプログラムが正しく動作し、偽のエラーメッセージを出すことはバグです)が、プログラムが基本的に機能している場合、これらのバグは非常に低い優先度として扱われます。

アクセシビリティ警告は、アクセシビリティ機能を使用しない場合の簡単な回避策である既知のバグです。

export NO_AT_BRIDGE=1

私の経験では、Gtk-CRITICALバグは完全に偽物です。それらはどこかにプログラミングエラーを示しますが、エンドユーザーに報告されるべきではなく、プログラムを書いた開発者(または基礎となるライブラリー-多くの場合、プログラム自体の開発者はそれについて何もできませんプログラムで使用されているライブラリによって呼び出されるライブラリによって呼び出されるライブラリのバグ)。


したがって、windowmanager(awesome)の起動中にこのエラーが発生します。それで、export-thingをどこに置くべきですか?
UlfR

@UlfR:.bashrcに入れます。
ベンクロウェル

@UlfR ~/.profileすばらしい設定の中またはその中(すばらしい構文の内容はわかりません)。または~/.xinitrcを使用する場合startx、または~/.xsession(デスクトップ環境の独自のセッションマネージャーとは対照的に)クラシックX11セッションを使用する場合。
ジル「SO-悪であるのをやめなさい」

@BenCrowellいいえ、ではありません.bashrc。端末から起動されたプログラムにのみ適用されます。で環境変数を定義すること.bashrcはほとんど常に間違っています。
ジル「SO-悪であるのをやめなさい」

2

どこかで見つけましたが、リンクを忘れました。

修正するには、次を実行します。

dbus-uuidgen > /var/lib/dbus/machine-id

dbus-uuidgenがない場合は、dbusパッケージにあります。これは、以下を発行することでインストールできます。

yum install dbus

3
私にとっては問題を解決しません。
-Zeimyth


1

/ var / lib / dbus / machine-idを変更しないでください!最初に空かどうかを確認してください!manページを読んでください!

from:man dbus-uuidgen

実行中のシステムで既存のマシンIDを変更しようとすると、おそらく悪いことが起こります。このファイルを変更しようとしないでください。また、2つの異なるシステムで同じにしないでください。実行中の2つの異なるカーネルがあるときはいつでも異なる必要があります

私は

アクセシビリティバスへの接続:ソケット/ tmp / dbus-oYuNBK96uXへの接続に失敗しました:接続は拒否されました

エラーメッセージ、他のコンピューターから次のもので接続:

ssh -YC user_name@1.2.3.4

そしてthunarとevinceを実行します。

ローカルシステムでも同じことを試みましたが、エラーも報告されませんでした

cat / var / lib / dbus / machine-id

そして、それはすでに1つのuuidを持っています

このエラーの原因と思われるのは、端末として使用されるマシンで実行されているxserverがリモートシステムとは異なるuuidを持っていることです。

上記のmanページによると、実行中にmachine-idを変更すると何らかの誤動作が終了するため、これ以上実験しませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.