Hi all,
the last while i've been working on a new package called desktop-profiles
[1]. As this is now in a state where I think it's ready to be used, it's
time to introduce this to the list and request some feedback :-), here
goes:
First some background:
KDE, and (most) other desktop environments allow you to use multi-level
configuration. Basically you have a number of different profiles
(config-sets) that you order by some mechanism (differs between desktops),
when looking for a config setting each of these config-sets will be looked
through, with the first set (remember they were ordered) that contains the
value providing it.
This of course is usefull for CDD's (and local admins) to provide
customizations to the desktop setup.
Currently there's no standard way of adding profiles and ordering them. This
will provide problems when, for instance, two CDD's installed on the same
PC both add profiles (say debian-edu-workstation + some debian-jr desktop
setup package on a kindergarten computer), as now you don't know what the
outcome will be.
This package provides a standard way to add profiles to desktop environments
(currently supported are KDE, GNOME [2], XFCE >=4.2, ROX, UDE, and
Freedesktop profiles). It works as follows:
- as in debian-edu there's a Xsession.d script that activates the profiles
(by setting KDEDIRS, CHOISEPATH, XDG_CONFIG_DIRS, ... whatever is
applicable for the respective profile-sort)
- the xsession.d script does this based on files dropped
into /etc/desktop-profiles.
- each of the (.listing) files dropped in /etc/desktop-profiles describes
one or more profiles (name, location, precedence-value, requirements for
activation, profile-kind, description).
- requirements that need to be met can take 1 of 3 forms:
1) <group> -> activated for members of <group>
2) !<group> -> activated for everybody not a member of <group>
3) $(command) -> the given shell command needs to exit succesfully
4) Each profile defines a list of requirements that need to be met for
activation (all given requirements need to be met)
- for further details (such as the format of files to-be-dropped
in /etc/desktop-profiles) see the manpage in the package
Anything I forgot in the approach described above?
[1] it's located in debian-edu cvs an alioth src/desktop-profiles module,
current build of the package is available at
http://developer.skolelinux.no/~cobaco/desktop-profiles
[2] GNOME needs a change to the system-wide path file to activate the
approach of this package, example path file is included, and installations
pops up a medium-priority question (defaulting to no) about wether to
replace the gconf path file if it's present.
NOTE: rest of this mail is stuff mostly applicable to debian-edu
Further steps needed at this point:
1) Get the package into Debian:
-> packaging is done, but I need a sponser, as I'm not a DD
2) Once package gets into Debian change debian-edu-config to use it (add
depends, remove custom xsession.d script, add debian-edu-config.listing
file)
3) Start discussing additional profiles/ current setup. What desktop
customizations would you like to see (do speak up here ,we _need_ feedback,
but drop debian-custom from CC when replying on this point :-)
I think we should have (at least):
- debian-edu-network -> proxy settings, .. anything common to desktops
inside a debian-edu network
- debian-edu-student -> settings for students (background, desktop icons,
panel setup, maybe some things locked down with kiosk framework, ...)
- debian-edu-admin -> settings for admins (links to admin-tools and
documentation on desktop, ....)
- ....
--
cobaco (aka Bart Cornelis):
Coördinator Belgisch Skolelinux team
Coördinator Nederlandse Skolelinux vertaling
Skolelinux België- http://i18n.skolelinux.no/belgium
Attachment:
pgpn3zimo2v3M.pgp
Description: PGP signature