Review Request 118804: Register ksmserver as logind session leader
Elias Probst
mail at eliasprobst.eu
Thu Jun 19 12:01:35 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118804/
-----------------------------------------------------------
(Updated June 19, 2014, 12:01 p.m.)
Review request for Plasma.
Changes
-------
- Use .error().message() in qDebug output.
- Use the existing system bus (m_bus) instead of a new session bus, as org.freedesktop.login1 is a system service
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.
The journal of ksmserver shows this code is actually executed:
Jun 17 21:20:05 moria ksmserver[2961]: Failed to register as session leader: false
Is there something completely wrong the way I do it?
Diffs (updated)
-----
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/20140619/61a7218b/attachment.html>
More information about the Plasma-devel
mailing list