Specification for org.freedesktop.DisplayManager DBus API?

Mathieu Parent math.parent at gmail.com
Sat Mar 14 04:51:27 PDT 2015


It seems that Robert's email didn't reach the archives. I'm forwarding it below.

2015-03-12 5:13 GMT+01:00 Robert Ancell <robert.ancell at canonical.com>:
> Note I have removed the systemd-devel list from this so we're not
> cross-posting. I think the XDG list is the right place to discuss this
> though of course the input of the systemd developers would be very
> useful.
> As the LightDM maintainer I support any moves to get a common API across DMs.
> As pointed out, logind has an effective API that has some duplication
> with the current org.freedesktop.DisplayManager API. So I think if we
> want to make a common API we should simplify what we currently have.
> In particular I'd drop the Session / Seat object in
> org.freedesktop.DisplayManager and rely on using the
> org.freedesktop.login1 versions instead. For systems that don't use
> logind you would be limited to single seat for the display manager.
> The main cases that I have seen which aren't currently provided by logind are:
> 1. Switching to the login screen to choose a new session
> 2. Switching to a guest / temporary account
> I think 1. has to be performed by the Display Manager since logind has
> no method of forwarding that request easily unless it gains the
> concept of a special "greeter" session.
> 2. would be nice if it was handled by logind but this would take quite
> some work.
> The minimal API that comes to mind is:
> Boolean org.freedesktop.DisplayManager1.CanSwitchToGuest
> org.freedesktop.DisplayManager1.SwitchToGreeter(Object Path seat_id)
> org.freedesktop.DisplayManager1.SwitchToGuest(Object Path seat_id,
> String session-name)
> I think we're OK in the Wayland/Mir/post-X world as none of these APIs
> should have any detail at this level. We may have issues should
> someone want to make a Display Manager with radically different
> behaviour but I think that can be resolved should that ever occur.
> --Robert
> On Wed, Mar 11, 2015 at 2:40 AM, Mathieu Parent <math.parent at gmail.com> wrote:
>> (Note 1: please CC me)
>> (Note 2: I have CC-ed two contacts from gnome-shell, one from gdm, one
>> from lightdm, and the system-logind ML)
>> Hello,
>> There are currently several ways to ask the DM to switch to the login screen:
>> - gdm3 uses org.gnome.DisplayManager.LocalDisplayFactory CreateTransientDisplay
>> - lightdm uses org.freedesktop.DisplayManager SwitchToGreeter
>> - old gdm, and kdm seems to use a socket without DBus
>> - ...
>> I am not involved in those projects, but I recently needed to switch
>> to LightDM to have guest sessions, while keeping gnome-shell
>> ([debian-guest-sessions]). gnome-shell send a CreateTransientDisplay
>> when "Switch user", without any effect.
>> I proposed a patch to gnome-shell [gnome-shell-SwitchToGreeter], which
>> currently waiting for an implementation in gdm [gdm-SwitchToGreeter]
>> and a written specification.
>> This mail is to start a discussion about this DisplayManager specification.
>> The current DBus interfaces used by lightDM seems to be a good staring
>> point [lightDM-API], but some of its API may overlap with logind.
>> Also, how can this work in the Wayland world?
>> What is the way forward to have the same API in all DM?
>> Refs:
>> [debian-guest-sessions]:
>> http://anonscm.debian.org/cgit/users/sathieu/guest-sessions.git/tree/
>> [gnome-shell-SwitchToGreeter]: https://bugzilla.gnome.org/show_bug.cgi?id=745940
>> [gdm-SwitchToGreeter]: https://bugzilla.gnome.org/show_bug.cgi?id=745938
>> [lightDM-API]: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/vivid/lightdm/vivid/view/head:/src/lightdm.c#L784
>> Regards
>> --
>> Mathieu Parent

More information about the xdg mailing list