diff --git a/.github/workflows/dbus.xml b/.github/workflows/dbus.xml
new file mode 100644
index 0000000..45d5de5
--- /dev/null
+++ b/.github/workflows/dbus.xml
@@ -0,0 +1,30 @@
+
+
+
+ session
+
+
+
+
+
+
+
+
+ /lib/dbus-1/dbus-daemon-launch-helper
+
+
+ /var/run/dbus/pid
+
+
+
+
+
+ EXTERNAL
+
+
+ unix:path=/tmp/test_system_bus_socket
+
diff --git a/.setupkeystore.sh b/.setupkeystore.sh
index 35ec5ba..1430314 100755
--- a/.setupkeystore.sh
+++ b/.setupkeystore.sh
@@ -3,8 +3,8 @@
keyring="$1"
set -x
-if [ "$(expr substr $(uname -s) 1 5)" == "Linux" ] && [ "$keyring" == "gnome" ]; then
- export $(dbus-launch)
+if [ "$(expr substr $(uname -s) 1 5)" == "Linux" ] && [ "$keyring" == "gnome" ]; then
+ export $(dbus-launch --config-file=${GITHUB_WORKSPACE}/.github/workflows/dbus.xml)
eval "$(echo '\n' | gnome-keyring-daemon --unlock)"
echo xxx@gmail.com | secret-tool store --label="main" email address
PASS=$(secret-tool lookup email address)
@@ -25,7 +25,7 @@ if [ "$(expr substr $(uname -s) 1 5)" == "Linux" ] && [ "$keyring" == "kde" ]; t
cp $GITHUB_WORKSPACE/.setupkeystore/* ~/.local/share/kwalletd
chmod 600 ~/.local/share/kwalletd/*
dbus-uuidgen --ensure
- export $(dbus-launch)
+ export $(dbus-launch --config-file=${GITHUB_WORKSPACE}/.github/workflows/dbus.xml)
password=$(kwalletcli -f . -e address)
echo Checking the secret can be retrieved.
if [ "$password" != "xxx@gmail.com" ]; then
diff --git a/java-keyring/src/main/java/com/github/javakeyring/internal/kde/KWalletBackend.java b/java-keyring/src/main/java/com/github/javakeyring/internal/kde/KWalletBackend.java
index c0ec770..31236a2 100644
--- a/java-keyring/src/main/java/com/github/javakeyring/internal/kde/KWalletBackend.java
+++ b/java-keyring/src/main/java/com/github/javakeyring/internal/kde/KWalletBackend.java
@@ -32,6 +32,7 @@
import org.freedesktop.dbus.annotations.DBusInterfaceName;
import org.freedesktop.dbus.connections.impl.DBusConnection;
+import org.freedesktop.dbus.connections.impl.DBusConnectionBuilder;
import org.freedesktop.dbus.interfaces.DBusInterface;
import java.io.IOException;
@@ -45,7 +46,7 @@ public class KWalletBackend implements KeyringBackend {
public KWalletBackend() throws BackendNotSupportedException {
try {
- connection = DBusConnection.getConnection(DBusConnection.DBusBusType.SESSION);
+ connection = DBusConnectionBuilder.forSessionBus().build();
wallet = connection.getRemoteObject("org.kde.kwalletd5", "/modules/kwalletd5", KWallet.class, true);
wallet.localWallet(); //attempt connection to wallet
} catch (Exception e) {