Difference between revisions of "User:Eliasp/Drafts/Plasma Workspace as systemd user-session"

Line 11: Line 11:
 
* Increased security
 
* Increased security
 
* Greatly improved logging by using systemd's [http://www.freedesktop.org/software/systemd/man/systemd-journald.service.html journald] - goodbye horrible piece of log-target called ''~/.xsession-errors''
 
* Greatly improved logging by using systemd's [http://www.freedesktop.org/software/systemd/man/systemd-journald.service.html 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 [http://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/ cgroup control interface]
+
* Better control over system resources/process priorities (e.g. ensure GUI elements are always responsive) via systemd's builtin [http://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/ cgroup control interface]
  
 
== Resources ==
 
== Resources ==

Revision as of 05:31, 18 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/process priorities (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.


This page was last edited on 18 June 2014, at 05:31. Content is available under Creative Commons License SA 4.0 unless otherwise noted.