Review Request 118804: Register ksmserver as logind session leader

Elias Probst mail at eliasprobst.eu
Tue Jun 17 19:32:38 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118804/
-----------------------------------------------------------

Review request for Plasma.


Bugs: 335390
    https://bugs.kde.org/show_bug.cgi?id=335390


Repository: plasma-workspace


Description
-------

This is an initial (not yet working) attempt to fix bug#335390.

Right now, it seems not to call the TakeControl() D-Bus message as it doesn't show up in systemd-logind's debug output at all:

Jun 17 21:20:05 moria systemd-logind[2550]: Got message type=signal sender=org.freedesktop.DBus destination=n/a object=/org/freedesktop/DBus interface=org.freedesktop.DBus member=NameOwnerChanged cookie=18 reply_cookie=0 error=n/a
Jun 17 21:20:05 moria systemd-logind[2550]: Got message type=method_call sender=:1.141 destination=org.freedesktop.login1 object=/org/freedesktop/login1 interface=org.freedesktop.login1.Manager member=GetSessionByPID cookie=4 reply_cookie=0 error=n/a
Jun 17 21:20:05 moria systemd-logind[2550]: Sent message type=error sender=n/a destination=:1.141 object=n/a interface=n/a member=n/a cookie=343 reply_cookie=4 error=PID 4296 does not belong to any known session
Jun 17 21:20:05 moria systemd-logind[2550]: Failed to process message [type=method_call sender=:1.141 path=/org/freedesktop/login1 interface=org.freedesktop.login1.Manager member=GetSessionByPID signature=u]: PID 4296 does not belong to any known session

The GetSessionByPID() call after this shows up just fine, but the TakeControl() attempt is not even logged.
Is there something completely wrong the way I do it?


Diffs
-----

  ksmserver/screenlocker/logind.cpp dcfc7f321b3cf29ef68aac8006aa37f5e4e00956 

Diff: https://git.reviewboard.kde.org/r/118804/diff/


Testing
-------

- Copy /usr/lib/systemd/system/systemd-logind.service to /etc/systemd/system/systemd-logind.service
- Set "Environment=SYSTEMD_LOG_LEVEL=debug" in the [Service] section of /etc/systemd/system/systemd-logind.service
- Run "systemctl daemon-reload"
- Reboot (also possible without a reboot, but far more complicated and requires to terminate the X session anyways, so a reboot is the most straightforward solution)

To test
- apply patch + rebuild plasma-workspace
- kill ksmserver
- Run "journalctl -n 20 -f -u systemd-logind" to monitor logind
- Run "tail -f ~/.xsession-errors" or "journalctl --user -n 20 -f --user-unit ksmserver" (for systemd user-session users) to monitor ksmserver's output
- restart ksmserver


Thanks,

Elias Probst

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140617/1f94e0df/attachment.html>


More information about the Plasma-devel mailing list