IntrepidSystemPreferences
Launchpad Entry: intrepid-desktop-systemprefs
Packages affected: gnome-control-center
Summary
We need a mechanism to write some desktop preferences system-wide.
Release Note
To be done when "Beta available" is hit.
Rationale
After Ubuntu is installed we do not have a easy way to change some system default settings (like the used http proxy).
Use Cases
1. Bob gets a new provider and needs to switch his http proxy. Because the machine is used by his wife and kids too he wants to have a way to set it globally.
Design
A new backend service based on dbus and policykit will be added so that admin users may change certain settings systemwide. These include:
- http proxy - added to to gnome-control-centers gnome-network-preferences.
- default language - added to language-selector
- default keyboard - added to gnome-keyboard-properties or language-selector
Targets of opportunity:
- power settings - added to gnome-power-manager
- system-wide-application settings - ?
- display-settings - xkit ?
The backend needs to be written in a way that it can be easily reused (e.g. by kubuntu). Code is added language-selector and gnome-control-center to make use of the new functionality. The code in gnome-control-center should be sent upstream if possible.
In addition to that, the proxy settings should be propagated to the systemwide /system/proxy via the systemwide defaults gconf mechanism.
Why not use libproxy? http://code.google.com/p/libproxy/
UI Changes
When a UI for this is discussed we need to consider that there are the following states:
- user has no settings
- user has personal settings
- system has no settings
- system has system-wide settings
The following UI mockups are available:
Minimal changes to the existing capplet:
[ ] Use system default [Set] [ ] Direct connection [ ] Personal settings ... [ ] Automatic config
Redesign with a combo box instead of the radio buttons:
Top Combo box with [ System defauls | Direct connection | Personal settings ]
... Proxy settings ...
[Make system default]
Test/Demo Plan
To be written once some code is available.
BoF agenda and discussion
Admin wants to set their personal settings for something as the system default
- $LANG: language-selector sets it system-wide, gdm sets it per-user
- proxy:
* d-i asks for proxy, that's ok
* proxy setting in ubiquity is hard to find, that needs to become more obvious and shown by default
Example of settings:
- language
- keyboard
- proxy
- power settings (e.g. suspend/resume on lid close)
- system wide applications (?)
- display settings (?) - write to gconf system default layer and make
gdm read/use that
A framework similar to system-tools-backends should be used, i.e. a dbus
based backend that uses policykit and then writes the settings.
Things we need to worry about:
- settings on install
- setting changes on a installed system
- migration of existing systems/configurations
- how to present personal vs. system-wide in the graphical tools
* "Settings for:"
* "Everyone on this computer"
* "Everyone without personal settings"
* "Me"
* or "Apply to Everyone..." button (asks for password)
* cf. "When no-one is logged in..." in <https://wiki.ubuntu.com/DesktopTeam/Specs/ExitStrategy>
- desktop environment agnosticism
Tools should write system-wide settings to the same place as Ubiquity doesIntrepidSystemPreferences (last edited 2008-08-20 18:23:54 by 74-93-194-82-WashingtonDC)