[Xfce4-commits] <xfce4-session:master> Reuse existing ConsoleKit sessions (bug #6685).

Yves-Alexis Perez corsac at debian.org
Mon Sep 20 08:17:47 CEST 2010


On dim., 2010-09-19 at 23:17 +0200, Jannis Pohlmann wrote:
> On Sun, 19 Sep 2010 15:03:38 +0200
> Enrico Tröger <enrico at xfce.org> wrote:
> 
> > On Sun, 19 Sep 2010 14:15:19 +0200, Yves-Alexis wrote:
> > 
> > 
> > >> Since ages, I start Xfce after logging into a console with
> > >> 'startxfce4' and except the Policykit/Consolekit mess, it
> > >> always worked perfectly.
> > >
> > >Which is doomed to fail, because startxfce4 has no way (and
> > >shouldn't, anyway) to know everything to start. In Debian, we
> > >use /etc/X11/Xsession.d for that, where the stuff you install put
> > >scripts to be run when the session is run.
> > 
> > Ok, I realise we are not supposed to use startxfce4 anymore. Sad but
> > ok.
> 
> If Yves-Alexis is right then you are not supposed to call startxfce4
> yourself anymore but it still can be used in your .xsession.

Yes :)
> 
> I'm not 100% sure here but this is what I think about the situation:
> 
> Before ConsoleKit, there was no "real" concept of sessions in the
> desktop world. There was communication between processes via ICE and of
> course there was basic session management based on X11 (a desktop
> environment may only run as long as the X server is up for instance) and
> in Xfce we had a dedicated D-Bus API for handling session management in
> client applications. The only session management of importance was our
> own, initiated by xfce4-session and valid only as long as xfce4-session
> was running. That's why startxfce4 could be used the same way in all
> situations.

To be really fair, no. Dbus, ssh-agent etc. already needed to be started
*before* the session.
> 
> Now we are facing different conditions: xfce4-session no longer is the
> only session manager out there. Init systems like upstart and systemd
> initiate session management at an early stage; ttys have ConsoleKit
> sessions that are unusable for Xfce; gdm and uxlaunch open sessions for
> us which we can reuse. Before we always launched our own "session"
> with xfce4-session, but now there no longer is an easy way to decide
> whether to launch a new session or reuse an existing one. 
> 
> It looks like we're not supposed to touch ConsoleKit at all in our
> scripts and the session manager. For people using gdm/uxlaunch there
> are no consequences: just call startxfce4 in the xsession .desktop
> entry. For people without a login manager, distributions should provide
> ways that set up ConsoleKit properly before startxfce4 is started.
> 
> Yves-Alexis explained how it is supposed to be done in Debian. Now I
> wonder how other distributions handle this situation? What about
> Fedora, Arch etc.? We need to figure out if there is a standard way, so
> we can teach the "manual people" how to do it right. 

I think we need input from consolekit people on those platforms, too.
Imho the startup should be done by consolekit itself (which knows better
than us how to do it), but the DE should somehow figure out how to be
sure it's correctly started too (since it's a core functionality). I
heard there was some Xinitrc.d where scripts could be put, but I don't
think it behaves the same way as Xsession.d, which is not upstream for
unknown reasons.

Cheers,
-- 
Yves-Alexis
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://mail.xfce.org/pipermail/xfce4-dev/attachments/20100920/474f66dc/attachment.pgp>


More information about the Xfce4-dev mailing list