Debian Control Center
What is Debian Control Center?
One of the biggest problems with new/desktop users of Linux is their capacity to configure a system, how to deal with proper stuff to have a installation working soon. Debian, being a distribution with high quality assurance standards and being completely free, let users freedom of usage, but probably a not very intuitive way to set it up. Because of the absence of a proper tool to do this, dcontrol project aims to fit this needs.
We need to provide good graphical user interface for configuration of already existing debconf infrastructure and use debconf where possible, only providing special code to configure stuff where debconfization is not possible.
The reason to create one from the scratch is to set up a complete native system with Debian, developed by and for Debian community.
dcontrol will use debconf as backend for configuration and implement its own parsers for anything not yet debconfinizated.
dcontrol thoughts
Main ideas were thrown on the IRC meeting: http://www.damog.net/debian/debian-control-center.log
dcontrol will be available in probably five ports:
- GTK+ port.
- Qt port.
- Java port.
- CLI (written in C/C++) port.
- Web-based (written in Perl) port.
- Hack gnome-system-backends to be able to talk with debconf from any toolkit or language.
dcontrol will be able to perform configuration for normal user as well as system user.
dcontrol should be able to share virtual configurations, a common configuration for any kind of service.
dcontrol could be able to configure desktop preferences for any kind of desktop/wm and be able to share it between them.
dcontrol could be able to speak with other d-bus desktop applications, in order to retrieve relevant information to use it as User Preferences.
dcontrol should be able to work and set mount points up automagically, using desktop autofs.
dcontrol may be able to handle removable media access over an X extension
dcontrol will be able to set runlevels up with gnome-system-tools or rcconf
debconf will be the tool used to interact with the Debian system.
Requirements
- modularity and interfaces (backends (parsers), middlelayer, frontends (UI/API) )
- maintain- and sustainability (What to code/update to configure something new? Customized parser for each distro, separate frontend for each app and toolkit? Or only a textfile per package describing its configuration?)
- Never assume to be in sole control of a config (No "Do not modify" areas, no magic comments)
- Keep all comments, formating etc.
- Has to work if config has been changed by other means.
- Don't give up if a new or unknown setting is found.
dcontrol suggestions
Refer to ConfigurationHandling and future plans on DebConf
- To be able to use all the existing debconf maintainer scripts until the maintainers can use the configruration system in their package scripts themselves, the idea would be to make a CFG backend that interfaces to debconf (functions as a frontend to debconf). This way all available debconf settings can be present in the configuration system without further work.
- Step by step packages can then be updated to provide meta-config files. Then maintainer scripts can make use of the configuration system to easily and safely configure and update their configfiles. At this point debconf will still work as before (just with easier/safer scripts). Additionally due to the available meta-config and the configuration system, any frontend tool or script will have access to the package's full configuration.
- kde-debian (Kalyxo) is attempting to make ["KaST"] with very simmilar goals.
https://mail.kde.org/mailman/listinfo/kde-debian. (archive requires registration)
- configlets should be hacked to use it as frontend.
- the gnome system tools backends should be used for any system related task, these backends are desktop independent (regardless of their frontends being tied to GNOME, as a working example there is knetworkconf, a KDE tool that uses the network backend), their output is XML easily parseable from any language, they support Debian from a long time ago and the are being actively developed. The short/med term plan is to propose the backends to Freedesktop once they reach 1.0 (the first RC was released today)
How can I help?
First, thanks
- Writing your suggestions on this wiki.
- Right now code work is appreciate it in any port.
- Studying debconf as the main backend.
- Helping coordinating this mess.
- Joining debian-desktop mailing list and help with the subproject.
- With graphic design and art.
Alioth Project
Over here: https://alioth.debian.org/projects/debcontrol/ Feel free to bother David Moreno Garza with an email (damog@damog.net) in order to add you.
Mailing list: http://lists.alioth.debian.org/mailman/listinfo/debcontrol-general
What else? / Random stuff
A working draft is available at DcontrolDraft . Since it's a draft, anything can and will change. There are some questions left in the document, some things i probably forgot, just add any good ideas, ...