The K Desktop Environment

Chapter 4. Installation instructions

These are the generic installation instructions for the K Desktop Environment. Please complement your reading with the READMEs and INSTALLs that come along with the package. Please read them carefully and try to help yourself out if anything goes wrong. If you need further assistance, consider joining the KDE mailing lists (see our web site instructions for joining the KDE mailing lists) or newsgroups.

KDE 2.0 users should refer to the KDE 2.0 Info Page for some KDE 2.0-specific information.

4.1. To the would-be converts
4.2. Available package formats
4.3. Prerequisites
4.4. Description of the base packages
4.5. Installation instructions for the different package formats
4.6. Post-installation procedures
4.7. Micro-HOWTO: Compiling KDE 1.1.1 on SGIIRIX® 6.x
4.8. Should I remove old version xyz before installing a new one?
4.9. How do I start KDE?
4.10. Whenever I start KDE, it complains about "shadow passwords". Why?
4.11. Is it possible to install KDE in a user directory?
4.12. startkde fails with can not connect to X server. What is wrong?
4.13. Installing Debian packages with dpkg says giflib2 is missing
4.14. KDE on AIX™?
4.15. Installing Red Hat® packages says libncurses.so.3.0 is needed
4.16. KDE on a laptop?
4.17. I do not like the default KDE directory after installation. How do I move it without breaking anything?
4.18. Where has the snapshot configure script gone?
4.19. How do I unzip tarballs with the bz2 extension?
4.20. What files can I delete from my KDE install directory? Can all the *.h, *.c and *.o files be safely removed?
4.21. Will I lose my current settings when I upgrade KDE?
4.22. Compiling kdebase gives me a bin/sh: msgfmt: command not found error!
4.23. How do I uninstall KDE applications compiled from scratch?
4.24. What is up with GIF support?
4.25. How do I install KDE themes?

4.1. To the would-be converts

So you have heard the rumors. Or you have seen the screenshots. And you are dying to get hold of KDE. But you know next to nothing about this whole "alternative OS" business. Don't worry! You only need to do some (well, maybe not some) reading, that's all!

KDE does not run on Windows® 95/98/NT or OS/2 (yet). To run KDE, you need to have a UNIX® system. Please refer to Q: 2.3. for more details.

Let's say you have decided to install Linux®. You can either download it from the Internet, or buy a CD-ROM set that contains the distribution of your choice. You might find the following resources useful:

In order to run KDE on Linux®, you need to set up the X Window System™ first. The X Window System™ is the de facto GUI on UNIX® systems. You might want to take a look at the following resources:

Finally, you are ready to commence the KDE installation. Please start reading from the next section. To get KDE, please refer to Q: 3.1.. Last but not least, if you encounter any problems while installing KDE, please do not hesitate to make use of the KDE mailing lists and newsgroups. But do bear this in mind: no question is too silly to ask, but some are too silly to answer, especially when they are already answered in this FAQ.

Good luck and have fun!

4.2. Available package formats

The KDE team provides six different kinds of packages: source and binary RPMs, source and binary .tgz (.tar.gz) files, and source and binary Debian files. The first to be released are usually the source .tgz files, but other formats will appear soon after. Recently, source and binary .tar.bz2 files are also being made available. Please refer to Q: 4.19. for more information on unzipping tarballs with .bz2 extension. In addition, pkg packages for Solaris™ 2.6 and 7 have also appeared.

The installation process depends on which package format you choose. After the installation, there are post-installation procedures that apply for all package formats. Note that if you are an inexperienced UNIX® user and have a RPM-based system, you are probably best off choosing the binary RPM packages being provided by your distribution vendor. At least Caldera, Delix, and S.u.S.E. will make binary RPMs available via their FTP servers.

If you need special configuration options (e.g. because you have shadow passwords and want to use the screensavers), your best bet is to use the source packages and compile KDE yourself.

Note

Bill Mote has published a home page called "KDE 1.1 Installation via RPM". Go see it here.

4.3. Prerequisites

For KDE 2.0, you need the Qt™ library version 2.2 or higher, while for KDE 1.1, KDE 1.1.1, and KDE 1.1.2, you need version 1.42 or higher. For KDE 1.0, you need Qt™ 1.33 or higher. Please make sure you download the correct Qt™.

Caution

KDE 1.x will not work with Qt™ 2.0 or higher.

You would also need the header files as well if you want to compile KDE yourself. They are all available at no cost from http://www.trolltech.com/download. In addition, there are optional libraries that might improve KDE if installed on your system. An example is libssl which will enable Konqueror to browse web pages securely.

4.4. Description of the base packages

The base distribution currently consists of eleven packages. Some are required, while others are optional. Each package is available in each of the aforementioned package formats.

kdesupport

Recommended

This package contains support libraries that have not been written as part of the KDE project, but are needed nevertheless. If you already have the libraries (libgif, libjpeg, libmime, libuu, libgdbm) in this package in the required versions, then you do not need to install this package. When in doubt, install it. Note that for the Debian packages, this package is required.

kdelibs

Required

This package contains shared libraries that are needed by all KDE applications.

kdebase

Required

This package contains the base applications that form the core of the K Desktop Environment like the window manager, the terminal emulator, the control center, the file manager, and the panel.

kdegames

Optional

Various games like mahjongg, snake, asteroids, and tetris.

kdegraphics

Optional

Various graphics-related programs like PostScript® previewer, DVI previewer, and a drawing program.

kdeutils

Optional

Various desktop tools like a calculator, an editor and other nifty stuff.

kdemultimedia

Optional

Multimedia applications like a CD player and a mixer.

kdenetwork

Optional

Network applications. Currently contains the mail program, the news reader, and several other network-related programs.

kdeadmin

Optional

System administration programs.

kdetoys

Optional

Toys!

Korganizer

Optional

Your desktop would never be complete without an organizer, right?

kdesupport (if needed) should be installed before everything else. The next (or first) package should be kdelibs. The other packages can be installed in any arbitrary order.

4.5. Installation instructions for the different package formats

Important

Please do not forget to read the README and INSTALL files if they are available.

Installation of the Debian packages

The Debian packages install according to the upcoming FHS (File Hierarchy Standard).

  1. become superuser

  2. run dpkg -i packagename.deb for every package you want to install.

Installation of the RPM packages

To install binary RPMs

  1. become superuser

  2. execute rpm -ivh packagename.rpm

To create and install a binary RPM from the source RPM

  1. become superuser

  2. run rpm -ivh packagename.src.rpm

  3. cd /usr/src/redhat/SPECS

  4. rpm -bb packagename.spec

  5. cd ../RPMS/i386 (or whatever architecture you use)

  6. rpm -ivh packagename.i386.rpm

Installation of the source .tar.gz files

The source .tgz package installs into /usr/local/kde by default. You can override this setting by using the --prefix option of the configure script.

  1. unpack the packages with tar xvzf packagename.tar.gz

  2. change directory to the package directory: cd packagename

  3. configure the package: ./configure

    Note

    Some packages (notably kdebase) have special configuration options that might be applicable to your installation. Type ./configure --help to see the available options.

  4. build the package: make

  5. install the package: su -c "make install" (if you aren't already root). If you already are, just type make install.

Installation of the binary .tar.gz files

The binary .tar.gz package installs into /opt/kde.

  1. become superuser

  2. cd /

  3. tar xvzf packagename.tar.gz

4.6. Post-installation procedures

First of all, please make sure that you have added KDE's binary installation directory (e.g. /opt/kde/bin) to your PATH and KDE's library installation directory to your LD_LIBRARY_PATH (only necessary on systems that do not support rpath; on Linux® ELF, it should work without). This environment variable may be called differently on some systems, e.g. it is called SHLIB_PATH on IRIX®. Then set the environment variable KDEDIR to the base of your KDE tree, e.g. /opt/kde.

Caution

Please bear in mind that it is unwise to set LD_LIBRARY_PATH blindly. In the vast majority of cases it is unnecessary and can do more harm than good. There is a web page written by Dave Barr explaining the evils of LD_LIBRARY_PATH and it can be found at http://www.cis.ohio-state.edu/~barr/ldpath.html.

Even though you can use most of the KDE applications simply by calling them, you can only benefit fully from KDE's advanced features if you use the KDE window manager and its helper programs.

In order to make it easy for you, we have provided a simple script called startkde which gets installed in $KDEDIR/bin and is therefore in your path.

Edit the file .xinitrc in your home directory (make a backup copy first!), remove everything that looks like calling a window manager, and insert startkde instead. Restart the X Window System™. If you use kdm/xdm, you will have to edit the file .xsession instead of .xinitrc. And if there is no .xinitrc or .xsession in your home directory, simply create a new one with just one line containing startkde.

Note

Some systems (notably Red Hat® Linux®) use .Xclients instead.

This should present you with a new shining KDE desktop. You can now start to explore the wonderful world of KDE. In case you want to read some documentation first, there is a highly recommended Quick Start guide available. Furthermore, every application has an online help that is available via the help menu.

4.7. Micro-HOWTO: Compiling KDE 1.1.1 on SGIIRIX® 6.x

Chris Berry posted the following updated micro-HOWTO (edited for layout) to comp.windows.x.kde.

This is a (blatant) modification of the original Micro-HOWTO posted by Chris Sterritt. This is valid for KDE-1.1.1 running on IRIX® 6.5. I haven't attempted it on other platforms. There are some items of contention: I get many, many warnings about Qt™ definitions being preempted, about libkdecore definitions being preempted, etc. (So many definitions have been preempted I could have written a dictionary), the i18n stuff doesn't work (while it did in v1.0) and kikbd chokes in Konsole (it works fine otherwise). Any comments or questions can be directed to . I will also keep a copy of this HOWTO on my personal web-page: http://alcor.concordia.ca/~c_berry/.

Also, if this isn't your cup of tea, I have uploaded binaries of kde-1.1.1 and egcs-1.1.2 to ftp://ftp.cmc.ec.gc.ca/pub/hbc/sgi/. KDE has been compiled with shared libraries, so if you don't have libstdc++.so.2.9.0 I would suggest downloading the egcs binary as well. Please also download and read the README in the directory, as it contains important installation information.

Finally, neither I nor Environment Canada accept any responsibility vis a vis the worthiness of these instructions. They have worked for me. If they work for you, that's good, if they don't work, I can't help you, neither can anybody at EC. Note that several things don't work the way they are supposed to work. If you find a way around these problems, let someone else know. I personally won't be able to test any fixes after August 20, 1999 as I will be returning to school (and using SunOS).

Enjoy!

Compiling KDE 1.1.1 on SGIIRIX® 6.x

  1. Install Qt™ 1.42 or higher

  2. I am installing KDE as me (not root) so I have a KDEDIR environmental variable which is set to something other than /usr/local/ or whatever is the default. So I'll mention it below, but you may not have to. Also, SGI™ has a jpeg and a png library, but they're out of date or otherwise wrong. So you'll have to track down the libpng and libz sources (jpeg comes in kdesupport); I found them as source RPMs in one of the Red Hat® FTP mirrors.

  3. Get egcs 1.1.1 or later and compile it with -fsquangle support on. This is because SGI™'s assembler can't handle the huge object names produced by normal g++, and gas doesn't evidently work yet for SGI™s. You'll have to build gcc's libraries using this binary as well. Make sure your PATH gets this compiler only (if you have another gcc installed somewhere). When I do a g++ -v I get:

     gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)
  4. Do a setenv LDFLAGS " " because the configure scripts insist on trying g++ -s when compiling a test program, which always fails on the SGI™s.

  5. Unpack "kdesupport" and enter its directory. Run its configure with --prefix if you need to:

     ./configure --prefix=$KDEDIR --x-includes=/usr/include/X11 \
     --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \
     --with-qt-libs=/opt/kde-1.1.1 --enable-shared

    Modify this to reflect your reality. In my case, I have Qt™ stuck in the same dir as KDE, so I had to explicitly name the includes and libs dir. Sometimes the configure will still not see the Qt™ includes dir. Source your .login file to correct this (You did set up your .login file as the instructions in the Qt™ installation asked?).

  6. Run the script (which I'll include below) as follows:

     find . -name Makefile -exec ../FixMakesSq {} \;

    This fixes all the compile lines so that all the "replicated" libraries (jpeg and png) are replaced with full paths so they won't be linked with the SGI™ ones.

    Note

    In the original HOWTO, -fsquangle was added to each makefile. This caused compilation errors. I found that it was really only needed in one makefile. It will be noted below.

    Here's the FixMakesSq script:

       1 #!/bin/perl -ni.bak
       2  
       3 if ((/-lpng/) || (/-ljpeg/))
       4 {
       5     if (/^(.*)-lpng(.*)$/)
       6     {
       7         $b4 = $1;
       8         $af = $2;
       9         print "$b4 /path/to/KDE/libs/libpng.a $af\n";
      10     }
      11     if (/^(.*)-ljpeg(.*)$/)
      12     {
      13         $b4 = $1;
      14         $af = $2;
      15         print "$b4 /path/to/KDE/libs/libjpeg.a $af\n";
      16     }
      17 }
      18         
      19 #NOTE!! Uncomment this section if you want to add
      20 #-D_LANGUAGE_C_PLUS_PLUS to all 
      21 #makefiles.  I personally have not tried this, but it should not break 
      22 #anything.
      23 # Alternately, add the flag in the places noted below.
      24 
      25 #elsif (/cxxflags\s*=(.*)$/i)
      26 #{
      27 #    print "CXXFLAGS =  -D_LANGUAGE_C_PLUS_PLUS $1\n";
      28 #}
      29 else
      30 {
      31     print;
      32 }

    Do:

     gmake
     gmake install
  7. Go to the libz source directory, do:

     ./configure --prefix=$KDEDIR
     gmake
     gmake install
  8. Go to the libpng source directory, do:

     ./configure --prefix=$KDEDIR
     gmake
     gmake install
  9. Unpack kdelibs and enter its directory. Note the --enable-new-stuff argument to ./configure (this might not be needed, but nothing complains if you use it):

     ./configure --prefix=$KDEDIR --x-includes=/usr/include/X11 \
    --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \
    --with-qt-libs=/opt/kde-1.1.1 --enable-shared --enable-new-stuff
     find . -name Makefile -exec ../FixMakesSq {} \;
  10. Find kprocctrl.cpp, and fix the Makefile in that directory. Only if you did not uncomment the section that accomplishes this in the FixMakesSq script, add -D_LANGUAGE_C_PLUS_PLUS to the CXXFLAGS line. This makes it get the right definition for signal functions (has an int arg).

  11. Find addressbook.cc, and fix the Makefile in that directory. Add -fsquangle to the CXXFLAGS line. This makes it able to handle the huge name that's going to pop out.

     gmake
     gmake install
  12. Unpack kdebase and enter its directory. Do:

     ./configure --prefix=$KDEDIR  --x-includes=/usr/include/X11 \
    --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \
    --with-qt-libs=/opt/kde-1.1.1 --enable-shared 
     find . -name Makefile -exec ../FixMakesSq {} \;
  13. Fix memory_sgi.cpp (do a find from kdebase directory). I just #ifdef'd out the contents of the whole function... it doesn't compile on my machine, and I never open that part of kpanel anyway :-).

  14. Fix TEShell.C (in kdebase-1.1.1/konsole/src/ directory). It is the operation for getting a pty for the new Konsole. Alas, it was not written with IRIX® in mind, and needs to be patched with the diff included below:

       1 *** TEShell.C   Mon Apr 12 00:12:37 1999
       2 --- /users/dor/aspg/ber/data/kdedown/kdebase-1.1.1/konsole/src/TEShell.C
       3 Wed Jul 14 15:15:35 1999
       4 ***************
       5 *** 169,174 ****
       6 --- 169,177 ----
       7     pid_t pid = waitpid(-1,&status,WNOHANG);
       8     Shell* sh = shells.find(pid);
       9     if (sh) { shells.remove(pid); sh->doneShell(status); }
      10 + #if defined(sgi)
      11 +   signal(SIGCHLD,catchChild);
      12 + #endif
      13   }
      14   
      15   void Shell::doneShell(int status)
      16 ***************
      17 *** 234,239 ****
      18 --- 237,252 ----
      19         }
      20       }
      21     }
      22 + #endif
      23 + 
      24 + #if defined(sgi) /* Irix */
      25 +  
      26 +   needGrantPty = FALSE;
      27 +   char* line;
      28 +   line = _getpty(&ptyfd, O_RDWR|O_NDELAY, 0600, 0);
      29 +   strcpy(ptynam,"/dev/ptc");
      30 +   strcpy(ttynam,line);
      31 +  
      32   #endif
      33   
      34     if (ptyfd < 0) // Linux, FIXME: Trouble on other systems?

    Then:

     gmake
     gmake install
  15. Unpack kdeutils.

     ./configure --prefix=$KDEDIR  --x-includes=/usr/include/X11 \
    --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \
    --with-qt-libs=/opt/kde-1.1.1 --enable-shared 
     find . -name Makefile -exec ../FixMakesSq {} \;
  16. Find kcalc_core.cpp and fix its Makefile like you did for kprocctrl.cpp above.

     gmake
     gmake install
  17. Unpack kdegames, kdegraphics, and kdetoys and for each one, enter its directory and do:

     ./configure --prefix=$KDEDIR  --x-includes=/usr/include/X11 \
    --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \
    --with-qt-libs=/opt/kde-1.1.1 --enable-shared
     find . -name Makefile -exec ../FixMakesSq {}
     gmake
     gmake install
  18. This step is optional for KDE-1.1. I don't think it is necessary for KDE-1.1.1. KNotes has never crashed on me. I have left it here for completeness . Find where the knotes directory is. Go there, do a make clean, then change the CXXFLAGS in its Makefile. The CXXFLAGS line has -O2, change that to -g. Then do a make and make install. The reason for this is that I found KNotes crashed within a few minutes of it starting up; however, when I recompiled it with -g (i.e. debugging support) instead of -O2 (optimization) it ran fine. Go figure :-).

And that's it. You should now be able to run KDE.

4.8. Should I remove old version xyz before installing a new one?

In principle, this is not necessary. RPM and DEP packages should take care of all dependencies.

If you compile the source code yourself, you might take care not to compile different versions of the KDE packages. So if you install a new version, please first make and install kdesupport, then kdelibs, then kdebase.

One thing you should avoid: installing two or more versions of KDE in parallel. This might happen if you specify a different target directory for one version than for the other. The result may be unpredictable. The same is true if you have different versions of Qt™ installed at the same time. This happens easily if you already have an old Qt™ version installed with a Linux® distribution.

4.9. How do I start KDE?

The most comfortable method to start KDE is to use the startkde script. Simply put the line startkde at the end of your .xsession file (or your .xinitrc or .Xclients file if you are not using kdm or xdm). Please also remove the lines that start your previous window manager. If there is no .xsession, .xinitrc, or .Xclients in your home directory, simply create a new one that just contain one line saying startkde.

4.10. Whenever I start KDE, it complains about "shadow passwords". Why?

When your system uses shadow passwords, the screensaver can only run properly if the suid bit is set. This bit gives the screensavers root privileges, which are needed to access the shadow passwords.

Caution

The screensavers might be configured to secure the machine until the password is entered.

Setting the suid bit on the screensavers

  1. become root

  2. chown root $KDEDIR/bin/*.kss

  3. chmod u+s $KDEDIR/bin/*.kss

Alternatively, if you compile KDE from source, you can use ./configure --with-shadow to configure kdebase. Then the suid bit is set automatically during make install.

4.11. Is it possible to install KDE in a user directory?

Yes, you can install KDE in any directory you want. What you have to do depends on the kind of packages you want to install:

Source packages

  1. Configure and install the package using configure --prefix=/users/myhome/kde; make; make install to install into /users/myhome/kde.

  2. Add the following to your init files. Please note that if it is not necessary for you to set LD_LIBRARY_PATH, it is better to leave it out.

    For csh or tcsh:

       1 setenv KDEDIR /users/myhome/kde
       2 
       3 if ( $?LD_LIBRARY_PATH ) then
       4    setenv LD_LIBRARY_PATH $KDEDIR/lib:$LD_LIBRARY_PATH
       5 else
       6    setenv LD_LIBRARY_PATH $KDEDIR/lib
       7 endif
       8 
       9 if ( ! $?LIBRARY_PATH ) then
      10    setenv LIBRARY_PATH $LD_LIBRARY_PATH
      11 endif  

    For bash:

       1 KDEDIR=/users/myhome/kde
       2 PATH=$KDEDIR/bin:$PATH
       3 LD_LIBRARY_PATH=$KDEDIR/lib:$LD_LIBRARY_PATH
       4 LIBRARY_PATH=$LD_LIBRARY_PATH
       5 export KDEDIR PATH LD_LIBRARY_PATH LIBRARY_PATH

RPM packages

  1. rpm allows you to use the --prefix option to select the directory you want to install to. For example, executing rpm -i --prefix=/users/myhome/kde package.rpm will install the package to /users/myhome/kde.

Note

Although KDE will run from a user directory, there are some problems with programs that require suid root, e.g. the programs in the kdeadmin package. But since they are not meant to be run by users in the first place, this is nothing to worry about.

However, on systems using shadow passwords, the screensavers have to be suid root to enable password access for unlocking the screen, so this option will not work.

4.12. startkde fails with can not connect to X server. What is wrong?

You probably tried to start the X server with startkde. The X server is started with startx. startkde is the script that should be run from your .xinitrc, .xsession, or .Xclients to activate the window manager and the necessary server daemons for KDE. See also Q: 4.9..

4.13. Installing Debian packages with dpkg says giflib2 is missing

Sometimes when installing KDE Debian packages, dpkg complains about dependency problems: giflib2 is missing. As giflib2 is not needed, the solution is simple: dpkg -i --ignore-depends=giflib2 package.deb

4.14. KDE on AIX™?

If you have trouble building KDE on AIX™ check out Stefan Westerfeld's Running KDE on Aix page for lots of help on building KDE on this exceptional UNIX® variant.

4.15. Installing Red Hat® packages says libncurses.so.3.0 is needed

If there is no rpm for it on your Red Hat® CD-ROM, poke around the Red Hat® FTP site and its mirrors to get it. Do bear in mind that libncurses-3 and -4 coexist so there is no need to replace one with the other, i.e. a plain rpm -i will do.

Or you might try the following (as root):

  1. cd /usr/lib

  2. ln -s libncurses.so.4 libncurses.so.3

  3. ldconfig

Since libncurses-3 and -4 are 100% compatible both at binary and at source level, installing both is just a waste of space.

4.16. KDE on a laptop?

If you can get the X Window System™ to run, you should not have any problem getting KDE to run on it. In addition, you might find the following links helpful:

For laptops with exotic resolution like 1024x600, you can try editing the XF86Config file (in /etc/X11 if you use Red Hat®). If you have some experience with this file, you will know that there are several different "Modeline" lines in it. You only have to add a Modeline for your resolution. Unfortunately, the format of the Modeline lines is pretty esoteric; i.e. you have to read up a lot. One source of information could be the XFree86 Video Timings HOWTO.

4.17. I do not like the default KDE directory after installation. How do I move it without breaking anything?

Assuming the default is /opt/kde and you want to move it to /usr/local/kde, here's what you have to do:

  1. change to superuser if you aren't already

  2. mv /opt/kde /usr/local/kde

  3. ln -s /usr/local/kde /opt/kde

This will put all your KDE files in /usr/local/kde but everything is still accessible from /opt/kde.

4.18. Where has the snapshot configure script gone?

Maybe this has already been rectified, but just in case it isn't, here's the solution: make -f admin/Makefile.common cvs

4.19. How do I unzip tarballs with the bz2 extension?

First, you need the bzip2 package. Get it from your favorite FTP site if you have not already got one. Next, to view the contents, simply do this: bzip2 -cd files.tar.bz2 | tar tvf -. To extract, do this instead: bzip2 -cd files.tar.bz2 | tar xvf -. Of course, you might be able to use something like tar --use-compress-program bzip2 -xvf files.tar.bz2 if your tar supports it. Please man tar and man bzip2 for further information, and you might also want to read up the Bzip2 mini-HOWTO. By the way, the bzip2 home page is at http://sources.redhat.com/bzip2/index.html.

4.20. What files can I delete from my KDE install directory? Can all the *.h, *.c and *.o files be safely removed?

There should not be any need to keep the .c and .o files, but you might want to keep the .h files, as they are used by includes if you ever want to compile your own KDE programs. But if you wish to add patches to the source programs as they become available (rather than downloading everything again), then they should stay.

4.21. Will I lose my current settings when I upgrade KDE?

There are mixed reports of results when moving to KDE 2.0 from KDE 1.x. Settings are kept in the .kde subdirectory in your home directory. There have been many changes to settings both globally and inside each application. For best results we suggest you copy your old .kde directory to a backup location, install KDE 2.0, and then copy back any necessary mail and news settings. Most other settings are so different that it is best to configure them directly within KDE 2.0. That said, there are reports of direct upgrades without removing the old .kde directory happening without a hitch. Your mileage may vary.

4.22. Compiling kdebase gives me a bin/sh: msgfmt: command not found error!

You need the GNU msgfmt which is part of the GNU i18n package gettext. You should be able to download it from any decent GNU mirrors.

4.23. How do I uninstall KDE applications compiled from scratch?

You can uninstall your programs by typing make uninstall in the directory where you did make install. If you have already nuked away that directory, then there is only one way, and it is not good: go to $KDEDIR/bin and start deleting files one by one.

4.24. What is up with GIF support?

This has something to do with Unisys' LZW patent. GIF support is turned off from Qt™ 1.44 onwards by default. Either use an older Qt™ (if you are still using KDE 1.x), or recompile it with GIF support turned on using ./configure -gif.

4.25. How do I install KDE themes?

There is no theme manager in KDE 2 yet; please refer to http://kde.themes.org/php/comments.phtml?forum=news.26.34 instead.