OneiricOptimizeClean

  • Launchpad Entry: other-lubuntu-o-clean

  • Created: gilir

  • Contributors: gilir, jmarsden

  • Packages affected: lxde, lubuntu-meta

Summary

The goal of this specification is to list all the different ways to optimize and clean Lubuntu for 11.10 (Oneiric)

Release Note

We expect to improve the user experience, by lowering the requirements for Lubuntu :

  • Reduce the memory usage by default
  • Remove non-essential programs to gain space at installation
  • Reduce memory used during installation (may need alternate/text mode installer by default)

We also want to improve the code :

  • Migrate to recent technology (GTK3, gsettings, GtkBuilder ...)

  • Code clean up when it's possible

Rationale

The last two Lubuntu releases (10.10 and 11.04) were focused on adding missing features. It's now time to look at the improvements we can make in other ways.

GNOME3 / GTK3 migration is necessary for Oneiric cycle. This is a good opportunity for doing more code improvement.

Also, making some improvements gives us the possibility of adding more features, without the need to increase the minimum hardware requirements of Lubuntu.

User stories

Fred has an old PIII 800Mhz desktop with 256MB RAM and a 40GB hard drive. He would like to be able to install and then use Lubuntu easily on this machine. Currently the (ubiquity-based) default install process needs more RAM than this machine has available, so Fred needs to use a complex minimal install and then add the Lubuntu desktop package set to it.

Assumptions

  • People will continue to want to install and run Lubuntu on low spec older PCs.
  • Use of an 'alternate' install image (CD) to install from is not beginner-friendly.
  • With current small Lubuntu developer community, making our priorities for Oneiric be "GTK3 plus becoming fully official plus optimization and cleanup" is probably plenty of work; we should therefore avoid adding too much else to the development workload for this release.

Design

You can have subsections that better describe specific parts of the issue.

Implementation

There are several ideas / tasks, which could be done :

GTK3 migration

GTK3 migration to avoid having GTK2 and GTK3 at the same time

gconf to gsettings migration

Migrate from gconf to gsettings

Remove old GNOME libraries

Remove old GNOME library : libglade, gnome-desktop etc ...

Compiler warnings

Clean compiler warnings

Replace update-notifier

Replace update-notifier by upstart scripts (see blueprint https://blueprints.launchpad.net/ubuntu/+spec/packageselection-foundations-n-update-notifier-refactor)

Replace screensaver

Replace screensaver by upstart scripts ?

Another option, rewrite it from scratch, or follow Ubuntu move (see https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-screensaver). Some ideas of the needed features of a locker / screensaver :

  • (option) black screen after a timer
  • (option) adjust the timer
  • (option) lock after timer
  • (option) lock on suspend
  • deactivate notification on lock
  • shortcut for lock (by openbox + slock)
  • (nice to have) D-Bus API
  • (nice to have) mechanism of inhibitation
  • (nice to have) API of gnome-screensaver as fallback (see xdg-screensaver)
  • (plugins) complex visualization

Remove xchat ?

Remove xchat ? (already handle by pidgin)

Lxsession improvements

Hack on lxsession to customize autostarted programs. Current ideas :

  • Ability to customize differents applications started on session start
    • Panel / dock
    • power-manager (possibility to disable it for desktop computer)
    • Network GUI (nm-applet)
    • window manager (rewrite existing function)
    • screensaver
    • notifications ?
    • ubuntu one ?
    • file manager ?
    • Polkit agent
  • Ability to set program as default handler (call by others programs, ideally publish on D-Bus)
    • Sound manager
    • Keymap manager
    • Quit manager
    • Workspace manager
    • Launcher manager
  • Ability to set to "Auto" to let lxsession handle it itself
  • Option to add custom commands
  • Option to load third party programs
  • Option to install missing components with packagekit
  • Ability to detect duplicate programs with autostarted applications (don't start the panel twice)

Test/Demo Plan

  • Benchmarks between 11.04 and 11.10

Unresolved issues

BoF agenda and discussion

pad : http://summit.ubuntu.com/uds-o/meeting/other-lubuntu-o-clean/


CategorySpec

Lubuntu/Specs/OneiricOptimizeClean (last edited 2011-05-10 14:12:08 by jmarsden)