Summary

Create an alternative desktop session for Ubuntu Desktop Edition 10.04, so users can engage with the Ubuntu Netbook Edition experience.

Release Note

Ubuntu 10.04 provides an Ubuntu Netbook Edition session for traditional desktop users. On a classical Ubuntu installation, users can now install the ubuntu-netbook-{remix;edition} package, which adds a new session type "Ubuntu Netbook Remix" in the GDM login manager.

Rationale

Ubuntu Desktop Edition 10.04 is an LTS release, so few to no disruptive changes will land this cycle. The Alternative Desktop Session will allow Ubuntu Desktop users to experience the new and interesting work going into Ubuntu Netbook Edition without get constraint to stick with it.

The objectives are:

  1. Increase exposure to the Ubuntu Netbook Edition interface.
  2. Allow Ubuntu Desktop users, who may not use or own a netbook, to easily install the Ubuntu Netbook Edition interface and enable it as their default session.
  3. Allow Ubuntu Desktop users who have installed and enabled the Alternative Desktop Session to easily revert to using the normal Ubuntu Desktop.

Use Cases

Scope

Design

  1. User should only have to select his session.
  2. As UNE has a lot of particular gconf keys changing the defaults or users option, we have to provide an additional path to gconfd to overlay them. Further investigation showed that gconfd (launched as a dbus service) can't access to session wrapper export variables. The GDMSESSION variable is available in /etc/X11/Xsession.d/* and so, we can export there the right $ENV_DEFAULTS_PATH value used in /etc/gconf/2/path (regarding $GDMSESSION).
  3. Similar work has to be done for applications autostart. Instead of patching application (which makes launching application available in only some cases), we can change XDG_CONFIG_DIRS to add a new path depending on session in /etc/X11/Xsession.d/*
  4. Only having one ubuntu-netbook-{remix;edition} package is the main goal. We have to fix bug #403291 about default gdm session first.(needed also when installing xubuntu and mythbuntu, for instance).
  5. This will also making the opposite available: installing first UNE and then ubuntu-dekstop.

Implementation

Addition to ubuntu-netbook-remix-default-settings

Changelog is:

  * move debian/gconf.default to 20_une-mandatory to avoid dh_gconf
    taking it into account
  * add une.mandatory.path to include the new mandatory path in gconf
  * add those two previous files to debian/install
  * remove dh_gconf specific call in debian/rules
  * debian/{postinst;postrm}: add them manually for registering/removing
    une mandatory value in non standard path

Addition to gconf2 package

-> With that trick, we can generically address all sessions (not just une)

Starting application depending on selected session

-> With that trick, we can generically address all sessions too

Move une specific application .desktop to /etc/xdg/xdg-une/autostart

-> Application (not applets/FF extension) needed to be started on UNE session only are:

.desktop autostart files have been moved in /etc/xdg/xdg-une/autostart

Choosing right default session in GDM

Remaining investigation needed

gnome-panel

Why do we have to put those keys as mandatory in the current configuration?

So, here are the alternatives, after thinking a bit about the issue and what can be done:

About solution 2:

So, basically, in UNE, we will ask first: /apps/panel/general/toplevel_id_list/toplevel_id-une. If found (will be the case in une), take that value. If not, use: /apps/panel/general/toplevel_id_list/toplevel_id

That's not too intrusive and can be quickly implemented.

Migration

No migration is involved, this should not ever become the default session. But user can change it afteward thanks to the work on gdmsetup.

Test/Demo Plan


CategorySpec

DesktopTeam/Specs/Lucid/DesktopUNESession (last edited 2010-02-15 11:52:30 by didrocks)