Re: [gdm-list] Making the greeter interface accessible from outside



Hi,

> You need a dynamic bus name, because you can have multiple slaves at
> the same time.
> I thought of SeatId because session applications have XDG_SEAT in the
> environment, and because a slave conceptually maps to one login, or
> seat.
a slave does match to one login, but it doesn't match to one seat. a seat can
have multiple logins.  DBus really isn't made for dynamic bus names, anyway.

I think a better approach is to talk to the gdm-binary process.  I
believe it already
owns the well known name org.gnome.DisplayManager.  3 ways I can think of:

1) It could have a method like GetSlaveBusName(String session_id) that
would return the unique name of the appropriate
slave.
2) GetSlaveBusName() with now parameter, and instead gdm-binary would
then figure out the session id of the caller automatically,
and return the unique name of the appropriate slave.
3) Put the entire applicable interface (i guess it's just one method,
OpenConversation?) on org.gnome.DisplayManager, and it could
forward the request to the appropriate slave implicity under the hood.

I think 3 is the nicest from an API point of view.

> I think we want to keep org.gnome.DisplayManager for now. If any, it
> helps with gdbus-codegen to have one prefix for all interfaces.
sure.

> Ok. It shouldn't be difficult to add it on top of the existing
> interface (if a libgcr dependency is ok for gdm)
Should be fine.  Anyway this part is somewhat orthogonal to the rest
of the work.

--Ray


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]