[Pkg-xfce-devel] Bug#526009: Attempt to summarize

Scott Barker scott at mostlylinux.ca
Tue Apr 28 20:56:19 UTC 2009

On 04/28/09 14:29, Yves-Alexis Perez wrote:
> From a display manager, /etc/X11/Xsession.d/90consolekit will always be
> run, and position correctly the ck stuff. This is the simple case :)
> From the console:
> - either libpam-ck-connector is installed
> - either it's not
> If it's installed, consolekit stuff will be positionned at login, and
> should be propagated to any desktop run from there. And that's why
> 90consolekit should _not_ be run, and why the pam module sets a variable
> to be sure.

That makes sense, except that the consolekit stuff appears to not be 
propagated. Perhaps the true cause of these problems is a bug in 
consolekit? Although from my readings on consolekit, it is not intended 
to propagate sessions across changing ttys (as in text login tty -> 
xinit tty).

> If it's not installed, the console login won't have consolekit stuff,
> and if we want a complete desktop experience, we _need_ to use
> 90consolekit, and so run stuff in /etc/X11/Xsession.d (and still run
> startxfce4).
> The only way to do that (that I know) is to put:
> exec startxfce4
> in .xsession, and run:
> startx
> (no .xinitrc, no startx /usr/bin/startxfce4 or anything else).

There are other ways (* see below), but that is by far the easiest and 
cleanest at the moment.

> So, if we document that in README.Debian, everything should work fine
> for most user, wether they use a DM (case 1) or not, and have
> libpam-ck-connector installed (2a) or not (2b).
> But we have a problem with 2a because in some cases which you exposed in
> I don't remember which bug, that the ck session on console wasn't
> propagated to the desktop session. Could you give (on that bug) a
> summary of how to reproduce this?

Reproducing it appears to be straight-forward:

   0) remove .xsession, .xinitrc, and other similar X customization files
   1) install libpam-ck-connector
   2) kill all /sbin/login processes (so login reloads the pam stack)
   3) log out and log back in
   4) run polkit-auth (all necessary permissions will be present)
   5) run startxfce4
   6) run polkit-auth from a terminal (most permissions are now missing)


   0) - 4) same as above
   5) ensure /etc/alternatives/x-session-manager links to xfce4-session
   6) run startx
   7) run polkit-auth from a terminal, and most permissions are missing

I will put this information in the thunar bug as well.

* Other ways I have found that work:

   - symlink /etc/alternatives/x-session-manager to /usr/bin/startxfce4 
(but this defeats the true purpose of alternatives in this case)

   - custom $HOME/.config/xfce4/.xinitrc or $HOME/.xinitrc with 
ck-launch-session in an appropriate place (but this prevents the user 
from benefitting from future improvements to the Debian X startup 
process in /etc)

I'm sure there are other ways, but they will probably all be messy and 

I did have another thought - if there is stuff that startxfce4 does that 
xfce4 requires, maybe that stuff, or a call to startxfce4 itself, should 
be integrated somehow into /etc/X11/Xsession.d/*? Something like what is 
done in /etc/X11/Xsession.d/55gnome-session_gnomerc? Then the 
alternative just needs to be pointed to xfce4-session, and no .xsession 
in the home dir is required - seamless for the user.

Scott Barker       scott at mostlylinux.ca
Linux Consultant   http://www.mostlylinux.ca/scott

More information about the Pkg-xfce-devel mailing list