GNOME Bugzilla – Bug 696274
checks for systemd, not for logind
Last modified: 2013-04-21 22:07:37 UTC
gnome-system-monitor mostly talks to logind, but actually checks for systemd with sd_booted(). It is possible to build systemd without logind, in which case sd_booted() would still succeed(), but the various sd_pid_get_* would fail. For running systemd init without logind, or for running logind without systemd init we need to change the check to test for logind. For details, see [1] if you are interested. [1] https://mail.gnome.org/archives/desktop-devel-list/2013-March/msg00092.html
Created attachment 239453 [details] [review] Check for logind, not for systemd
Hi Martin, are you sure this is correct? E.g. [1] uses sd_pid_get_unit() which doesn't make sense when pid 1 != systemd [1] https://git.gnome.org/browse/gnome-system-monitor/tree/src/proctable.cpp#n712
Right, I noticed that as well (see my comment in https://mail.gnome.org/archives/desktop-devel-list/2013-March/msg00095.html), but it's fine. With logind and no systemd, sd_pid_get_unit() returns NULL as the unit, and the column in session-monitor just stays empty. It still displays the seat and session name, though, i. e. the other information from logind.
Created attachment 239458 [details] [review] Check for logind, not for systemd Same patch, but less confusing changelog.
I landed similar patches for gdm (bug 696266), gnome-session (bug 696262), gnome-shell (bug 696252) and gnome-screensaver (bug 696264) now, for 3.8.1. Can we push this one as well? Then GNOME 3.8.1 would be completely fixed for systemd without logind, or logind without systemd. Thanks!
Review of attachment 239458 [details] [review]: Committed to trunk.
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.