https://bugs.kde.org/show_bug.cgi?id=522181

            Bug ID: 522181
           Summary: plasmalogin 6.7 ignores /etc/plasmalogin.conf snippets
                    that worked correctly in earlier versions
    Classification: Plasma
           Product: plasma-login-manager
      Version First 6.7.1
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
  Target Milestone: ---

SUMMARY:
plasmalogin does not re-read configuration changes (Session=) on a
normal logout/autologin relogin cycle -- requires a full service
restart or system reboot to take effect.

PRODUCT: plasma-login-manager
COMPONENT: general
VERSION: 6.7.1

DESCRIPTION:
plasmalogin caches its configuration in memory at process startup.
When using Autologin with Relogin=true, changing the Session= value
in either /etc/plasmalogin.conf or a snippet under
/etc/plasmalogin.conf.d/*.conf and then triggering a normal logout
does NOT apply the new session on the automatic relogin -- it keeps
using the old, already-cached value.

The Arch Wiki documents "log out or reboot to verify the changes"
as equivalent options:
https://wiki.archlinux.org/title/Plasma_Login_Manager
In practice, only a full `systemctl restart plasmalogin.service`
(or a complete system reboot) actually picks up the change. A plain
logout/relogin cycle does not, contradicting the documented
behaviour.

This was tested independently against BOTH supported configuration
methods, to rule out the config file location as the cause. The bug
is identical in both cases.

TEST CASE A -- using the official default file, /etc/plasmalogin.conf:
1. Set up autologin with Relogin=true and an initial Session=X
   directly in /etc/plasmalogin.conf (e.g. plasma.desktop)
2. Confirm the system boots correctly into session X
3. While logged in, change Session=Y in /etc/plasmalogin.conf
   (e.g. to a different wayland-sessions .desktop entry)
4. Verify with `cat /etc/plasmalogin.conf` that the file on disk
   now correctly shows Session=Y
5. Trigger a normal logout (e.g. via D-Bus
   org.kde.Shutdown.logout, or the logout button)

OBSERVED RESULT (Test Case A):
plasmalogin re-logs in to the OLD session X, not the newly
configured session Y, despite /etc/plasmalogin.conf -- the official,
documented configuration file -- being correctly updated on disk.

TEST CASE B -- using a drop-in snippet under /etc/plasmalogin.conf.d/:
Same steps as Test Case A, but the Session= change is made in a
snippet file under /etc/plasmalogin.conf.d/*.conf instead of editing
/etc/plasmalogin.conf directly.

OBSERVED RESULT (Test Case B):
Identical to Test Case A -- plasmalogin re-logs in to the old
session, ignoring the updated value, even though the snippet is
read correctly by plasmalogin at the next full process start.

EXPECTED RESULT:
Per Arch Wiki documentation, logging out should be sufficient to
apply the new Session= value, equivalent to a full reboot. This
holds true for neither configuration method.

WORKAROUND:
Running `systemctl restart plasmalogin.service` (a full process
restart, not just a logout) after changing the config file
correctly applies the new session on the next login, in BOTH test
cases. This confirms the config file location/method is not the
root cause; the actual issue is the in-memory config cache not
being invalidated on a normal relogin.

ENVIRONMENT:
- plasma-login-manager 6.7.1-1
- CachyOS / Arch Linux (also reproduced previously on Fedora 44)
- Discovered while debugging gamescope-session autologin switching
  (CachyOS's gamescope-session-cachyos scripts, used to switch
  between a Gamescope/Steam session and a Plasma desktop session)
- Confirmed as a regression-independent caching issue: downgrading
  plasma-login-manager to an earlier version exhibits the exact
  same behaviour -- the config file location (conf.d vs main file)
  does not affect the outcome on either version; only a service
  restart does.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to