Environment Variables

Describes the environment variables which KDE expects or respects.
edit print
KDEDIR
Has to be set if KDEDIRS is not set and has to point to the root of the KDE installation tree. Allows KDE to find its data like icons and libraries.

It is deprecated. Use KDEDIRS and kde-config instead.

KDEDIRS
Overrides KDEDIR and allows you to specify multiple directories where KDE searches for its data. Useful if you want or have to install some programs to a different prefix than the rest of your KDE. The KDE installation directory has to be the last of the colon seperated values.

KDEHOME
If not set, KDE uses ~/.kde as directory where your personal data is stored.

KDEROOTHOME
If not set, KDE uses ~root/.kde as directory for root's personal data. Was introduced to prevent KDE from accidently overwriting user data with root permission when user run a KDE program after switching with "su" to root.

KDEWM
If the KDEWM environment variable has been set, then it will be used as KDE's window manager within the startkde script instead of kwin.

KDE_LANG
Overrides the KDE language configuration, e.g. "KDE_LANG=fr kprogram &" starts a program with french translation if the necessary files are installed.

KDE_DISPLAY
An old(?) way to set DISPLAY for multihead.

KDE_MULTIHEAD
Set this variable to "true" to indicate that KDE is running on a multi-head system.

KDE_DEBUG
Set this variable to disable the KDE crash handler (same as --nocrashhandler command line option).

KDE_FORK_SLAVES (KDE 3.2.3)
Set this variable to spawn KIO-slaves directly from the application process itself, by default KIO-slaves are spawned using klauncher/kdeinit. This option is useful if the KIO-slave should run in the same environment as the application, this can be the case with Clearcase.

KDE_HOME_READONLY
Set this variable to indicate that your home directory is mounted as read-only.

KDE_NO_IPV6 (KDE 3.2.3)
Set this variable to disable IPv6 support / IPv6 DNS lookups.

KDE_IS_PRELINKED (KDE 3.2)
Set this variable to indicate that you have prelinked your KDE binaries and libraries.

KDE_MALLOC
If set to "1" the fast malloc routine provided in kdecore is used if KDE was compiled with --enable-fast-malloc, otherwise the libc's routine is used.

KDE_NOUNLOAD
If this variable is set then KLibLoader is told to never unload dynamically opened libraries.

KDE_DOUNLOAD
If this variable is set then KLibLoader is told to always try to unload dynamically opened libraries. Warning, this will most probably lead to crashes!

KDE_USE_IDN (KDE 3.4)
The content of this variable defines for which top level domains the usage of IDN is enabled. If not set, "at:ch:cn:de:dk:kr:jp:li:no:se:tw" will be used.

KDE_UTF8_FILENAMES
If this environment variable is set, KDE assumes all filenames are in UTF-8 encoding regardless of the current C locale.

KDE_FULL_SESSION (KDE 3.2)
Automatically set to true by KDE startup, it is used by e.g. Konqueror to know if it should consider remaining in memory for future re-use when being closed. If not set, konqueror will exit after being closed (e.g. kdesu does that, it's also useful for debugging).

KDESYCOCA
Allows to specify the path and the name of the generated KDE system configuration cache file.

KDETMP
Allows to specify another path than /tmp where KDE stores its temporary files.

KDEVARTMP
Allows to specify another path than /var/tmp where KDE stores its variable files.

XDG_DATA_HOME (KDE 3.2)
Defines the base directory relative to which user specific data files should be stored. If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share is used. (see specificationexternal link)

XDG_CONFIG_HOME (KDE 3.2)
Defines the base directory relative to which user specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config is used. (see specificationexternal link)

XDG_DATA_DIRS (KDE 3.2)
Defines the preference-ordered set of base directories to search for data files in addition to the $XDG_DATA_HOME base directory. The directories in $XDG_DATA_DIRS should be separated with a colon ':'. If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ is used. (see specificationexternal link)

XDG_CONFIG_DIRS (KDE 3.2)
Defines the preference-ordered set of base directories to search for configuration files in addition to the $XDG_CONFIG_HOME base directory. The directories in $XDG_CONFIG_DIRS should be separated with a colon ':'. If $XDG_CONFIG_DIRS is either not set or empty, a value equal to /etc/xdg is used. (see specificationexternal link)

Request for personal "real" data directory

(I know this isn't exactly the right place for this, maybe you have a suggestion for a better location (in which case I'd plan to at least link to it from here. And, I know it can be written better, and I may be missing something--educate me.)

I've been hoping for some time (and I do it to some extent with some quick and dirty workarounds) to separate my "real" data from any sort of configuration data. (To state it another way, I'd like to have $HOME either totally free of config (.) files (and directories) or totally free of data files (i.e., put the data files in another place).

This is for a variety of reasons, but just to mention two:

* it "smells" (imho) to mix those two kinds of files in a single directory (and hiding the config files so it looks like only data files are present confirms mho ;-)

* I would prefer to do things like backups for each type of file separately (i.e., data files and config files). Yes, I can write commands to handle them each separately even though they are mixed in the single directory (or, at least somebody can write such commands ;-), but it shouldn't be necessary (imho).

BTW, in an attempt to clarify, when I say data files (or "real" personal data files), I mean files that might contain documents I've written, pictures I've taken, songs I've recorded or whatever. I sense that in the above, at least sometimes I think data files is used to refer to icons or similar. To me, personal or not, that is "system data", not "real" (personal) data.

Anyway, when I first encountered $XDG_DATA_HOME and $XDG_CONFIG_HOME (over on freedesktop.org, iirc), I was hoping they were my salvation. Now I see, that at least based on the way they're used in KDE, they are not my salvation.

I'd like to request that some means be provided in KDE (and eventually all desktops and even at the CLI) there be two different $HOMES (and even two different shortcuts analogous to ~) such that one can be used for personal configuration data and one can be used for "real" personal data.

Recently I've been keeping a top level directory named /rhk for my "real" personal data, and allowing personal configuration data to rest in /home/rhk. One problem is that I don't have a good way to tell all my applications (which are not kde only) to default to storing and fetching data files from /rhk.

KDEHOME would seem to be a help--I could remove all the kde related configuration data from /home/rhk by setting KDEHOME to some other location, but I'd still have a problem with all my non-kde applications.

Unless I'm overlooking something.

--Randy Kramer

Contributors to this page: Anonymous .
Page last modified on Tuesday 24. April 2007 [20:42:43 UTC] by Anonymous.

The content on this page is licensed under the terms of the GNU Free Documentation License.


Toggle  Wiki
Toggle  Forums
Toggle  FAQs
15 online users