← Back to team overview

desktop-packages team mailing list archive

[Bug 912186] [NEW] Connect to gnome-screensaver when needed instead of at startup

 

Public bug reported:

In current trunk and 3.2.x, the libpower plugin connects to gnome-
screensaver's D-BUS interface right at startup, and then saves the
GDBusProxy.

This causes gnome-screensaver to be dbus-activated very early during
session startup, which unnecessarily slows down boot speed. Usually g-s
gets started much later through an autostart .desktop file, which can be
further delayed with e. g. X-GNOME-Autostart-Delay=20 to keep it out of
the critical path during boot.

Also, the proxy object will be invalid if gnome-screensaver gets killed
or restarted in between g-s-d startup and the time when the power plugin
actually calls it in upower_notify_sleep_cb().

To fix both, it would be better to create the GDBusProxy object in
upower_notify_sleep_cb() instead of gsd_power_manager_start().

If gnome-screensaver fails to start, it will just fail as well at the
beginning, so in both cases the screen lock will just fail on sleep. In
the normal case, g-s is already running through the autostart desktop
file, so there is no additional delay for entering sleep mode.

** Affects: gnome-settings-daemon
     Importance: Low
         Status: New

** Affects: ubuntu-boot-speed
     Importance: Medium
     Assignee: Martin Pitt (pitti)
         Status: In Progress

** Affects: gnome-settings-daemon (Ubuntu)
     Importance: Medium
     Assignee: Martin Pitt (pitti)
         Status: In Progress

** Bug watch added: GNOME Bug Tracker #667345
   https://bugzilla.gnome.org/show_bug.cgi?id=667345

** Also affects: gnome-settings-daemon via
   https://bugzilla.gnome.org/show_bug.cgi?id=667345
   Importance: Unknown
       Status: Unknown

** Also affects: ubuntu-boot-speed
   Importance: Undecided
       Status: New

** Changed in: gnome-settings-daemon (Ubuntu)
       Status: New => In Progress

** Changed in: gnome-settings-daemon (Ubuntu)
   Importance: Undecided => Medium

** Changed in: gnome-settings-daemon (Ubuntu)
     Assignee: (unassigned) => Martin Pitt (pitti)

** Changed in: ubuntu-boot-speed
       Status: New => In Progress

** Changed in: ubuntu-boot-speed
   Importance: Undecided => Medium

** Changed in: ubuntu-boot-speed
     Assignee: (unassigned) => Martin Pitt (pitti)

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-settings-daemon in Ubuntu.
https://bugs.launchpad.net/bugs/912186

Title:
  Connect to gnome-screensaver when needed instead of at startup

Status in Gnome Settings Daemon:
  New
Status in The Ubuntu Boot Speed Project:
  In Progress
Status in “gnome-settings-daemon” package in Ubuntu:
  In Progress

Bug description:
  In current trunk and 3.2.x, the libpower plugin connects to gnome-
  screensaver's D-BUS interface right at startup, and then saves the
  GDBusProxy.

  This causes gnome-screensaver to be dbus-activated very early during
  session startup, which unnecessarily slows down boot speed. Usually
  g-s gets started much later through an autostart .desktop file, which
  can be further delayed with e. g. X-GNOME-Autostart-Delay=20 to keep
  it out of the critical path during boot.

  Also, the proxy object will be invalid if gnome-screensaver gets
  killed or restarted in between g-s-d startup and the time when the
  power plugin actually calls it in upower_notify_sleep_cb().

  To fix both, it would be better to create the GDBusProxy object in
  upower_notify_sleep_cb() instead of gsd_power_manager_start().

  If gnome-screensaver fails to start, it will just fail as well at the
  beginning, so in both cases the screen lock will just fail on sleep.
  In the normal case, g-s is already running through the autostart
  desktop file, so there is no additional delay for entering sleep mode.

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-settings-daemon/+bug/912186/+subscriptions


Follow ups

References