diff --git a/libkworkspace/updatelaunchenvjob.cpp b/libkworkspace/updatelaunchenvjob.cpp --- a/libkworkspace/updatelaunchenvjob.cpp +++ b/libkworkspace/updatelaunchenvjob.cpp @@ -98,5 +98,16 @@ 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 + QStringLiteral("=") + d->value; + systemdActivationMsg.setArguments({QVariant(QStringList{updateString})}); + + auto systemdActivationReply = QDBusConnection::sessionBus().asyncCall(systemdActivationMsg); + d->monitorReply(systemdActivationReply); }