web-dev-qa-db-ja.com

「クライアントはD-BUSデーモンへの接続に失敗しました」とはどういう意味ですか?

非常に複雑なセットアップを使用して、さまざまな非公開Webページをテストしています。 jenkinsを使用して、dockerimage内でpython-Seleniumテストを実行します。そのようにして、私はジェンキンス環境から完全に独立しており、自分の環境を作成できます。この環境では、次のソフトウェアがインストールされています。

  • Ubuntu 16.04.3
  • Firefox:Mozilla Firefox 57.0.1
  • ヤモリ:0.18.0
  • 鼻テスト: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

私の質問:

  • このメッセージはどういう意味ですか?
  • これは、テストが失敗することがある理由を示すものでしょうか?
  • もしそうなら、それを修正する方法?
12
Alex

表示されているエラーは次のとおりです。

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

したがって、dbus-launchが異常終了すると、FirefoxD-BUSデーモンおよびfailsへの接続を試行することは明らかです。

dbus-launch

dbus-launchは基本的にシェルスクリプトを介してfirefoxによってメッセージバスを起動するユーティリティです。通常、ユーザーのログインスクリプトから呼び出されます。 dbus-launchセッションバスインスタンスを起動し、そのインスタンスのaddressおよびpidを標準出力に出力します。

dbus-launchの詳細については、 Linux man page

エラーの根本原因

su(root)Sudosueditgksを使用すると、このエラーが発生する可能性があります。主な理由はDBUS_SESSION_BUS_ADDRESS retains its value when yousuinstead of picking up the value in /root/.dbus/session-bus/です。

GConf-WARNING **: Client failed to connect to the D-BUS daemon:here の詳細な説明があります。

別の考えられる理由は、ベースのFirefoxブラウザーバージョンが、現在のバージョンに到達するために更新が行われた古いバージョンである可能性があることです。

解決 :

次のように、このbunt関連の問題に対処するために利用可能なソリューションがいくつかあります。

  • 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 &
    

この discussion は、ソリューションについて詳しく説明しています。

  • dbus-launchがシステムにインストールされていない場合、dbus-launchプログラムを含むdbus-x11パッケージをインストールする必要があります。
  • 効果的な解決策は、Revo UninstallarからFirefox Browserの古いベースバージョンをアンインストールし、最近リリースされた[〜#〜] ga [〜#〜]バージョンのFirefox Browserをインストールすることです。

ベストアプローチ

dbus-launchの問題は、buntMozilaの両方によって適切に対処されました。このエラーを克服するには、以下の手順に従う必要があります。

  • UbuntuOS最新のパッチリリース およびUpdatesで更新してください。
  • 常に最新リリースバージョンの Selenium-PythonclientWebDriver variantGeckoDriver )およびWeb BrowserFirefox Browser)を使用する
  • Clean and Build theProject WorkspaceTest Suiteを実行する前と実行した後、IDEを再度確認します。
  • ClearブラウザキャッシュTestsの実行前後。
  • Web Clientバリアントのいずれかをuninstallする必要がある場合(Mozilla FirefoxRevo UninstallarwithModerate Memory Scanを使用して、古いレジストリ設定を破棄します。
  • CCleanerツールを定期的に使用して、古い Rust_mozprofile directories を含むOSの雑用を一掃してください。
6
DebanjanB

このメッセージはどういう意味ですか?

DBus は、プロセス間転流用のメッセージバスシステムです。同じ題目ではないにしても、同様の題目に未解決のgeckodriver問題があります。

これは、テストが失敗することがある理由を示すものでしょうか?

警告は実際にはテストに影響を与えるべきではありませんが、テストで実際に何が起こっているのかを見ずに断続的なテストの失敗を推測することは困難です。

もしそうなら、それを修正する方法?

試すべきことがいくつかあります。

2
alecxe

私にとっての解決策は、dbus-x11をインストールすることでした

apt install dbus-x11
0
wintel2006