GNOME Bugzilla – Bug 745762
Screen blanking stopped working
Last modified: 2015-03-09 15:11:08 UTC
mutter and gnome-shell 3.15.91 Running: gdbus call --session --dest org.gnome.Mutter.DisplayConfig --object-path /org/gnome/Mutter/DisplayConfig --method org.freedesktop.DBus.Properties.Set org.gnome.Mutter.DisplayConfig PowerSaveMode '<3>' will blank the screen, and bring it back to life straight away.
OK, this wasn't a good example as: sleep 2 ; gdbus call --session --dest org.gnome.Mutter.DisplayConfig --object-path /org/gnome/Mutter/DisplayConfig --method org.freedesktop.DBus.Properties.Set org.gnome.Mutter.DisplayConfig PowerSaveMode '<3>' works. gnome-settings-daemon doesn't seem to be calling for mutter to blank the screen when doing Win+L.
$ gdbus introspect --session --dest org.gnome.SessionManager --object-path /org/gnome/SessionManager | grep IsActive readonly b SessionIsActive = false; That's why gnome-settings-daemon isn't poking at the screen.
$ loginctl SESSION UID USER SEAT 1 1000 hadess seat0 c1 42 gdm seat0 2 sessions listed. $ loginctl show-session 1 | grep -i active Active=yes State=active
Created attachment 298753 [details] [review] Fix SessionIsActive property GsmSystemd emits its cold-plug notify::active signal out of init(), giving GsmManager no chance to connect its signal handler in time to catch the initial emission. And even if we did, the GsmManager handler can only operate once the skeleton object exists. Therefore, do our own cold-plug after creating the skeleton. This is fallout from the GDBus port.
Comment on attachment 298753 [details] [review] Fix SessionIsActive property Tested and works for me.
Attachment 298753 [details] pushed as cf40833 - Fix SessionIsActive property
Created attachment 298894 [details] [review] manager: don't connect to systemd until exported on bus We now properly resync our active state after being exported over the bus, but we still have a signal connection set up prematurely. If it did get called, it would lead to scary messages on the console. This commit moves the signal connection down to the same place we test our active state at startup.
Attachment 298894 [details] pushed as cd84c50 - manager: don't connect to systemd until exported on bus