You are not logged in.
I have been running Debian testing (currently trixie) with xfce for many years. After a recent update I was unable to open an Xsession. I would type my username and password into the greeter and would be returned to the greeter. I logged in to a console and found the following in my ~/.xsession-errors:
Xsession: unable to launch "startxfce4 --wayland" X session --- "startxfce4 --wayland" not found; falling back to default session.
As best I can tell something in a recent debian update resulted in default login switching from X-Windows xfce to wayland xfce. At the console I ran, "startxfce4 --wayland," and this found startxfce4 as a program but reported it had no compositor, and I should perhaps try package "labwc." I installed package "labwc" and was now able to run "startxfce4 --wayland" from the console, with xfce (with wayland) running ok. However I still could not log in from the greeter, again with the error as above.
I searched through the lightdm code and found that the lightdm greeter pulls the available Xsessions from two different directories, /usr/share/xsessions/*.desktop and /usr/share/wayland-sessions/*.desktop. In the wayland-sessions directory in the file xfce-wayland.desktop the execution line is "Exec=startxfce4 --wayland". This should be an acceptable .desktop Exec line, as far as I understand.
I next searched through the Xsession scripts and found in /etc/X11/Xsession.d/20x11-common_process-args the code:
case "$1" in
⋮
⋮
*)
# Specific program was requested.
if command -v "$1" >/dev/null; then
STARTUP="$1"
else
message "unable to launch \"$1\" X session ---" \
"\"$1\" not found; falling back to default session."
fi
The script 20x11-common_process-args is sourced (run by ". 20x11-common_process-args") inside the script /etc/X11/Xsession. I am not clear who calls /etc/X11/Xsession, but it is calling with the Exec value from xfce-wayland.desktop as a single parameter. In turn that string, "startxfce4 --wayland", is not a valid command file as such, i.e. the string needs to be separated into the valid command file "startxfce4" before being tested in order to get through 20x11-common_process-args without an error. In debian the file 20x11-common_process-args is part of the x11-common package. So while the .desktop file, "xfce-wayland.desktop", is a legal .desktop file, there seems to be an additional limitation in the Xsession code that requires that there be no parameters on the Exec= value
My question is, whose error is this, and where should it be reported? Is this a problem for xfce, for X11 or for the debian versions of the same?
Aftermath: I found that while xfce-wayland "worked" it was full of practical issues that made me want to get out as soon as possible. It was at this point that I realized that I could switch my session back to standard X-Windows xfce in the greeter. I have never used this feature in the greeter before, so I spent a lot of time researching how to get the --wayland version to run. Once I realized that running the standard X-Windows xfce was still an option, I returned to it.
Last edited by jrv (2025-05-02 18:56:36)
Offline
At the lightdm greeter there should be 3 options, Default, Xfce4 and Xfce4-wayland/labwc. If you select Xfce4 option it should give you an X based desktop. The Default option can be changed. I forget how ATM but as I remember it was pretty simple. For using Wayland you'll need to set up the config file so it presents how you like. There are still some issue with Wayland and Xfce4 as it's still experimental but it will work.
Here is some help and wayland examples:
https://gitlab.xfce.org/xfce/xfce4-session/-/issues/209
https://gitlab.xfce.org/xfce/xfce4-session/-/issues/210
I AM CANADIAN!
Siduction
Debian Sid
Xfce 4.20 with Wayland/Labwc
Offline
[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 534.63 KiB (Peak: 535.91 KiB) ]