1. ホーム
  2. python

[解決済み] Client failed to connect to D-BUS daemon "とはどういう意味ですか?

2022-02-19 20:02:36

質問

私は、様々な非公開のウェブページをテストするために、非常に複雑なセットアップを使用しています。私は jenkins を実行するために python-selenium の中でテストを行います。 docker の画像になります。そうすることで、jenkinsの環境から完全に独立し、自分だけの環境を作ることができるのです。この環境では、以下のソフトをインストールしています。

  • Ubuntu 16.04.3
  • Firefox Mozilla Firefox 57.0.1
  • ゲッコードライバ: 0.18.0
  • nosetests: 1.3.7
  • セレン: 3.8.0

テストを実行すると、ほとんどが成功するのですが、その際に geckodriver.log のようなメッセージが出力されます。

(firefox:55): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
/usr/bin/dbus-launch terminated abnormally without any error message

私の質問です。

  • このメッセージはどういう意味ですか?
  • 時々テストが失敗するのは、その原因を示しているのでは?
  • もしそうなら、それを修正する方法は?

解決方法は?

あなたが見ているエラーは:

(firefox:55): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
/usr/bin/dbus-launch terminated abnormally without any error message

だから、それは明確である ファイアフォックス に接続しようとします。 D-BUSデーモン となり、失敗します。 dbus-launch が異常終了してしまう。


dbus-launch(ダブスタ

dbus-launch(ダブスタ は、基本的にシェルスクリプトを通してfirefoxでメッセージバスを起動するためのユーティリティです。通常、ユーザーのログインスクリプトから呼び出されるでしょう。 dbus-launch(ダブリューダブリューランチ セッションバスのインスタンスを起動し、アドレスと pid のインスタンスを標準出力に出力する。

について詳しく説明します。 dbus-launch をご覧ください。 Linuxのマニュアルページ


根本的な原因

このエラーは su (ルート)です。 sudo , suedit , gksu . 主な理由は DBUS_SESSION_BUS_ADDRESS は、その値を保持します。 su で値を拾うのではなく /root/.dbus/session-bus .

に関する詳細な説明をご覧いただけます。 GConf Error: D-BUSデーモンが動作していないか! 再インストールまたは修正する方法は? .

もう一つの原因として考えられるのは、ベースとなる Firefox ブラウザのバージョンは、現在のバージョンに到達するために更新が行われた古いバージョンである可能性があります。


解決方法

この問題に対処するために、いくつかのソリューションが用意されています。 ubuntu に関する問題は、次のとおりです。

  • Firefox を起動する前に、次のように入力する必要があります。 export $(dbus-launch)
  • しかし、この場合 NSS_USE_SHARED_DB . そのため export NSS_USE_SHARED_DB=ENABLED にも対応しています。
  • 最も便利な方法は、すべての設定を .bashrc ファイルを作成します。

    export $(dbus-launch)
    export NSS_USE_SHARED_DB=ENABLED
    firefox &
    
    

この ディスカッション は、その解決策を詳しく説明しています。

  • もし dbus-launch をインストールする必要があります。 dbus-x11 パッケージには dbus-launch プログラムです。
  • の古い基本バージョンをアンインストールするのが効果的な解決方法です。 ファイアフォックス ブラウザをインストールし、最近リリースされた GA のバージョン ファイアフォックス ブラウザーです。

ベストアプローチ

の問題点 dbus-launch の両方によって適切に対処されました。 Ubuntu モジラ . このエラーを解消するには、以下の手順を実行する必要があります。

  • を保持します。 Ubuntu os を更新しました。 最新のパッチリリース およびアップデートを提供します。
  • 常に最新のリリースバージョンを使用する Selenium-Pythonクライアント , WebDriver バリアント 例 GeckoDriver およびWeb Browserの場合、例. Firefoxブラウザー .
  • クリーン ビルド プロジェクト・ワークスペース を新たに作成します。 IDE を実行する前に、そして実行した後に テストスイート .
  • クリア ブラウザのキャッシュ の実行前と実行後に テスト .
  • が必要な場合 アンインストール のいずれかが ウェブクライアント バリアント (例: Mozilla Firefox ) を使用することができます。 レボアンインストール 中程度のメモリスキャン を使用することで、古くなった レジストリ設定 は破棄されます。
  • 使用方法 CCleaner ツールを定期的に使用して OSの雑用 をはじめ、古くなった rust_mozprofile ディレクトリ .