Launchpad Entry: intrepid-desktop-systemprefs
Packages affected: gnome-control-center
We need a mechanism to write some desktop preferences system-wide.
To be done when "Beta available" is hit.
After Ubuntu is installed we do not have a easy way to change some system default settings (like the used http proxy).
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.
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/
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]
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 does