xfce4-session 4.20.3 did not let start wayland session on non-systemd OS.
f6e2805b added some logic to detect if DBUS_SESSION_BUS_ADDRESS already exists, but:
# Start a D-Bus session if there isn't one already.
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
XFCE4_SESSION_COMPOSITOR="dbus-run-session -- ${XFCE4_SESSION_COMPOSITOR}"
fi
This makes non-SystemD OS with EloginD to skip the wrapper with dbus-run-session
because DBUS_SESSION_BUS_ADDRESS
is actually set with EloginD, and dbus-run-session
is required to start the wayland session without SystemD. So, there has to be another way to avoid dbus-run-session
in SystemD-based OS.
I used this to make Wayland session to work again in my Linux Distro:
# Start a D-Bus session if there isn't one already.
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] || [ "$(ps -p 1 -o comm=)" != "systemd" ]; then
XFCE4_SESSION_COMPOSITOR="dbus-run-session -- ${XFCE4_SESSION_COMPOSITOR}"
fi
Will try to figure out a better way to deal with this to make everybody happy.
Edited by Joel Barrios