Next Previous Table of Contents
These are the installation instructions for the 1.0 release of the KDE Desktop Environment. For later versions, 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.
So you have heard the rumours. 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 doesn't run on Windows 95/98/NT or OS/2 (yet). To run KDE, you need to have a Unix system. Please refer to On which platforms can I expect KDE to work? 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 X first. X 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 see Where do I get KDE?. 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!
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 see How do I unzip tarballs with the 'bz2' extension? for more information. In addition, pkg packages for Solaris 2.6 and 7 have also appeared.
The installation process depends on which package format you choose. After 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 screen-savers), your best bet is to use the source packages and compile the KDE Desktop Environment yourself. Binary RPM packages for distributions which do not offer official KDE packages are made available via the contrib section of ftp.kde.org as soon as they are available.
Bill Mote has published a home page called "KDE 1.1 Installation via RPM". Go see it at http://home.fuse.net/bmote/kde.htm.
For KDE 1.0, you need the Qt library version 1.33 or higher, while for KDE 1.1, you need version 1.42 or higher. Don't download Qt 2.0 or higher, though. 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.troll.no/dl. You also need the libgr which should be included in most distributions. Please also make sure that your local loopback device is setup correctly.
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.
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.
This package contains shared libraries that are needed by all KDE applications.
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.
Various games like mahjongg, snake, asteroids and tetris.
Various graphics-related programs like PostScript[TM] previewer, dvi previewer and a drawing program.
Various desktop tools like a calculator, an editor and other nifty stuff.
Multimedia applications like a CD player and a mixer.
Internet applications. Currently contains the mail program, the news reader and several other network-related programs.
System administration programs. Currently contains the user manager and the System V runlevel editor.
Toys!
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.
Please don't forget to read the README and INSTALL files if they are available.
The Debian packages install according to the upcoming FHS (file hierarchy standard).
To install the Debian package:
for each and every package you want to install.
The RPM packages install into /opt/kde.
To install the binary RPM:
To create a binary RPM from the source RPM and install it, do the following:
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.
Some packages (notably kdebase) have special configuration options that might be applicable to your installation. Type "./configure --help" (without the quotes) to see the available options.
The binary .tar.gz package installs into /opt/kde.
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.
Please bear in mind that it is unwise to set LD_LIBRARY_PATH blindly. In the vast majority of cases it's unnecessary and can do more harm than good. There's 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 KWM 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 X. 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" (without the quotes!). Note: some systems (notably Redhat Linux) uses .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 quickstart guide available. Furthermore, every application has an online help that is available via the help menu.
Chris Sterritt posted the following (edited for layout) to comp.windows.x.kde.
gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)
setenv LDFLAGS " "
because the 'configure' scripts insist on trying 'g++ -s' when compiling
a test program, which always fails on the SGIs.
./configure --prefix=$KDEDIR
find . -name Makefile -exec ../FixMakesSq {} \;
This fixes all the compile lines so that:
#!/bin/perl -ni.bak
if (/cflags\s*=(.*)$/i)
{
print "CFLAGS = -fsquangle $1\n";
}
elsif (/cxxflags\s*=(.*)$/i)
{
print "CXXFLAGS = -fsquangle $1\n";
}
elsif ((/-lpng/) || (/-ljpeg/))
{
if (/^(.*)-lpng(.*)$/)
{
$b4 = $1;
$af = $2;
print "$b4 /path/to/KDE/libs/libpng.a $af\n";
}
if (/^(.*)-ljpeg(.*)$/)
{
$b4 = $1;
$af = $2;
print "$b4 /path/to/KDE/libs/libjpeg.a $af\n";
}
}
else
{
print;
}
make
make install
./configure --prefix=$KDEDIR
make
make install
./configure --prefix=$KDEDIR
make
make install
./configure --prefix=$KDEDIR --enable-new-stuff
find . -name Makefile -exec ../FixMakesSq {} \;
make
make install
./configure --prefix=$KDEDIR
find . -name Makefile -exec ../FixMakesSq {} \;
make
make install
./configure --prefix=$KDEDIR
find . -name Makefile -exec ../FixMakesSq {} \;
make
make install
./configure --prefix=$KDEDIR
find . -name Makefile -exec ../FixMakesSq {} \;
make
make install
And that's it. You should now be able to run KDE.
If you do get
error -2 reading header: Unknown error
you have to update rpm:
rpm -U ftp://ftp.suse.com/pub/suse_update/suse51/rpm/rpm.rpm
and you should also update YaST
rpm -U ftp://ftp.suse.com/pub/suse_update/suse51/a1/yast.rpm
The packages were built using rpm-2.4.12 and cannot be installed by some old versions of rpm. this mostly happens to SuSe Linux users. Version 5.0 of their distribution ships with rpm-2.4.1
You can find out which version your rpm is with:
rpm -qi rpm
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, of course) 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.
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 into your .xinitrc
file, if you are not using kdm or xdm). Please also remove the lines that
started your previous window manager. If there is no .xsession or
.xinitrc in your home directory, simply create a new one that just
contain one line saying "startkde" (without the quotes!).
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. (Remember: the screensavers might be configured to secure the machine until the password is entered.)
To set the suid bit on the screensavers, you (or the systems administrator) must issue the following commands as root:
chown root $KDEDIR/bin/*.kss
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
.
You can install KDE in every directory you want. What you have to do depends on the kind of packages you want to install:
Source packages
To configure, use a command like:
configure --prefix=/users/myhome/kde; make; make install
to install into /users/myhome/kde
.
After you have installed the packages in the user directory, you should add the following to your init files. Please note that if it isn't necessary for you to set LD_LIBRARY_PATH, it's better to leave it out.
For csh or tcsh:
setenv KDEDIR /users/myhome/kde
if ( $?LD_LIBRARY_PATH ) then
setenv LD_LIBRARY_PATH $KDEDIR/lib:$LD_LIBRARY_PATH
else
setenv LD_LIBRARY_PATH $KDEDIR/lib
endif
if ( ! $?LIBRARY_PATH ) then
setenv LIBRARY_PATH $LD_LIBRARY_PATH
endif
For bash, please use:
KDEDIR=/users/myhome/kde
PATH=$KDEDIR/bin:$PATH
LD_LIBRARY_PATH=$KDEDIR/lib:$LD_LIBRARY_PATH
LIBRARY_PATH=$LD_LIBRARY_PATH
export KDEDIR PATH LD_LIBRARY_PATH LIBRARY_PATH
RPM packages
rpm
allows you to use the -prefix
option to select the directory
to for installtion, e.g.
rpm -i -prefix=/users/myhome/kde package.rpm
Problems to expect
KDE will run from the users directory. There are some problems with programs that require SUID root, e.g. the programs in the kdeadmin package, but they are not meant to be run by users, so this is nothing to worry about.
However, on systems using shadow passwords, the screensavers have to be run SUID root to enable password access for unlocking the screen, so this option will not work.
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 in your
.xinitrc
or .xsession
to activate the window manager and the
necessary server daemons for KDE. See also:
How do I start KDE?.
Sometimes, when installing KDE Debian packages, dpkg complains about "dependency problems: giflib2 is missing". As the giflib2 is not needed, the solution is simple:
dpkg -i --ignore-depends=giflib2 package.deb
If you have trouble building KDE on AIX check out Stefan Westerfeld's KDE on AIX page for lots of help on building KDE on this 'exceptional' Unix variant.
If there isn't a rpm for it on your Redhat CD, poke around the Redhat 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:
cd /usr/lib
ln -s libncurses.so.4 libncurses.so.3
ldconfig
rpm -i --nodeps kdebase...
Since libncurses-3 and -4 are 100% compatible both at binary and at source level, installing two versions is just a waste of space.
If you can get X to run, you shouldn't have a 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 RedHat). 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'd have to read up a lot. One source of information could be the XFree86 Video Timings HOWTO.
Assuming the default is /opt/kde and you want to move it to /usr/local/kde. Here's what you've to do:
This will put all your KDE files in /usr/local/kde but everything is still accessible with /opt/kde.
Maybe this has already been rectified, but just in case it isn't, here's the solution:
make -f admin/Makefile.common cvs
First, you need the bzip2 package. Get it from your favourite FTP site if you haven't 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 can also use something like:
"tar --use-compress-program bzip2 -xvf files.tar.bz2"
. 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://www.muraroa.demon.co.uk/.
There shouldn't 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. Or if you wish to add patches to the source programs as they become available (rather than downloading everything again), then they should stay.
No, your settings will be fine even if you let's say remove your old RPM packages first (rpm -e <Packagename>.i386.rpm). This is because your KDE settings are kept in a folder in your home directory called 'Desktop' (as well as in some .files) while KDE itself is normally installed into a directory available system wide like /opt/kde.
But of course, it is always advisable to backup. Other than your personal config files, backing up $KDEDIR/share/config seems to be a good idea, too.
If you have enough space, move /opt/kde to /opt/ke10, say, and install onto /opt/kde11. Do the same with $HOME/.kde and also back up $HOME/Desktop. Use symbolic links /opt/kde and $HOME/.kde to get the installation prefix right without changing the environment variables, and also to switch between KDE 1.0 and 1.1. Do the same with Qt.
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.
The main problem seems to be the Solaris assembler. Switching to egcs-1.1.1 fixes the compiler crashes and gnu assembler (in "binutils-2.9.1") fixes the assembler problems.
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's only one way, and it isn't good: go to $KDEDIR/bin and start deleting files one by one.
This has something to do with Unisys' LZW patent. GIF support is turned off in Qt 1.44 by default. Either use an older Qt, or recompile it with GIF support turned on. However, I don't know whether it's legal to do so. Please search the kde-devel mailing list archive for details.
Next Previous Table of Contents