diff --git a/libkworkspace/updatelaunchenvjob.cpp b/libkworkspace/updatelaunchenvjob.cpp --- a/libkworkspace/updatelaunchenvjob.cpp +++ b/libkworkspace/updatelaunchenvjob.cpp @@ -97,5 +97,15 @@ auto dbusActivationReply = QDBusConnection::sessionBus().asyncCall(dbusActivationMsg); d->monitorReply(dbusActivationReply); + + // _user_ systemd env + QDBusMessage systemdActivationMsg = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.systemd1"), + QStringLiteral("/org/freedesktop/systemd1"), + QStringLiteral("org.freedesktop.systemd1.Manager"),QStringLiteral("SetEnvironment")); + const QString updateString = d->varName + "=" + d->value; + systemdActivationMsg.setArguments({QVariant(QStringList{updateString})}); + + auto systemdActivationReply = QDBusConnection::sessionBus().asyncCall(dbusActivationMsg); + d->monitorReply(systemdActivationReply); }