Hi Alberts,

One example of a real problem is 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1040917.

https://manpages.ubuntu.com/manpages/impish/man5/org.freedesktop.login1.5.html 
also seems pretty clear to me: 

> *GetSessionByPID()* and *GetUserByPID()* get the session/user object the 
> specified PID belongs to if there is any.

In other words, if this DBus request fails then the specified PID is not part 
of any logind session.

Does that help?

Best,
-Nikolaus



On Mon, 17 Jul 2023, at 21:48, Alberts Muktupāvels wrote:
> Hi,
> 
> I just logged into the Ubuntu GNOME x11 session. The XDG_SESSION_ID 
> environment variable is not set there either. Also GetSessionByPID for 
> gnome-shell returns the same error at least for me.
> 
> Sorry but you will have to link to relevant documentation if you think that 
> there are real problems. Also I don't think there is much I can do from 
> gnome-flashback to change anything...
> 
> 
> On Mon, Jul 17, 2023 at 11:15 PM Nikolaus Rath <nikol...@rath.org> wrote:
>> __
>> Hi Alberts,
>> 
>> I believe that way you can get *a session id*. However, the fact that the 
>> dbus query returns an error means that the various X11 processes (those 
>> started by gnome-session as well as those started by the user) are actually 
>> not part of that session (or any session, for that matter).
>> 
>> It's not a matter of determining the session id (even though I first thought 
>> that), the problem is that the entire gnome flashback session is not 
>> associated with a logind session.
>> 
>> Best,
>> -Nikolaus
>> 
>> On Mon, 17 Jul 2023, at 21:02, Alberts Muktupāvels wrote:
>>> Can not you get session id from logind manager using 
>>> /org/freedesktop/login1/session/auto path?
>>> 
>>> dbus-send --system --print-reply --dest=org.freedesktop.login1 
>>> /org/freedesktop/login1/session/auto org.freedesktop.DBus.Properties.Get 
>>> string:org.freedesktop.login1.Session string:Id
>>> 
>>> On Sun, Jul 16, 2023 at 2:27 PM Nikolaus Rath <nikol...@rath.org> wrote:
>>>> retitle 1040920 "Gnome flashback breaks out of logind session"
>>>> thanks
>>>> 
>>>> Upon closer examination, the problem is not that GNome flashback unsets 
>>>> XDG_SESSION_ID, but that it breaks out of the active logind session (so 
>>>> unsetting the variable is, in some way, correct).
>>>> 
>>>> In other desktop environments (vanilla i3 as well as regular Gnome), the 
>>>> desktop environment is correctly associated with a logind session:
>>>> 
>>>> nikratio@vostro ~> dbus-send --system --print-reply 
>>>> --dest=org.freedesktop.login1 /org/freedesktop/login1 
>>>> org.freedesktop.login1.Manager.GetSessionByPID uint32:$fish_pid
>>>> method return time=1689506142.664977 sender=:1.6 -> destination=:1.1126 
>>>> serial=2461 reply_serial=2
>>>>    object path "/org/freedesktop/login1/session/_342"
>>>> 
>>>> When running Gnome Flashback, however:
>>>> 
>>>> ikratio@vostro ~> dbus-send --system --print-reply 
>>>> --dest=org.freedesktop.login1 /org/freedesktop/login1 
>>>> org.freedesktop.login1.Manager.GetSessionByPID uint32:$fish_pid
>>>> Error org.freedesktop.login1.NoSessionForPID: PID 858156 does not belong 
>>>> to any known session
>>>> 
>>>> 
>>>> I don't think this is intentional.. or is it?
>>>> 
>>>> Best,
>>>> -Nikolaus
>>> 
>>> 
>>> --
>>> Alberts Muktupāvels
>> 
> 
> 
> --
> Alberts Muktupāvels

Reply via email to