When I run gdmflexiserver from gnome-terminal on Solaris, it fails and shows me error. "Unable to determine session: Unable to lookup information about calling process 110051" Root cause is envrionment variable "XDG_SESSION_COOKIE" of my bash process is lost due to using custom ~/.bashrc. That results in ConsoleKit unable to return correct session id from "org.freedesktop.ConsoleKit.Manager.GetCurrentSession"
Created attachment 16426 [details] [review] A possible fix Check"XDG_SESSION_COOKIE" in not only current process but also its parent process .
Hi, Do you have a comment on this issue and the proposed patch? It would seem as though this would also allow policykit-using tools to work under sudo, which there have been bug reports about in Ubuntu, e.g. https://bugs.launchpad.net/bugs/210897. Thanks, James
Check with the Ubuntu bug, it guess it is similar with the following case in Solaris: $su - <input your root password> #env|grep XDG #gdmflexiserver If we use "su" instead of "su -" in upper case, the XDG_SESSION_COOKIE is retained. So gdmflexiserver can start without error. If you have unset XDG_SESSION_COOKIE in your ~/.bashrc explicitly, that is user mistake. I'd say this is not a bug.
The thing is, in the gdmflexiserver case and the su case, they really are separate sessions, so piggy backing off the other parent session isn't right. Right now ConsoleKit doesn't have great support for nested sessions, but that's really what we need I think.
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.