plasma-workspace: fix systemd unit detection

Our units are links in systemd unit directory, which reports state `linked` or
`linked-runtime`. This fixes systemdBoot config and the option
`services.xserver.desktopManager.plasma5.runUsingSystemd` for plasma 5.23.
This commit is contained in:
oxalica 2021-11-01 04:16:26 +08:00 committed by Peter Hoeg
parent 0f57c4b952
commit 3572d2f04f
2 changed files with 18 additions and 0 deletions

View file

@ -0,0 +1,17 @@
diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
index a17967b47..6e6141b48 100644
--- a/startkde/startplasma.cpp
+++ b/startkde/startplasma.cpp
@@ -431,7 +431,11 @@ bool hasSystemdService(const QString &serviceName)
QStringLiteral("/org/freedesktop/systemd1"),
QStringLiteral("org.freedesktop.systemd1.Manager"),
QStringLiteral("ListUnitFilesByPatterns"));
- msg << QStringList({QStringLiteral("enabled"), QStringLiteral("static")}) << QStringList({serviceName});
+ msg << QStringList({QStringLiteral("enabled"),
+ QStringLiteral("static"),
+ QStringLiteral("linked"),
+ QStringLiteral("linked-runtime")});
+ msg << QStringList({serviceName});
QDBusReply<QList<QPair<QString, QString>>> reply = QDBusConnection::sessionBus().call(msg);
if (!reply.isValid()) {
return false;

View file

@ -52,6 +52,7 @@ mkDerivation {
patches = [
./0001-startkde.patch
./0002-absolute-wallpaper-install-dir.patch
./0003-startkde-unit-detection.patch
# Included in 5.23.2
(fetchpatch {
name = "ignore-placeholder-screens";