Lightweight display manager for xfce?

Auke Kok auke at foo-projects.org
Sat May 28 21:04:58 CEST 2011


On 05/28/2011 12:56 AM, Yves-Alexis Perez wrote:
> On ven., 2011-05-27 at 21:37 -0700, Auke Kok wrote:
>> On 05/26/2011 11:07 PM, Yves-Alexis Perez wrote:
>>   >  Note that I've quickly tried uxlaunch on my Debian. It might be related
>>   >  to some integration lacking, but it failed to use consolekit properly.
>>   >
>>   >  When running directly startxfce4 or xfce4-session, it won't start the
>>   >  consolekit daemons.
>>
>> console-kit-daemon needs to be running before uxlaunch starts. It's up
>> to the ConsoleKit packager to assure it's running before uxlaunch starts.
>>
>> of course, systemd should start it on-demand for you if you're lucky
>> enough to use that.
>
> Well, I don't know about systemd (and frankly the first impression I
> have is “scary”). I'm not too sure why consolekit would have to be run
> before uxlaunch though. uxlaunch by itself doesn't need any permissions
> so only stuff launched by it require it. Or am I mistaken?

we're using a minimal design - console-kit-daemon should really be run 
independently of a X11 session so it can manage more than just 1 session 
  (e.g. ssh logins, vc/? logons), so it doesn't make much sense to 
enabled it in uxlaunch.

Perhaps this is a bit confusing, but uxlaunch is really meant as a "do 
everything as the user" type application. While it is started as root, 
it immediately drops privileges before it actually does anything 
significant.

> Right now, if consolekit is launched by uxlaunch before startxfce4, the
> issue is the same as with slim (before patch) and xdm, the session is
> marked as non local.

console-kit-daemon needs to be started as root before uxlaunch runs, and 
you shouldn't use startxfce4, but uxlaunch should run `xfce4-session` 
instead as session program.

I'm figuring this is what messes up: startxfce4 has a ton of shell code 
that starts a new consolekit seat, and so the two that are now created 
conflict, or the current one is modified wrongly.

If someone has some time to debug/document this for debian, I can maybe 
work with them to figure it out how to integrate on debian in the 
"intended" way.

>>   >  When using the (debian specific) /etc/X11/Xsession (which runs scripts
>>   >  in /etc/X11/Xsession.d/ like the consolekit one, then startxfce4),
>>   >  consolekit is started but the session is *not* marked as local (same
>>   >  thing as slim or xdm for example). Note that libpam-ck-connector *is*
>>   >  installed.
>>
>> xsession.d is a rather obsolete (cough, you may disagree) way of
>> starting stuff. In the future, pretty much all shell code will be
>> extinct and with X11 going away in favor of things like wayland, there's
>> really no reason for me to support xsession.d script fu when desktop
>> files are all you need (and even those may just become obsolete...)
>
> Note that, afacit, /etc/X11/Xsession.d is a Debian-specific thing
> anyway. I just noted that as a reference, I'm not too sure how other
> people do, but the point was to start consolekit before Xfce and share
> the environment variables.

yes, that's how uxlaunch internally works:

largely:

- drop privileges after pam login, parse environment variables by 
running a shell
- uxlaunch starts session dbus and initiates a consolekit seat
- start Xorg and session program (/usr/bin/xfce4-session)
- the rest (xdg/autostart)

from there on, all programs are set with the right environment

> systemd might be a solution for you (MeeGo) but the Linux-only thing
> means it will really cause problems for people interested in other stuff
> (wether Debian because of kFreeBSD or Xfce)

well, uxlaunch was not specifically written for systemd at all, 
meego-1.2 still uses sysvinit, which is what we wrote it for initially - 
and should just work just fine if console-kit-daemon is up.

the uxlaunch.log file should give a ton of hints too - feel free to send 
me that+stdout.

Auke


Auke



More information about the Xfce mailing list