Enforce SESSION_MANAGER is exported before plasmashell is started

Wants says we should bring ksmserver up, but by default that could be in
any order, we need to define it. kcminit also potentially exports
environment variables.

This was written with the correct order in-mind but the wrong keyword
used.  We don't need "Wants" as plasma-core.target already defines that
we will be loading them along with plasmashell.

It is important that ksmserver is up and has completed exporting the
SESSION_MANAGER env, otherwise plasmashell will not propogate it so
applications it launches introducing an X session regression
wilder-5.22
David Edmundson 5 years ago
parent 83f9c9c45b
commit 19ba5f1cf3
  1. 2
      ksmserver/server.cpp
  2. 2
      shell/plasma-plasmashell.service.in

@ -582,7 +582,7 @@ KSMServer::KSMServer(InitFlags flags)
setenv("SESSION_MANAGER", session_manager, true);
auto updateEnvJob = new UpdateLaunchEnvJob(QStringLiteral("SESSION_MANAGER"), QString::fromLatin1(session_manager));
updateEnvJob->start();
updateEnvJob->exec();
free(session_manager);
}

@ -1,6 +1,6 @@
[Unit]
Description=KDE Plasma Workspace
Wants=plasma-ksmserver.service plasma-kcminit.service
After=plasma-ksmserver.service plasma-kcminit.service
PartOf=graphical-session.target
[Service]

Loading…
Cancel
Save