What does "Client failed to connect to the D-BUS daemon" mean?
The error you are seeing is :
(firefox:55): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
/usr/bin/dbus-launch terminated abnormally without any error message
So it is clear Firefox attempts to connect to D-BUS daemon and fails as dbus-launch gets terminated abnormally.
dbus-launch
dbus-launch is basically the utility to start a message bus by firefox through a shell script. It would normally be called from a user's login scripts. dbus-launch launches a session bus instance and print the address and pid
of that instance to standard output.
You can read more about dbus-launch from the Linux man page
Root Cause
This error can arise if you use su
(root), sudo
, suedit
, gksu
. The main reason is DBUS_SESSION_BUS_ADDRESS
retains its value when you su
instead of picking up the value in /root/.dbus/session-bus
.
Here you will find a detailed discussion on GConf Error: No D-BUS daemon running?! How to reinstall or fix?.
Another possible reason may be the base Firefox
Browser version may be an older version on which updates were taken to reach the current version.
Solution :
There are a couple of solutions available to address this ubuntu related issue as follows :
- Before you start Firefox you have to type
export $(dbus-launch)
- However this may result into another error with
NSS_USE_SHARED_DB
. So you have to useexport NSS_USE_SHARED_DB=ENABLED
as well. The most convenient way would be to put all the configuration with in
.bashrc
file :export $(dbus-launch) export NSS_USE_SHARED_DB=ENABLED firefox &
This discussion speaks about the solution in details.
- If
dbus-launch
is not installed on your system you have to installdbus-x11
package which contains the dbus-launch program. - An effective solution would be to uninstall the older base version of Firefox Browser and install a recent released GA version of Firefox Browser.
Best Approach
The issue with dbus-launch was addressed properly by both Ubuntu and Mozila. To overcome this error you need to follow the below mentioned steps :
- Keep your Ubuntu os updated with the Latest Patch Releases and updates.
- Always use the latest released version of Selenium-Python client, WebDriver variant e.g. GeckoDriver and Web Browser, e.g. Firefox Browser.
- Clean and Build the Project Workspace afresh through your IDE before and after executing your Test Suite.
- Clear the Browser Cache before and after the execution of your Tests.
- If you have to uninstall any of the Web Client variants (e.g. Mozilla Firefox) you can use Revo Uninstallar with Moderate Memory Scan so that the stale registry settings are discarded.
- Use CCleaner tool regularly to wipe away the OS chores including the stale rust_mozprofile directories.
What does this message mean?
DBus is a message bus system for interprocess commutation. There is an open geckodriver
issue on a similar if not the same subject:
- request to geckodriver fails with no meaningful log entry when there is no access to $HOME/.mozilla or $HOME/.cache
Could that be an indication of the reason why sometimes the tests are failing?
The warning should not really affect the tests but it's difficult to speculate about your intermittent test failures without seeing what is actually happening in your tests.
If so, how to fix it?
Here are some things to try:
- upgrade
geckodriver
to the latest stable version (currently 0.19.1) - update Firefox to the latest nightly version (currently 58)
- try this answer
- try this answer