unity8-greeter-wrapper needs a re-org to not use dbus-launch

Bug #1325882 reported by Oliver Grawert
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity8 (Ubuntu)
Fix Released
Undecided
Michał Sawicz

Bug Description

usually we only fire up session dbus-daemon processes via upstart on the phone.
the split greeter now ships with a dependency on dbus-x11 which ships dbus-launch.
by making a call to gdbus when setting the PA_DISABLED variable in the wrapper script while there is not yet a session dbus running (since the session init for lightdm did not run yet) gdbus will make a call to dbus-launch to spawn a session bus.

the script must be re-ordered so that either the dbus call happens after init has run or the PA_DISABLED var needs to be set immediately when spawning init --user.

we need to drop dbus-x11 to not pull in various X11 libs that we do not want on Mir based systems.

referring to unity8-greeter-wrapper from https://code.launchpad.net/~mterry/unity8/split/+merge/213149 line 120 to 136

Related branches

Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
assignee: nobody → Michał Sawicz (saviq)
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 7.87+14.10.20140603.1-0ubuntu1

---------------
unity8 (7.87+14.10.20140603.1-0ubuntu1) utopic; urgency=low

  [ CI bot ]
  * Resync trunk

  [ Michał Sawicz ]
  * Move env setup past session init in greeter wrapper. (LP: #1325882)
 -- Ubuntu daily release <email address hidden> Tue, 03 Jun 2014 10:33:11 +0000

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Michael Terry (mterry) wrote :

Just for clarity on the architecture here and what was happening:

This is the greeter command line: /usr/lib/lightdm/lightdm-greeter-session /usr/bin/unity8-greeter-wrapper /usr/bin/unity8-greeter

lightdm-greeter-session is a standard wrapper for greeters, used in the Desktop images too. This is what actually calls dbus-launch, if available.

unity8-greeter-wrapper depends on dbus-x11, so that dbus-launch is available in the above script, so that we can assume we are already inside a working dbus session. This is why the gdbus calls etc are no problem here.

unity8-greeter is of course the actual executable.

So there is no problem with unity8-greeter-wrapper and dbus. The reason we were seeing double dbus-daemon in the user session was because of another LightDM wrapper, /usr/sbin/lightdm-session, which is used only for user sessions. This assumes X11 and manually calls the scripts in /etc/X11/Xsession.d/ which when dbus-x11 is installed, also launches its own dbus-daemon (in addition to the one that the user's dbus upstart job does).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.