Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




SUSE Linux Enterprise Desktop Deployment Guide
Previous Page Home Next Page

10.2 Managing Profiles Manually

If you prefer manually editing configuration files over using a graphical tool, the KIOSK framework lets you do this, too. Every configuration file in a profile is a plain text file that can be edited with the editor of your choice. KIOSK's configuration and deployment options are described in detail in The KDE Source Repository at Refer to this resource for details. In the following, only the fundamentals needed to use the KIOSK framework are described.

10.2.1 File System Hierarchy

KDE reads and stores files used by the KDE environment itself as well as by the KDE applications in fixed directory trees, also referred to as profiles in this context. By default, there are two such directories: /opt/kde3 and ~/.kde. The ~/.kde directory contains the user-specific settings. The /opt/kde3 directory contains data and configuration files that came with the packages. It is not recommended to make any changes there, because they get overwritten with the next update. Therefore, as a system administrator you can create additional trees that are used by the KIOSK framework. The default location for an additional fixed directory tree is /var/lib/kde-profiles. You can add custom locations in /etc/kde3rc. Refer to the KIOSK documentation for details.

A fixed directory tree consists of the following directories (although not all directories need to be present):




Help center scripts




Communication sockets


Temporary files


Cached data


Application and configuration data

Among others, the share directory contains the following subdirectories:


.desktop files for all applications appearing in the KDE menu


The KDE menu structure


Configuration files for applications and components as well as the global configuration file kdeglobals


Icons, categorized by theme, dimension, and usage category


.desktop files with mime types


Images that can be used as background pictures


KDE scans all directory trees known to the system. When a specific file is present in multiple directory trees, the order of precedence determines which file is used.

When configuration files are scanned, an additional rule applies. Generally, the contents of multiple configuration files with the same name are merged. However, if the same configuration key is defined more than once, the key from the file with the highest precedence determines which value is used.

The rule of precedence is:

  1. User directory (~/.kde)

  2. Directories configured in /etc/kde3rc

  3. Systemwide default directory (/opt/kde3)

As a user, you can overwrite this order by setting the variable $KDEDIRS. Directories should be separated by a colon (:). The first directory has highest precedence and the last one lowest precedence.

10.2.2 Configuration File Format

KDE configurations are stored in text files in UTF-8 format. Each configuration option consists of a key and value pair and is placed inside a group:

[Group 1]
  key 2=value 2

White space at the beginning or end of keys and values are ignored. However, both may contain spaces as shown in the example above. If a value is supposed to start or end with space or should contain line breaks or special characters, use the following special codes:

  • \s: space

  • \t: tab

  • \r: carriage return

  • \n: new line

  • \\: backslash

Shell Expansion

To use dynamically generated values, KDE allows you to use shell expansions. If a key is followed by [$e], shell expansions are activated. When using this construct, the value is written to the file the first time it is read. Using [$ie], lock down this behavior so the expansion is evaluated every time the configuration file is read. Shell expansions allow you to either use environment variables or the output of commands as values.

[example group]
  Group=$(id -g)


All configuration values can be localized with a language code added to the key entry:

[example group]

Configuration Entry Lock Down

All configuration entries can be protected from being overwritten. You can lock down entire configuration files, groups, or individual keys. Do this by adding [Si] on a separate line at the beginning of a file, placing it behind the group name, or adding it behind a key.

[example group][$i]

[example group 2]

10.2.3 Activating Profiles

Profiles can be created anywhere in the file system. To make the KDE environment read your profiles, you must make them known to the system in /etc/kde3rc. The default profile location /var/lib/kde-profiles/ is already configured there.

By default, a custom profile is not associated to users or groups. You can make this association in the user profile map file at /etc/kde-user-profile. The only exception from this is the default profile. If you create a profile named default under /var/lib/kde-profiles/ this is automatically associated to all users on this machine (such a profile does not exist by default).

Find more detailed information about activating profiles and mapping them to users in the KIOSK framework documentation.

10.2.4 Examples

SUSE Linux Enterprise comes with three predefined profiles (redmond, simplified, and Thinclient) located in /var/lib/kde-profiles. You may use one of these as a template for your own profile.

SUSE Linux Enterprise Desktop Deployment Guide
Previous Page Home Next Page

  Published under the terms of the Open Publication License Design by Interspire