| 
				     | 
				
| (9 intermediate revisions by 8 users not shown) | 
| Line 1: | 
Line 1: | 
 | == Introduction ==
  |  | {{Moved To Userbase}}  | 
 | There are numerous environment variables that are useful when managing and controlling a KDE environment. Supported environment variables are listed below.
  |  | 
 |    |  | 
 | == Automatically Set Variables ==
  |  | 
 |    |  | 
 | === KDE_FULL_SESSION  ===
  |  | 
 | 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).
  |  | 
 |    |  | 
 | If you plan on using this variable to detect a running KDE session, it is safest to check if the value is not empty (i.e. test -n "$KDE_FULL_SESSION") instead of seeing if it equals true.  This allows for changing the value of the variable to include KDE version info or other uses.
  |  | 
 |    |  | 
 | === KDE_SESSION_VERSION ===
  |  | 
 | Introduced in KDE4, this environment variable is set to the major version number of the KDE desktop being run on startup. This allows one to know which <tt>kde?-config</tt> to run: <tt>kde${KDE_SESSION_VERSION}-config</tt>. For KDE3 this will resolve to <tt>kde-config</tt> and for KDE4 this will result in <tt>kde4-config</tt>. One can then use this knowledge to query more details as to the minor version, prefixes, etc.
  |  | 
 |    |  | 
 | == Display and Window Management ==
  |  | 
 |    |  | 
 | === 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_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.
  |  | 
 |  
  |  | 
 |    |  | 
 | == File System == 
  |  | 
 |    |  | 
 | === 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.
  |  | 
 |  
  |  | 
 | Please note, that at least the startkde script expects the KDE install directory to be listed as first.
  |  | 
 |  
  |  | 
 | === KDEHOME ===
  |  | 
 | If not set, KDE uses ~/.kde as directory where your personal data is stored.
  |  | 
 |  
  |  | 
 | === KDE_HOME_READONLY ===
  |  | 
 | Set this variable to indicate that your home directory is mounted as read-only.
  |  | 
 |    |  | 
 | === 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.
  |  | 
 |    |  | 
 | === 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.
  |  | 
 |    |  | 
 | == Localization ==
  |  | 
 |    |  | 
 | === 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_UTF8_FILENAMES ===
  |  | 
 | If this environment variable is set, KDE assumes all filenames are in UTF-8 encoding regardless of the current C locale.
  |  | 
 |    |  | 
 | == Networking ==
  |  | 
 |    |  | 
 | === KDE_NO_IPV6 ===
  |  | 
 | Set this variable to disable IPv6 support / IPv6 DNS lookups.
  |  | 
 |    |  | 
 | === KDE_USE_IDN ===
  |  | 
 | 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.
  |  | 
 |    |  | 
 | == Performance Related ==
  |  | 
 |    |  | 
 | === KDE_IS_PRELINKED ===
  |  | 
 | 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!
  |  | 
 |    |  | 
 | == Troubleshooting and Debugging == 
  |  | 
 |    |  | 
 | === KDE_DEBUG ===
  |  | 
 | Set this variable to disable the KDE crash handler (same as --nocrashhandler command line option).
  |  | 
 |    |  | 
 | === KDE_COLOR_DEBUG ===
  |  | 
 | Starting from KDE 4, set this variable to get colourful debug output which will look nicely in Konsole.
  |  | 
 |  
  |  | 
 | === KDE_FORK_SLAVES ===
  |  | 
 | 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.
  |  | 
 |    |  | 
 | == freedesktop.org Compliance ==
  |  | 
 |    |  | 
 | The following environment variables are defined in the [http://freedesktop.org/wiki/Standards/basedir-spec freedesktop.org base directory specification] and are supported by all XDG compliant environments and applications.
  |  | 
 |    |  | 
 | === XDG_DATA_HOME ===
  |  | 
 | Defines the base directory relative to which user specific data files should be stored. If <tt>$XDG_DATA_HOME</tt> is either not set or empty, a default equal to {{path|$HOME/.local/share}} is used.
  |  | 
 |  
  |  | 
 | === XDG_CONFIG_HOME ===
  |  | 
 | Defines the base directory relative to which user specific configuration files should be stored. If <tt>$XDG_CONFIG_HOME</tt> is either not set or empty, a default equal to {{path|$HOME/.config}} is used.
  |  | 
 |  
  |  | 
 | === XDG_DATA_DIRS ===
  |  | 
 | Defines the preference-ordered set of base directories to search for data files in addition to the <tt>$XDG_DATA_HOME</tt> base directory. The directories in <tt>$XDG_DATA_DIRS</tt> should be separated with a colon ':'. If <tt>$XDG_DATA_DIRS</tt> is either not set or empty, a value equal to {{path|/usr/local/share/:/usr/share/}} is used.
  |  | 
 |  
  |  | 
 | === XDG_CONFIG_DIRS ===
  |  | 
 | Defines the preference-ordered set of base directories to search for configuration files in addition to the <tt>$XDG_CONFIG_HOME</tt> base directory. The directories in <tt>$XDG_CONFIG_DIRS</tt> should be separated with a colon ':'. If <tt>$XDG_CONFIG_DIRS</tt> is either not set or empty, a value equal to {{path|/etc/xdg}} is used.
  |  |