June 7, 2007

Sabayon makes managing multiple GNOME user profiles simple

Author: JT Smith

If you have multiple users sharing a single computer, you could probably use an easy way to manage their user profiles. Sabayon can help you create and set up GNOME desktop profiles and assign them to different users. It's similar to Kiosktool for KDE, but for the GNOME environment.

Sabayon is a Python graphical front end to user profile information in the GConf configuration files, which are mostly in XML format. You can create as many different profiles for as many different users as you like with absolutely no need for understanding the GConf system or XML, because Sabayon's graphical interface explains each setting.

If it's not already available on your desktop machine, you can probably find Sabayon in your distribution's package management repository. If you can't find it, you can always go for a traditional install from the tarball. After Sabayon is installed, you can access it via the System -> Administration -> User Profile Editor menu entry. You need to know the root password in order to run it.

From Sabayon's initial screen you can add, remove, and edit profiles (see Figure 1). When assigning profiles to users, Sabayon will automatically show you all the users that are available on your system. When you edit a profile, Sabayon starts a new GNOME session in an XNest window, in which you can set up the profile. (When the XNest session is started you'll see that you're logged in with user sabayon-admin account with IDs of 110 and 120 (uid and gid). Don't get confused by this -- it won't have any effect on the user that this profile will be assigned to.) Sabayon handles not only typical profile settings, but also remembers icon positions and custom shortcuts on the desktop and menu panel.

In Figure 2, I'm editing the Demo profile in an XNest window (brown wallpaper and many icons on the desktop). In the background is my normal user desktop (with blue wallpaper). I've also started the lockdown editor Pessulus from within the Sabayon interface menu. With Pessulus, you can lock down any available functions provided by the software for the current profile.

When you are done setting up a profile, you can assign it to specific users, or you can make it the default profile for all users. You can set up as many profiles as you like and assign them to any number of users.

Sabayon stores all profiles that you create in ZIP files instead of directly affecting GConf settings. Each ZIP file contains GNOME configuration files that differ from the system default files, and any additional files that you added on the desktop for users with this profile. All profiles are saved in /etc/desktop-profiles/ folder with the same filename as the profile name but with a ZIP extension. For example, if you create a user profile called Sales, then your profile settings are stored in /etc/desktop-profiles/Sales.zip file. To see what files are affected by your profile configuration, click on the Details button in User Profile Editor.

The first time a user to which you assign a profile logs in on the system, all the files from the ZIP file are copied to his home folder, changing the GNOME profile to what you configured. Users can then configure additional profile settings, as long as they're not locked down by the administrator.

Sabayon eliminates the need to configure every profile for every user one by one. Instead you can create different profiles for sets of different users, and apply them on as many machines as you like. When comes to configuring user profiles for many users, Sabayon makes system administrators' lives easier.