Baloo is started manually in the following places with QProcess::startDetached - balooctl - qml monitor bindings - kcm (plasma-desktop) This is problematic as it skips all features systemctl --user kde-baloo.service provides. I strongly suspect this is how we end up with services not cleaned up properly. This all needs porting to systemd startUnit/stopUnit with QProcess as a fallback for legacy support. relevant code will be: ``` auto msg = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.systemd1"), QStringLiteral("/org/freedesktop/systemd1"), QStringLiteral("org.freedesktop.systemd1.Manager"), QStringLiteral("StartUnit")); msg << "kde-baloo.service" << QStringLiteral("fail"); auto msg = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.systemd1"), QStringLiteral("/org/freedesktop/systemd1"), QStringLiteral("org.freedesktop.systemd1.Manager"), QStringLiteral("StopUnit")); msg << QStringLiteral("kde-baloo.service") << QStringLiteral("fail"); QDBusConnection::sessionBus().call(msg); ```
This would be good...
Maybe also bundle up Bug 419708 in the change ... ... it seems strange to have to "balooctl enable" twice to get it to work.
(In reply to David Edmundson from comment #0) > Baloo is started manually in the following places with > QProcess::startDetached > - balooctl > - qml monitor bindings > - kcm (plasma-desktop) > > This is problematic as it skips all features systemctl --user > kde-baloo.service provides. I think the workaround is # Make sure baloo thinks it should be running. % balooctl6 enable # Stop the baloo systemd unit. % systemctl --user stop kde-baloo # Make sure baloo's processes (baloo_file and baloo_file_extractor) are actually killed. % pkill --echo baloo_file # Restart the baloo systemd.unit % systemctl --user start kde-baloo