Debian stretch is out, a lot of obsolete packages, a lot of major upgrades, which all in all resulted in quite a painful transition the last few days. But I’ll tell you more about that in the following posts.
I don’t really spend much time on Linux nowadays so KDE (along with KDM) has always been my goto solution for a jack all trade no-BS works-out-of-the-box desktop environment. And it worked like that just fine, until… well you know how software goes. KDE has been upgraded, KDM has been depreciated and replaced with SDDM.
I also use xsession
so that I have a common way of starting session scripts and daemons (such as this one) and configuring stuff across different desktops. I generally selected custom session in the display manager and that was it. But SDDM does not seem to provide a way to do so, or at least that’s not so clear.
By default, it will execute /etc/sddm/xsession
which itself sources /etc/X11/Xsession
to which it will pass as argument the value of the Exec line in the desktop file (located in /usr/share/xsessions
) describing the currently selected session.
If we want to bypass this, we need to scrap the argument passed to /etc/X11/Xsession
no matter what SDDM thinks the current session should be. To do so create a wrapper for Xsession in /etc/X11/user-Xsession
:
#!/bin/sh export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin # Discard argument, we don't care about selecting the desktop environment. /etc/X11/Xsession
And now configure SDDM to use this instead of its own version of it, in /etc/sddm.conf
:
[X11] SessionCommand=/etc/X11/user-Xsession
Or in systemsettings5 > Startup and Shutdown > Login Screen (SDDM) > Advanced, choose Auto login and Session (if applicable, e.g. for a fully encrypted single-user installation or similar).