Opened 2 months ago

Closed 5 weeks ago

#19360 closed enhancement (fixed)

sddm-0.21.0, also try to make sddm run Xorg and/or Wayland unprivileged

Reported by: Xi Ruoyao Owned by: Bruce Dubbs
Priority: normal Milestone: 12.2
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description (last modified by Xi Ruoyao)

Change History (5)

comment:1 by Xi Ruoyao, 2 months ago

Description: modified (diff)
Summary: Try to make sddm run Xorg and/or Wayland unprivilegedsddm-0.21.0, also try to make sddm run Xorg and/or Wayland unprivileged

comment:2 by Bruce Dubbs, 7 weeks ago

I built and installed this version of sddm with no issues. It works for me for:

Gnome X11
LXQt
xfce
icewm

I do not currently have gnome.desktop file for wayland so I can't test that right now.

I am having problems with plasma that are probably configuration related. After building plasma6 that has also broken something with plasma5 for me. I'll continue to investigate.

comment:3 by Bruce Dubbs, 6 weeks ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:4 by Bruce Dubbs, 6 weeks ago

I've updated sddm in the book and it works for plasma-x11, but I've not yet been able to get it to run plasma-wayland. It finds the /usr/share/wayland-sessions/plasma.desktop file which has contents (simplifiled):

[Desktop Entry]
Exec=/opt/kf6/lib/libexec/plasma-dbus-run-session-if-needed /opt/kf6/bin/startplasma-wayland
TryExec=/opt/kf6/bin/startplasma-wayland
DesktopNames=KDE
Name=Plasma (Wayland)
Comment=Plasma by KDE
X-KDE-PluginInfo-Version=6.0.0

both those /opt/kf6 files are present, but I am wondering if sddm, which uses qt5, is interfering with startplasma-wayland which is qt6 based.

I'll note that running '/opt/kf6/lib/libexec/plasma-dbus-run-session-if-needed /opt/kf6/bin/startplasma-wayland' from the command line works.

Leaving the ticket open for now.

Also, this is the entire content of /opt/kf6/lib/libexec/plasma-dbus-run-session-if-needed:

#!/bin/sh
# Usage: plasma-dbus-run-session-if-needed PROGRAM [ARGUMENTS]
# If the session bus is not available it is spawned and wrapper round our program
# Otherwise we spawn our program directly
drs=
if [ -z "${DBUS_SESSION_BUS_ADDRESS}" ]
then
    drs=dbus-run-session
fi
exec ${drs} "$@"

comment:5 by Bruce Dubbs, 5 weeks ago

Resolution: fixed
Status: assignedclosed

I'm going to close this ticket as fixed. sddm-0.21.0 has been in the book a while and generally works. The main part of the package does work in X11 as root, but the greeter runs as user sddm.

I did try to get it to run rootless, but it does not seem to work, at least for sysV. The sddm.conf man page mentions that setting DisplayServer=x11-user might need to use Xorg.wrap, but I think that is assuming Xorg is running suid. The way we are building xorg-server we are assuming that ownership is set after the user logs in using pam. That is not true for sddm.

If someone can get sddm to run in sysV as user sddm, then we need to open a separate ticket.

Note: See TracTickets for help on using tickets.