This brings numerous advantages such as:
- easier admin configuration with drop-ins, overrides and multiple hooks throughout (and only having to learn one tool)
- session cleanup on exit, avoiding that occasional part where shutdown hangs
- startup that actually knows when things are up
- race free autostart and DBus activation at once
- logs that rotate are split by service and usable
- resource management through slices and cgroups (the part I want)
Over the past 2 years I've been trying to tidy up and encapsulate the
relevant parts of startup into the binary plasma-session so that we can
just runtime swap out that one part and supporting both paths will be
easy.
Support is toggleable via cmake flag, as it seems like it should be a
distro decision, especially as we will require a specific systemd with
the xdg-generator.
KDED/kwin/other services are attached to the relevant repo.
It is WIP as:
- it requires unmerged generator for regular autostart files
- There are outstanding tasks, see below
Task T11914
Uploaded to get more people on board and also because merging master
into a feature branch is becoming really annoying.
Given it's cmake guarded, I'm also up for merging before completion if
others are happy?