Bug 11786 - consolekit needs to record and return to static gdm session vt
Summary: consolekit needs to record and return to static gdm session vt
Status: RESOLVED WONTFIX
Alias: None
Product: ConsoleKit
Classification: Unclassified
Component: Daemon (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: william.jon.mccann
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-31 11:56 UTC by Ian Jackson
Modified: 2008-02-25 16:25 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
patch to consolekit 0.2.1 to service SetX11ParkingPlace (7.72 KB, patch)
2007-07-31 12:02 UTC, Ian Jackson
Details | Splinter Review
patch to gdm 2.19.4 to request SetX11ParkingPlace (3.53 KB, patch)
2007-07-31 12:02 UTC, Ian Jackson
Details | Splinter Review
updated patch version (7.83 KB, patch)
2007-12-12 08:24 UTC, Sebastien Bacher
Details | Splinter Review

Description Ian Jackson 2007-07-31 11:56:18 UTC
If using consolekit 0.2.1 with gdm 2.19.4 (in my case, consolekit 0.2.1-1 from Debian sid recompiled on Ubuntu gutsy and gdm 2.19.4-0ubuntu3), I observed the following behaviour:

To reproduce:
 1. Start up and log in as user A
 2. Request to switch to user B and log in (this will start a gdm flexiserver for B)
 3. Request to switch to user A, so as to return to A's session
 4. In A's session, log out.  The system will correctly switch to B (prompting for B's password)
 5. In B's session, log out.  Now the system fails to switch back to the gdm static login screen where A's session was running.

In some installations it is necessary to do this:
 1. Log in as A
 2. Switch to B
 3. Switch to C
 4. Switch to A and log out
 5. Switch to B and log out
 6. Switch to C and log out

This is because the static server doesn't count as a session for consolekit, the static server is not guaranteed to always be on the same VT, and X servers normally tend to return to the VT they were invoked on, when they are shut down.

The fix is to have consolekit know which VT contains the main static gdm greeter.  Then if it can't find a session to make current, it can switch to the greeter.

The patches I will shortly attach to this bug report implement this behaviour with a new dbus message SetX11ParkingPlace.
Comment 1 Ian Jackson 2007-07-31 12:02:06 UTC
Created attachment 10929 [details] [review]
patch to consolekit 0.2.1 to service SetX11ParkingPlace
Comment 2 Ian Jackson 2007-07-31 12:02:39 UTC
Created attachment 10930 [details] [review]
patch to gdm 2.19.4 to request SetX11ParkingPlace
Comment 3 Danny Kukawka 2007-08-06 05:15:41 UTC
This is not a HAL bug!
Comment 4 Danny Kukawka 2007-08-06 05:16:41 UTC
@William: could you may request a ConsoleKit product in bugzilla?
Comment 5 william.jon.mccann 2007-08-06 05:25:51 UTC
Danny, yeah we probably should create one.  Do you happen to know how to do that?
Comment 6 Sebastien Bacher 2007-12-12 08:24:09 UTC
Created attachment 13063 [details] [review]
updated patch version

The ubuntu package has been updated using this version
Comment 7 william.jon.mccann 2008-02-25 16:25:53 UTC
Thanks for the patch.  We've solved this in a different way for the new GDM.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.