PROPONSAL : Integrating system tools in GNOME



Hi gnomers :

PROPONSAL : Integrating system tools in GNOME
----------------------------------------------------------------

The PROBLEM :

Gnome is absolutly UI inconsistent in respect to system tools.

WHY ?

* Each distro has an especifics system tools and that create problems :
- The users don't think that gnome desktop is integrated with the system. When a user comes to gnome from windows , don't feel a integrated system tools. For example, in windows if you need create a network connetion , the user goes to control panel and find an icon "Configure network" or something like that. When this user wants connect to internet there are a folder with his acounts. And when this connection starts , there are an icon in the windows systray.
When the user wants create a user acount in the system is the same way ....
BUT , when this user goes to gnome desktop, this user select a distro and for each distro there is a way for configure users, network, time, printers ... and sometime there aren't or is a console app or is a QTbased tool . And of course . this tool are not HIG compilant.
- linux books: when the book talk about system tools it's really crazy. For example : In Gnome with Redhat 7.2 you can create an user acount with this . If you have a Suse you have to use yast if you have Debian gnome system tools if you use mandrake exec mandrake-conf ..... . That is a terrible error, because the users wants to use linux but if this users read one book with this info , the user (in the most of cases) come back to home thinking ... Wow how is so dificult ? In windows is easy.
* Gnome has gnome-system-tools that support the most popular distros, but the distros don't use it. I understand it, the distros uses it own system tools because is their business. Really , which is the most diference between distros ? There are 3 diferences : software management, instalation process and system tools. And the distros sell their customizated system tools . That is good for the distro but not for gnome in my opinion.

WHAT GNOME NEEDS?

Gnome needs integration with system tools (gnome-system-tools or the distro ones) . Gnome needs :
- Config users and groups : Create, modify and erase users acounts and groups.
- Config network : Create, modify and erase connections acounts,  configure Dns's, switch network profiles, start network connectios (dialup, for example)....
- Config printers : Create, modify and erase printers
- Config services, time, scanner ....

POSSIBLE SOLUTIONS :

We can add an menu in the applet "applications-actions" a new section , "system". This menu will look something like this.

Applications  Actions   System
                                    |- User and Groups
                                    |   |- Create new user
                                    |   |- Create new group
                                    |   \- View users or groups ---> (for modify or erase)
                                    |- Network
                                    |   |- Create new network connection
                                    |   |- View my network configuration ---> (for config network configuration)
                                    |   |- Switch profile
                                    |   |   |- [X] Home config
                                    |   |   |- [  ] Girlfriend house config
                                    |   |   \- [  ] Office config
                                    |   |- -----------------------------
                                    |   |  [   ]  ppp0 - my isp dialup        ---> (click and connect)
                                    |   |  [X]  eth0 - my ethernet card
                                    |   \  [   ]  wlan0 - my wireless 
                                    |- Printers
                                    |   |- Create new local printer
                                    |   |- Create new remote printer
                                    |   |- Set printer by default
                                    |       |- [X] printer1
                                    |       \- [  ]  printer2
                                    |- Change display resolution
                                    |- Change system time
                                    |- Config System Services
                                    \- Config boot system

It's easy and it's beatiful , don't you think so ?
Ok , the how can integrate this menu with the diferent system tools ?
The possible solution is in gconf. We can create a gconf keys like this :
   
    Gnome
        \- System
            |- users_and_groups
            |   |- create_new_user = [ "distro-users-tool-command-ui  --new-user"]
            |   |- create_new_group = [ "distro-users-tool-command-ui --new-group"]
            |   |- view_all_config = [  "distro-users-tool-command-ui --show-all" ]
            |- network
            |   |- create_new_connection = [ "distro-network-tool-command-ui --create-new-connection"]
            |   |- view_all_config = [" distro-network-tool-command-ui --show-all" ]
            |   |- search-network-profiles = [" search-profiles ..... "] <--- this comand search
            |   |                                                                                 the profiles to complete this menu
            |   |- search-aviable-connections = [" ....... "] <- this comand complete the menu with the
            |   |                                                                       aviable connection
            |   |- connect-network-interface = [" ifup $name"]
            |   \- disconnect-network-interface = ["ifdown $name"]
            |- printers
            |   |- create_new_local_printer = [" distro-printer-tool-command-ui --new-local "]
            |   |- create_new_remote_printer = [" distro-printer-tool-command-ui --new-remote"]
            |   |- search-aviable-printers = [" ..... "] <- for complete set printer by default section
            |   |- set-by-default = [" ...... "]
            |- change_display = ["change-X-display-command-ui"]
            |- change_system_time = ["distro-time-admin-command-ui"]
            |- config_system_services = ["distro-system-services-command-ui"]
            \- config_boot_system = ["distro-boot-system-services-command-ui"]

With this gconf-keys the distros can add their commands or gnome-system-tools-commands. If some key is emply this entry will not be in the menu.
This solution is easy for everyone , the distros can adapt their tools to this gnome feature and gnome-system-tools too. And the users allways will know in any distro in any OS that if he wants change something in the system in gnome he have to go to the "system" menu.

Other features for this integration:
* Gnome needs an standard pam module and user interface for autenticaticate the user and open this tools. RedHat has something like that a "key systray" . The user writes the root password only one time, and the key is in the systray. And then, he can configure other things. May be will be interesting take this code and integrate it in the core-platform . Or may be we can save the password in the gnome-keyring-password and use it when will be necesary.
* Standard Systray's for network connections. If the user up a interface , the systray detect this connection (maybe gconf key too) and show a new systray. And for printing the same. 

I think that the integration of system tools is absolutly necesary if we want the best desktop.
And that's all today. I hope you like the idea ;)

Any comments ?

Roberto Majadas


email : roberto majadas hispalinux es
jabber-id : telemaco lapastillaroja net

Hispalinux- GNOME- Debian- Free Software Foundation



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]