The KDE Configuration HOWTO
1. What is the K Desktop Environment?
The KDE Project is a free software project
dedicated to the development of KDE, an open source graphical desktop
environment for Linux and Unix workstations. The development is covered by
several hundred software engineers from all over the world committed to free
software development. See also What is the KDE Project.
The K Desktop Environment is an easy to use desktop environment build around a
well-thought application framework to allow for application interoptability,
drag 'n drop, etc. Apart from the necessary components the KDE environment also
provides ready-to-use applications for 101 tasks: file management, internet
browser, office application, e-mail handling, ... Everything is covered by the
The KDE environment is available in more than 70 languages and has an immense
userbase. For those interested, there are lots of screenshots available. For more
information on KDE, read the What is
KDE? article on KDE.org.
Many KDE-based community sites exist. On KDEnews.org you'll find the latest news on
KDE generally. KDEdevelopers.org
is targeted at the KDE development specifically, while KDE-forum is better suited for the large
masses. More links can be found on the KDE Family page.
2. Installing KDE
What do you need?
First of all, if you're interested in installing KDE (or KDE support), you will
have to make sure that your USE variable contains the kde and qt
flags. For those of you interested, Qt is the graphical widget library KDE
Second, you need to think on what you want to install from the KDE distribution.
As mentioned before, KDE is very feature-rich and embraces lots of packages. You
don't have to believe our word for it -- just check yourself :)
Code Listing 2.1: Listing all packages KDE would install
# emerge --pretend kde | less
If you're not interested in installing all those packages, you can emerge the
individual packages. You will most definitely want the kdebase package as
it contains KDE's base packages and necessities. The following table lists some
available packages you can emerge.
Accessibility related programs, managed by the KDE Accessibility Project
KDE Administrative tools, such as KCron (Task Scheduling),
KUser (User Management) and KDat (Backup Management)
Various art-related stuff, including screen savers and themes. See also artist.kde.org for more KDE related
Educational KDE applications focused on schoolchildren aged 3 to 18. See
also the KDE Edu Project.
Various KDE-developed games. More information can be found at the KDE Games Center.
Graphic-related tools for KDE, including KSnapshot (Screenshot
Software), KPain (Simple Graphical Editor), Kpdf (PDF viewer),
KIconEdit (Icon Editor) and KPovModeler (a 3D Modeler).
Internationalisation-related files for KDE. This includes support for
foreign languages (and currencies, number/date formats, ...) and
documentation. See also the KDE i18n
project for more information.
Multimedia-related applications, including support for CD, MP3, DVD,
sequencing, sound and video applications. More information can be found on
the KDE Multimedia Project
Network-related applications such as kppp (Dial-In) and lisa
(Networking). Note that konqueror (File Manager and Browser)
is part of kdebase!
Personal Information Management tools, such as KOrganizer (Journal),
KAddressbook (Address book), Kontact (Groupware) and
KMail (E-mail). More information online at the KDE PIM Project website.
Code development tools, including KBabel (Translation tool),
KBugBuster (Front end for KDE bugtracking) and Kompare (GUI
to see differences between files).
Various toys to amuse yourself with when you're waiting for your pizza
delivery. You'll find applets such as eyesapplet and
fifteenapplet, but also nifty tools like amor which doesn't do
much except eat resources :)
Graphical system tools such as kcalc (Calculator), kdessh (SSH
terminal), kfloppy (Floppy-related actions), etc.
For instance, to install KDE with only the network- and admin-related
Code Listing 2.2: Example installation of individual KDE components
# emerge kdebase kdenetwork kdeadmin
In case you wonder: compiling KDE does take a while :)
Now let us take a look at the result. Now your mother has probably told you
never to work as root. So we'll take on your mother's advice and test
KDE as a user. Log in as your user and configure your session so it starts KDE
when you issue startx. You can do this by writing exec startkde in
Code Listing 2.3: Configuring your local session
$ echo "exec startkde" > ~/.xinitrc
Now start up your graphical environment by running startx.
Code Listing 2.4: Starting KDE
You will be greeted by an application called KPersonalizer.
Congratulations, let's now take a look at how we can configure KDE...
3. Configuring KDE
KPersonalizer is the application that configures KDE for you. It's a very
useful wizard that allows you to quickly change KDE to suit your own needs. When
you run KDE for the first time, KPersonalizer is automatically started.
The first input KPersonalizer requests is your country and the language of your
choice. As we haven't installed the necessary language packs on your system yet,
the available languages will be very slim -- you'll probably have only English
to choose from. Don't mind this, we will change the language later on (if
applicable of course).
The second choice you're offered is the System Behaviour. This includes
window activation, mouse selection, etc. When you select a certain behaviour
it's description is shown to help you choose the behaviour you like. If you're
uncertain, don't panic -- you are able to change the behaviour whenever you
Next KPersonalizer asks for the amount of eye-candy it should activate. The more
eye-candy you want, the funkier your KDE will be, but the more your CPU will be
stressed. However, this should be taken with a bit of salt - on a 600 Mhz CPU
with 128 Mb of memory, enabling full eye candy still results in a responsive
Finally, KDE asks what style you want to use. A style defines the window
decoration, theme, button layout, etc. Try several styles to see which one you
like the most. Did we already mention KDE is fully configurable?
Now sit back and enjoy -- KDE will start up and you'll be greeted by a nice,
clean, functional desktop environment.
Installing Language Packs
If English isn't your native language or you're just interested in working with
KDE in a foreign language, please read on. We will install the language pack(s)
for the language(s) you want to use with KDE.
Language packs are contained in the kde-i18n package. To install the
language packs of your choice, you need to set the LINGUAS variable to
the language(s) you want to use. It is adviseable to set this variable in
/etc/make.conf so that updating your system doesn't remove the
language packs you want.
Code Listing 3.1: Setting LINGUAS in /etc/make.conf
# nano -w /etc/make.conf
Now run emerge kde-i18n to install the language packs. Once settled, fire
up KDE, then start the KDE Control Center (K-menu > Settings > Control
Center). This is the application where you can control almost every
aspect of KDE. It is much more extended than KPersonalizer.
To change your language, go to Regional & Accessibility,
Country/Region & Languages. Then add the language(s) of your choice.
To see your (localised) KDE in its full glory, log out and in again, and enjoy.
If you want to use kdm as graphical login manager (which means you don't
have to log on onto a terminal and type startx every time) you first need
to look inside /etc/X11/Sessions to see how the KDE session is
Code Listing 3.2: Checking the KDE session name
# ls /etc/X11/Sessions
Xsession fluxbox kde-3.2.1
In the above example, the KDE session is called kde-3.2.1. Let's enter
this in /etc/rc.conf in the variable called XSESSION. While
you are at it, also set the DISPLAYMANAGER to kdm.
Code Listing 3.3: Setting XSESSION in /etc/rc.conf
# nano -w /etc/rc.conf
Finish up by adding xdm to the default runlevel:
Code Listing 3.4: Adding xdm to the default runlevel
# rc-update add xdm default
When you reboot your system, it will use KDM as graphical login manager.
4. Frequently Asked Questions
KDE is extremely slow during startup
Make sure your /etc/hosts file is correct:
If you have a static IP address, make sure your FQDN and hostname are
mentioned on that line, like 192.168.0.10 tux.mydomain tux
If you have a dynamic IP address or you do not have any additional
interfaces at all, add your hostname after the localhost statement, like
127.0.0.1 localhost tux
Check if you have DMA enabled for your disks:
Code Listing 4.1: Verifying DMA settings
# hdparm /dev/hda
using_dma = 1 (on)
If you don't have an IPv6-enabled network, disable KDE's IPv6 checking by
adding the following line to /etc/env.d/99kde-env:
Code Listing 4.2: Changing /etc/env.d/99kde-env
KDE_NO_IPV6 = 1
The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.