Creating a Default KDE Desktop for New Accounts



 

 


The /etc/skel directory contains common configuration files that are installed in each user home directory when the user account is created. Typically these are BASH configuration files and they apply only to CLI configurations. However the entire KDE desktop configuration is kept in the ~/.kde directory tree and can be used to preconfigure KDE for new accounts in the same way that the BASH, or other shell configuration files can be used to configure the users’ initial CLI configuration.

The procedure to create a usable .kde directory tree is fairly simple. First create a new user and login as that user.

Configure the desktop so that it conforms to the desired set of requirements. You may wish to add certain plasmoids to the desktop or the KDE Panel. You may add application launchers for OpenOffice, for example, to the KDE Panel. You May also want to specify a standard wallpaper image such as a company logo.

I also make certain changes to the System Settings, such as getting rid of the bouncing cursor as program launch feedback and shortening the Panel feedback from 30 seconds to 7 or 8. I also turned off the daily check for software updates in System Settings => Add and Remove Software => Settings.

Fine Tuning

After making the desired modifications to the desktop tar up the ~/.kde directory tree and copy it to the desired system and untar it into the /etc/skel directory. Or, if you are doing this on the same system to which you will be adding the new user accounts, simply copy the entire ~/.kde direcory tree to the /etc/skel directory.

Then search for any files in /etc/skel/.kde that contain the ID of the user used to generate the pre-configured desktop and delete them. Also delete any cache files and the links in the .kde directory.

I changed into the /etc/skel/.kde directory and used the command

rm -f `grep -R tuser1 * | awk -F : ‘{print $1}’ | uniq`

to locate and delete any files that contained the user ID of tuser1.

I developed and tested this procedure in a virtual machine using VirtualBox. You may want to do the same to prevent issues while you are refining and testing the preconfigured desktop you want to create. This technique can also be used with other desktop environments such as GNOME.