User:Eliasp/Drafts/Plasma Workspace as systemd user-session: Difference between revisions
No edit summary |
|||
Line 24: | Line 24: | ||
* tries to start a WM in [http://quickgit.kde.org/?p=plasma-workspace.git&a=blob&f=ksmserver%2Fstartup.cpp ksmserver/startup.cpp → launchWM] which should be left to systemd | * tries to start a WM in [http://quickgit.kde.org/?p=plasma-workspace.git&a=blob&f=ksmserver%2Fstartup.cpp ksmserver/startup.cpp → launchWM] which should be left to systemd | ||
* doesn't register itself as session leader via systemd-logind which breaks a lot of session related functionality. Documented in [https://bugs.kde.org/show_bug.cgi?id=335390 bug#335390] | * doesn't register itself as session leader via systemd-logind which breaks a lot of session related functionality. Documented in [https://bugs.kde.org/show_bug.cgi?id=335390 bug#335390] | ||
=== ksplashqml === | |||
Relies on a serial startup of the components, but isn't able to deal with a parallelized startup. | |||
If the final result is a really fast startup, a splash screen might be not needed anymore. | |||
If the startup still takes "enough" time to show a splash screen, ksplashqml needs to be reworked to be able to deal with a parallelized startup. |
Revision as of 12:13, 17 June 2014
Plasma Workspace as systemd user-session
Ultimate Goal
The ultimate goal of this project is, to make use of systemd's support for user-sessions wherever possible for running a Plasma Workspace. This support is to be implemented in a way which doesn't get in the way of legacy/cross-platform support, so running a Plasma Workspace without a systemd user-session underneath will still be possible.
What are the benefits?
- Parallelized and faster startup of the Plasma Workspace after login
- More finegrained control over running services
- Increased stability by eliminating existing hacks in startkde, ksmserver, kdeinit, …
- Cleaner definition of dependencies between Plasma Workspace components
- Increased security
- Greatly improved logging by using systemd's journald - goodbye horrible piece of log-target called ~/.xsession-errors
- Better control over system resources (e.g. ensure GUI elements are always responsive) via systemd's builtin cgroup control interface
Resources
user-session units for Plasma Workspace
I created some initial user-session units for Plasma Workspace which can be found on GitHub.
Unsorted items
This is a collection of items, notes and other things which need to be taken care of. They need to be investigated and properly documented.
ksmserver
ksmserver does a lot of ugly (from systemd's perspective) things which need to be evaluated:
- tries to start a WM in ksmserver/startup.cpp → launchWM which should be left to systemd
- doesn't register itself as session leader via systemd-logind which breaks a lot of session related functionality. Documented in bug#335390
ksplashqml
Relies on a serial startup of the components, but isn't able to deal with a parallelized startup. If the final result is a really fast startup, a splash screen might be not needed anymore. If the startup still takes "enough" time to show a splash screen, ksplashqml needs to be reworked to be able to deal with a parallelized startup.