[LightDM] Setting default X session

Didier Roche didrocks at ubuntu.com
Mon Aug 29 00:44:00 PDT 2011

Le 13/08/2011 18:32, Yves-Alexis Perez a écrit :
> On ven., 2011-08-12 at 08:27 +0200, Didier Roche wrote:
>> Package should in their postinst call this one to set themselves as
>> default (using the --keep-old options) and remove them on
>> install/removal. For instance:
>> http://launchpadlibrarian.net/76923334/gnome-session_3.1.3-0ubuntu9_3.1.3-0ubuntu10.diff.gz
>> to set the default session to "ubuntu" for the ubuntu desktop case.
>> and:
>> http://launchpadlibrarian.net/76923333/unity-greeter_0.0.2-0ubuntu1_0.0.2-0ubuntu2.diff.gz
>> for the greeter.
>> So basically, installing them will set the first installed one (we don't
>> expect having multiple greeters in a CD spin for instance) as the
>> default. Then, casper has now a fix for just adding the autologin part
>> without hammering those things:
>> http://launchpadlibrarian.net/77000287/casper_1.277_1.278.diff.gz
>> Please note that this is very similar to the patches I made for gdm back
>> in the lucid days (10.04) which seems to have fit the numerous flavors
>> and derivatives we have.
> This might work in Ubuntu, but I don't expect each and every “desktop
> environment” (including window managers) to do that. That might work as
> a best effort (like I could do this in Xfce) but not for a whole
> distribution like Debian.
Sorry for the late answer, but I was on vacations,

This worked well with a gdm patch I made at the time between xubuntu, 
ubuntu, ubuntu netbook edition, edubuntu and the whole ltsp environment 
(which had other greeter need). Indeed, this require some work and 
coordination between people but it prooved to be possible.
> And even with that, what happens when:
> * desktop A is installed, setting the default session to A
> * desktop B is installed, setting the default session to B (old default
> to A)
> * desktop C is installed, setting the default session to C (old default
> to B)
> * one of them is removed
> Who is the new default, and why? I don't think there's a way to have a
> really consistent situation (and one which would fit the user).

See /usr/lib/lightdm/lightdm-set-defaults --help, in particular:

   -k, --keep-old     Only update if no default already set
   -r, --remove       Remove default value if it's the current one

Knowing that the lightdm policy is "if no greeter set in the 
configuration file, do nothing" (no fallback). So, all depends on the 
option set by the greeter. I would advise using --keep-old to not 
overwrite the selection (without it, it updates the current value).

> So all in all, I think that managing the default with alternatives,
> which is an existing, working system which does exactly the same kind of
> thing you tried to fix, might be the best way we have. It's not perfect
> (the whole priority thing and the fact it's Debian-based) but it can
> work.

It didn't work when we tried to coordinate between ubuntu flavors for 
gdm, even how hard we tried to do that and used that for a while (other 
people from different flavors can confirm there). In particular as in 
one configuration file, you have multiple values which can be impacted 
by different components and not just one package (there is the greeter, 
there is the user session which depends if you are on a live cd or 
installed version), and such…

Note that using alternatives need as well coordination between the 
different "desktop environment" managers.

If that works for you, good, the option is still there to use the other 
way though.


More information about the LightDM mailing list