Skip to content

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.

Captura_de_pantalla_2025-08-14_05-55-17

Edited by Joel Barrios