The K Desktop Environment

KDE Frequently Asked Questions

Wee Tiong Lee

t29v1051@ip.media.kyoto-u.ac.jp

1.01.02

This is a compilation of the most frequently asked questions about the K Desktop Environment.


Important

Please report any bugs, inconsistencies, or omissions you find in this FAQ to . Please do not, however, mail us your questions; post them to the KDE mailing lists and newsgroups instead.

1. About this FAQ
1.1. What can I do to help out with this FAQ?
1.2. How do I become a FAQ maintainer?
2. Introduction
2.1. What is KDE?
2.2. What does the K in KDE stand for?
2.3. On which platforms can I expect KDE to work?
2.4. Is KDE a window manager?
2.5. Is KDE a CDE, Windows 95 or MacOS clone?
2.6. Is KDE free software?
3. Getting KDE
3.1. Where do I get KDE?
3.2. Are there Linux® distributions that come with KDE?
3.3. What is the current version?
3.4. Where do I find KDE snapshots?
3.5. Where do I get Qt?
3.6. What is Qt, by the way?
4. Installation instructions
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 SGI Irix 6.x
4.8. Installing the RPMs with SuSe's YaST makes the rpm database unusable. What can I do?
4.9. Should I remove old version xyz before installing a new one?
4.10. How do I start KDE?
4.11. Whenever I start KDE, it complains about "shadow passwords". Why?
4.12. Is it possible to install KDE in a user directory?
4.13. startkde fails with can not connect to X server. What is wrong?
4.14. Installing Debian packages with dpkg says giflib2 is missing
4.15. KDE on AIX?
4.16. Installing Redhat packages says libncurses.so.3.0 is needed
4.17. KDE on a laptop?
4.18. I don't like the default KDE directory after installation. How do I move it without breaking anything?
4.19. Where has the snapshot configure script gone?
4.20. How do I unzip tarballs with the 'bz2' extension?
4.21. What files can I delete from my KDE install directory? Can all the *.h, *.c and *.o files be safely removed?
4.22. Will I lose my current settings when I upgrade KDE?
4.23. Compiling kdebase gives me a bin/sh: msgfmt: command not found error!
4.24. Compiling KDE using gcc in Solaris 2.6 but keep on getting errors.
4.25. How do I uninstall KDE apps compiled from scratch?
4.26. What's up with GIF support?
5. The panel
5.1. How do I add applications to the panel?
5.2. If I try to add an application, the panel complains! Why?
5.3. How do I embed an application in the panel?
5.4. Why is the panel clock showing the wrong time?
5.5. Is it possible to run kpanel in a non-KDE-compliant window manager?
5.6. Is it possible to change the K button of the panel to another picture?
6. The desktop
6.1. How do I add an application to the desktop?
6.2. How do I mount/unmount a device from the desktop?
6.3. How do I use a screensaver as background?
6.4. How do I highlight my menus even when I don't hold down the mouse button (similar to Win95)?
6.5. Where are the icons kept?
6.6. How do I change the standard menu items as non-root?
6.7. How do I use the mouse scroll wheel in KDE?
6.8. What exactly is the Templates folder?
6.9. Why can't I get system sounds to work, like for opening windows?
6.10. How do I launch applications in a particular desktop?
6.11. What should I do to get the Mac-like window decorations shown in the screenshot on the KDE page?
6.12. I played with the fonts section in the KDE Control Center but the fonts are still way too small. What can I do?
6.13. Is it possible to extend the Desktop Icon Menus?
6.14. Can I get rid of the Trash/Templates/Autostart icons?
6.15. Where do I save my files if I want them to appear directly on the desktop?
7. The window manager
7.1. Are there keyboard shortcuts for KWM operations?
7.2. Can I define my own set of keyboard shortcuts?
7.3. When I "iconify" a window, it disappears. Where does it go?
7.4. How do I get a sticky window with no border and focus?
7.5. How do I kill kwmpager?
7.6. How do I maximize windows only vertically or horizontally?
7.7. What is "shading a window"?
7.8. Is it possible to have FVWM2-like shadow frameworks for the placement of windows?
7.9. How do I disable session management?
8. The filemanager
8.1. How do I use KFM as web browser with a proxy?
8.2. How can I change the appearance of a directory in KFM?
8.3. How can I do non-anonymous FTP transfers with KFM?
8.4. "KFM cannot connect to 'localhost'", what is going wrong?
8.5. What are %i and %m in the Execute line?
8.6. How do I specify KFM's startup directory?
8.7. How do I import Netscape bookmarks?
8.8. Is there a "Save As..." function in KFM?
9. Configuring KDE
9.1. How do I set the language to be used by KDE?
9.2. Is there any keyboard switcher for international keyboards for KDE?
9.3. How do I replace the standard Linux text login screen with the KDE login screen?
9.4. How do I replace KWM with another KDE-compliant window manager like Blackbox and Window Maker?
9.5. How do I change the Red Hat Linux logo bootup screen image?
9.6. I'd like to click the left mouse button anywhere on the desktop and have the 'K' menu displayed.
9.7. How do I use the three extra keys on my Windows keyboard in KDE?
9.8. After installing KDE, the Red Hat start menu disappears!
9.9. Where do I find information regarding KDE themes?
9.10. How do I change Mime Types?
9.11. KDE (kdm) doesn't read my .bash_profile!
9.12. How do I use TrueType Fonts under KDE?
9.13. Is it possible to enter, show and work with the Euro Symbol in KDE?
10. KDE applications
10.1. Kppp
10.2. Kscd
10.3. Kvt
10.4. KOffice
10.5. KMail
10.6. KBiff
10.7. KTop
11. KDE with non-KDE applications
11.1. My non-KDE apps like emacs and kterm are running amok with large windows and strange fonts!
11.2. StarOffice 5.0 Personal Edition for Linux
11.3. Netscape
11.4. Why does Netscape crash when I visit certain websites?
12. Known bugfixes for KDE
12.1. Typo in kzip.kdelnk
12.2. Wrong Charset!
13. Useful tips
13.1. Reading man pages in KDE
13.2. Move or resize windows quickly
13.3. Killing windows in KDE
13.4. Switching window managers on the fly
14. Miscellaneous questions
14.1. Why does KDE use Qt?
14.2. Why does KDE not use gtk, xforms, xlib, whatever?
14.3. >But Qt isn't free, is it?
14.4. Why not code a L/GPL'ed Qt clone?
14.5. How do I mount filesystems (eg. my CD-ROM drive) in KDE?
14.6. Does KDE have terminal emulators with transparent background?
14.7. Is there a way to get various kinds of information about my drive contents: free space, directory size, etc.?
14.8. How can I get backspace to work under KDE?
14.9. How do I create icons for non-KDE applications that I can put in the 'K' menu? Where do these icons (or kdelnk) go?
14.10. What about KDE programs that don't have icons (like KWord)? How do I get them into the menu?
14.11. Does KDE have a graphical FTP client?
14.12. How do I exit KDE?
14.13. Is there a program that checks for new mails at my ISP if and only if I'm online?
14.14. Is it really necessary to upgrade to the latest version?
14.15. How do I copy and paste in KDE?
14.16. How do I convert the default Red Hat menus into a menu on the K-Menu?
14.17. Why isn't kdm or klock working in Redhat?
14.18. What is CVS?
14.19. Does KDE support dual screen?
14.20. How do I check which version of KDE I'm using?
14.21. Can I write commerical software for KDE?
15. Not really KDE-related, but frequently asked nevertheless :-)
15.1. How do I change the screen resolution?
15.2. How do I change the color depth?
15.3. What can I do if I'm using a 2-button mouse?
15.4. What is a "sticky" window?
15.5. How do I replace the "X" mouse pointer with an arrow?
15.6. How do I extract/install diff files?
15.7. Should I upgrade to 2.2 kernel?
15.8. How do I mount the floppy device both in dos and ext2?
15.9. How do I start KDE with the Num-Lock on?
15.10. How do I take window or desktop screenshots?
15.11. Is there somewhere a tool to make webpages?
15.12. Where can I find a free X server for Windows 95/98/NT?
15.13. What do all those acronyms like AFAIK mean?
16. Getting more information
16.1. Where is the KDE homepage?
16.2. Is there a KDE mailing list?
16.3. How do I subscribe/unsubscribe to these lists?
16.4. Is there a mailing list archive?
16.5. Is there a newsgroup about KDE?
17. Contributing
17.1. How can I contribute to KDE?
17.2. How do I commit a bug report?
17.3. I want to program for KDE. What should I do first?
17.4. How do I get write access to the kde-core-devel list?
17.5. How do I get access to the CVS?
17.6. I am just curious. Can I have read-only access to the CVS?
17.7. Are there any CVS mirror sites for KDE?
17.8. How do I go about translating KDE programs into my native language?

1. About this FAQ

Many of the answers in this FAQ are taken from the various KDE mailing lists and newsgroups. Here's a big thank-you to all of you who have contributed answers that eventually appear in this FAQ.

1.1. What can I do to help out with this FAQ?

First, send us any errors that you may find. Also, any suggestions that you might have are also appreciated. Better yet, anything that you think is unclear, and if possible, send us what you think is clear. Our email address is .

Second, send us your solutions of those faqs which are still not in this FAQ. We will put them in as soon as possible.

Last but not least, please make full use of this FAQ. Read this FAQ (and other relevant documentation) well before asking questions on the various KDE mailing lists or newsgroups.

Note

You might also want to consider becoming a FAQ maintainer—please refer to Q: 1.2. for more details.

1.2. How do I become a FAQ maintainer?

Actually, it's very easy to become a FAQ maintainer. And we are always in need of fresh blood. :-) Just send us an email at .

2. Introduction

2.1. What is KDE?

KDE is the K Desktop Environment.

KDE is a project initiated by Matthias Ettrich in 1996. The aim of the KDE project is to connect the power of the Unix operating systems with the comfort of a modern user interface.

In short: KDE will bring UNIX to the desktop!

If you want further information about KDE, have a look at What is KDE?

2.2. What does the K in KDE stand for?

Nothing—it is simply the K Desktop Environment, just like the X in the X Window System.

2.3. On which platforms can I expect KDE to work?

KDE is a Desktop Environment for all flavors of Unix. While it is true that most KDE developers use Linux®, KDE runs smoothly on a wide range of systems. You may however need to tweak the source code a bit to get KDE to compile on a not-so-popular variant of Unix, or if you are not using the GNU development tools, in particular the gcc compiler.

Some of systems on which KDE is running are:

  • Linux®

  • Solaris

  • FreeBSD

  • IRIX

  • HP-UX

2.4. Is KDE a window manager?

No, KDE is not a window manager. While KDE includes a very sophisticated window manager called kwm, KDE is much more than that—it is a full-blown Integrated Desktop Environment (IDE).

KDE provides a complete desktop environment, including a file manager, a window manager, a help system, a configuration system, uncountable tools and utilities, and an ever increasing number of applications, including but not limited to mail and news clients, drawing programs, a PostScript™ and a DVI viewer and so forth.

2.5. Is KDE a CDE, Windows 95 or MacOS clone?

No, KDE is not a clone. Specifically KDE is not a CDE or Windows clone. While the KDE developers have and will continue to glean the best features from all existing desktop environments, KDE is a truly unique environment that has and will continue to go its own way.

2.6. Is KDE free software?

Yes, KDE is free software according to the GNU General Public License. All KDE libraries are available under the LGPL making commercial software development for the KDE desktop possible, but all KDE applications are licensed under the GPL.

KDE uses the Qt C++ crossplatform toolkit, which comes with its own license.

In short, Qt's license allows you to use Qt free of charge for development of X Window System software as long as you make the source code of your applications freely available. If you do not wish to make the source code of your applications written using Qt available for free, you must obtain a commercial license for Qt. You can find more information about the Qt and its license on Troll Tech web site.

If you are in doubt about which license is appropriate for you, please contact Troll Tech directly.

It is absolutely legal to make KDE and Qt available on CD free of charge. No runtime fees of any kind are incurred.

3. Getting KDE

3.1. Where do I get KDE?

The main distribution site for KDE is ftp.kde.org.

However, this site is often under heavy load, so you might prefer one of the KDE mirror sites. You can find an up-to-date list of KDE mirrors here.

3.2. Are there Linux® distributions that come with KDE?

Yes, major Linux® distributions already ship KDE. As building a distribution takes some time, they might not always contain the latest version, but for a start or to avoid downloading from the Internet, they do provide a good starting point.

You can find an up-to-date list of distributions that ship with KDE here.

3.3. What is the current version?

Currently, the latest stable version is 1.1.2.

3.4. Where do I find KDE snapshots?

You can get the latest snapshots from ftp://ftp.kde.org/pub/kde/unstable/CVS/snapshots. You might also want to consider setting up your own CVS client in order to maintain the latest snapshot at all times. Please refer to the KDE cvsup page on doing that.

By the way, if you want to know what CVS is, please refer to What is CVS?.

3.5. Where do I get Qt?

Qt is a product of a Norwegian company, Troll Tech. You can always get the latest Qt version from their FTP server.

However, you should also be able to get Qt from the above mentioned KDE sites. And with most up-to-date Linux® distributions, Qt is already included. Please see Q: 4.3. for the version of Qt you need.

3.6. What is Qt, by the way?

Qt is a C++ based class library to build user interfaces. It provides most of the widgets you will see in a KDE application: menus, buttons, sliders etc. Qt is a cross-platform library, which allows you to write code that will compile on Unix as well as the Windows platform. You can learn more about Qt at http://www.troll.no.

4. Installation instructions

These are the installation instructions for the 1.0 release of the K 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.

4.1. To the would-be converts

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 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 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 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.20. 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. 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 here.

4.3. Prerequisites

For KDE 1.0, you need the Qt library version 1.33 or higher, while for KDE 1.1, KDE 1.1.1, and KDE 1.1.2, 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 libgr which should be included in most distributions. Please also make sure that your local loopback device is setup correctly.

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

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

kdeadmin

Optional

System administration programs. Currently contains the user manager and the System V runlevel editor.

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 don't 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).

To install Debian packages

  1. become superuser

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

Installation of the RPM packages

The RPM packages install into /opt/kde.

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.

To install source tarballs

  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.

To install binary tarballs

  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'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.

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.

4.7. Micro-HOWTO: Compiling KDE 1.1.1 on SGI Irix 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 installion 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 fixs after August 20, 1999 as I will be returning to school (and using SunOS).

Enjoy!

Compiling KDE 1.1.1 on SGI Irix 6.x

  1. Install Qt 1.42 or higher

  2. I am installing KDE as me (not root) so I have a KDEDIR environmental var 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 RedHat 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 SGIs. 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 SGIs.

  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:
     #!/bin/perl -ni.bak
      
     if ((/-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";
         }
     }
             
     #NOTE!! Uncomment this section if you want to add
     #-D_LANGUAGE_C_PLUS_PLUS to all 
     #makefiles.  I personally have not tried this, but it should not break 
     #anything.
     # Alternately, add the flag in the places noted below.
     
     #elsif (/cxxflags\s*=(.*)$/i)
     #{
     #    print "CXXFLAGS =  -D_LANGUAGE_C_PLUS_PLUS $1\n";
     #}
     else
     {
         print;
     }

    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:
     *** TEShell.C   Mon Apr 12 00:12:37 1999
     --- /users/dor/aspg/ber/data/kdedown/kdebase-1.1.1/konsole/src/TEShell.C
     Wed Jul 14 15:15:35 1999
     ***************
     *** 169,174 ****
     --- 169,177 ----
         pid_t pid = waitpid(-1,&status,WNOHANG);
         Shell* sh = shells.find(pid);
         if (sh) { shells.remove(pid); sh->doneShell(status); }
     + #if defined(sgi)
     +   signal(SIGCHLD,catchChild);
     + #endif
       }
       
       void Shell::doneShell(int status)
     ***************
     *** 234,239 ****
     --- 237,252 ----
             }
           }
         }
     + #endif
     + 
     + #if defined(sgi) /* Irix */
     +  
     +   needGrantPty = FALSE;
     +   char* line;
     +   line = _getpty(&ptyfd, O_RDWR|O_NDELAY, 0600, 0);
     +   strcpy(ptynam,"/dev/ptc");
     +   strcpy(ttynam,line);
     +  
       #endif
       
         if (ptyfd < 0) // Linux, FIXME: Trouble on other systems?
     
     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. Installing the RPMs with SuSe's YaST makes the rpm database unusable. What can I do?

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

4.9. 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, 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.

4.10. 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 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 or .xinitrc in your home directory, simply create a new one that just contain one line saying startkde.

4.11. 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. (Remember: 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.12. Is it possible to install KDE in a user directory?

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, please use:
       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.13. 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.10..

4.14. 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.15. KDE on AIX?

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.

4.16. Installing Redhat packages says libncurses.so.3.0 is needed

If there is no 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 (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.17. KDE on a laptop?

If you can get X to run, you shouldn't 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 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.

4.18. I don't 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've 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 with /opt/kde.

4.19. 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.20. How do I unzip tarballs with the 'bz2' extension?

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 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://www.muraroa.demon.co.uk/.

4.21. 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. Or if you wish to add patches to the source programs as they become available (rather than downloading everything again), then they should stay.

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

No, your settings will be fine even if you, say, remove your old RPM packages first. 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, say, /opt/kde10 and install into /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.

4.23. 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.24. Compiling KDE using gcc in Solaris 2.6 but keep on getting errors.

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.

4.25. How do I uninstall KDE apps 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.26. What's up with GIF support?

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 do not know whether it is legal to do so. Please search the kde-devel mailing list archive for details.

5. The panel

5.1. How do I add applications to the panel?

There are several ways to add an application to the panel:

Using the panel menu

Perhaps the easiest method is to use the entry "Panel | Add application" in the panel menu. (This is the menu that appears when pressing the K button on the panel). The menu shows all installed KDE applications. To add a button to the menu, simply click on the application.

Using the filemanager

You can also simply drag a kdelnk file from a window of the filemanager to the panel.

5.2. If I try to add an application, the panel complains! Why?

If you try to drag an application to the panel, and it complains: "Cannot put this as button onto the panel", you have not dragged a kdelnk file, but an executable. To get this executable to the panel, you must first create a kdelnk file with "New | Program" from the File menu of the filemanager. Newer kpanel (comes with KDE 1.1 alpha) creates its own kdelnk file if you drop an executable on the panel, however.

5.3. How do I embed an application in the panel?

It is possible to swallow small applications like xload or xbiff in the panel. To do this, you will have to add the lines:
 SwallowExec=...
 SwallowTitle=...

in the kdelnk file. The entry SwallowExec is the command that is executed to start the swallowed application. SwallowTitle is the title of the applications windows. This entry must exactly match the window title, as is is used to idenitify the window to show in the panel.

For example, a kdelnk file to swallow xload would read:

 # KDE Config File
 [KDE Desktop Entry]
 SwallowExec=xload -nolabel -geometry 50x50+10000+10000
 SwallowTitle=xload 
 Comment=System load
 Type=Application

You can still use the Exec entry to specifiy an application that is launched when you click at the panel button. You could e.g. start top.

5.4. Why is the panel clock showing the wrong time?

On some RedHat systems, the clock in the panel always shows the time in GMT. This is a bug in the RedHat setup.

The solution is described in the RedHat errata.

It just says to create this symbolic link:

 ln -s /usr/share/zoneinfo /usr/lib/zoneinfo

5.5. Is it possible to run kpanel in a non-KDE-compliant window manager?

Yes. Try starting it with something like this:

 kpanel -no-KDE-compliant-window-manager

5.6. Is it possible to change the K button of the panel to another picture?

Look for $HOME/.kde/share/apps/kpanel/pics/go.xpm and $HOME/.kde/share/apps/kpanel/pics/mini/go.xpm and replace them. Don't forget to flatten the replacements to one layer, or else you won't see anything. Create the directories if they do not already exist. Then restart kpanel.

6. The desktop

6.1. How do I add an application to the desktop?

This is a simple exercise: click on the desktop with the right mouse button. In the appearing menu, select New | Program. Enter the title of the program, and soon it appears on the desktop.

You might want to change the new icon's properties, so click on the program name with the right mouse button, and select Properties. In the dialog, you should at least change the program to execute, and the icon. That's it.

6.2. How do I mount/unmount a device from the desktop?

There are two steps involved:

Make sure you are allowed to mount/unmount the device

Normally, only root is allowed to mount/unmount devices. If you are not running KDE as root (and this is generally considered a bad idea :), you must set the right for users to mount a device in /etc/fstab. This means to add the option user to the options of the file system you want to mount.

For example, to mount the floppy, your /etc/fstab should include

 /dev/fd0   /floppy   msdos   noauto,user,sync 0 0

Create a kdelnk file for the filesystem

An example for a device kdelnk file is:

 # KDE Config File
 [KDE Desktop Entry]
 UnmountIcon=3floppy_unmount.xpm
 MountPoint=/floppy
 Icon=3floppy_mount.xpm
 Dev=/dev/fd0
 ReadOnly=0
 FSType=default
 Type=FSDevice
 Comment=Floppy Disc

6.3. How do I use a screensaver as background?

It is possible to use a screensaver instead of a background image. To do this, call any screensaver with the -inroot parameter, e.g.:

 kswarm.kss -inroot &

Most screensavers will look best of you set the background color to black.

However, using a screensaver as background might eat some CPU and X time ...

6.4. How do I highlight my menus even when I don't hold down the mouse button (similar to Win95)?

Go to the control center "Desktop/Fonts etc." and click on "Draw widgets in the style of Windows 95".

6.5. Where are the icons kept?

The icons can be found only in $KDEDIR/share/icons or $HOME/.kde/share/icons. To use icons stored in other locations, you must either copy them into one of the above-mentioned fixed KDE locations or make symlinks.

6.6. How do I change the standard menu items as non-root?

Try changing the permissions and/or ownership of the directories and files in $KDEDIR/share/applnk. Alternatively, you can create a trusted group—let's say friends—and try 'chgrp -R friends $KDEDIR/share/applnk ; chmod -R g+w $KDEDIR/share/applnk' and make all your trusted users members of friends. Note that you'd still need superuser privileges to do the above, however. If it's impossible for you to obtain root privileges, then you'd have to settle for editing your personal menu.

6.7. How do I use the mouse scroll wheel in KDE?

Mouse wheel support will come with Qt 2.0. Meanwhile, to use the scroll wheel with KFM, KEdit, and non-KDE applications like Emacs, try getting IMWheel at http://solaris1.mysolution.com/~jcatki/imwheel/. You might also find the information in http://www.inria.fr/koala/colas/mouse-wheel-scroll/ useful.

6.8. What exactly is the Templates folder?

The Templates folder holds items that you can create easily anywhere (on the Desktop, or in a file manager window), by selecting the New menu item, on the context menu (right-click menu) of the place you want the item to be.

You can put both files and directories in the Templates folder, and they will auto-magically appear in the New submenu. When you select them from the submenu, they are copied to the current location.

This is exactly like opening the Templates directory and copying the items from there directly, only it's slightly easier. By default, the Templates directory is populated with only kdelnk files. These files are here to allow you to immediately begin creating devices, programs, URL links and new mime types, but you can put anything you want here.

6.9. Why can't I get system sounds to work, like for opening windows?

Make sure kwmsound is in your start-up script, e.g. $KDEDIR/bin/startkde.

6.10. How do I launch applications in a particular desktop?

KDE pre-1.1 comes with a program called kstart. You can use it in a .kdelnk file like this:
 Name=Netscape
 Exec=kstart "netscape" -window ".*Netscape.*" -desktop 2 -maximize
 BinaryPattern=netscape;
 Icon=netscape.xpm
 Path=
 Type=Application
 Terminal=0

Use a shell script to do it. If you have KDE 1.0, the script should look something like this:
 kwmcom desktop2 (or desktop3, desktop4, whatever)
 netscape
Please note that this has the (undesirable) effect of leaving you in desktop2 while it's executing and also once it's done executing.

(On the off chance you haven't used shell scripts, they're basically just a text file you've run "chmod +x <filename>" on. They're a Linux version of a DOS batch file, but, of course, better.)

If you use KDE 1.1 then you don't necessarily even need a shell script. You just need to run the following:
 kstart "netscape" -desktop 1 -activate

6.11. What should I do to get the Mac-like window decorations shown in the screenshot on the KDE page?

Get the MacOS and other themes at http://kde.themes.org. You can find other icons at http://icons.themes.org/.

6.12. I played with the fonts section in the KDE Control Center but the fonts are still way too small. What can I do?

Many users use the 75 dpi fonts as the default. If you've installed the 100 dpi font, make sure your XF86Config file has those fonts in the path before the 75 dpi fonts. Here's a step-by-step procedure on how to do it:
 Edit /etc/Xll/XF86Config.  Near the top of the file is a listing
 of fonts --- several rows: type1, speedo, etc., and at the bottom there
 are two entries, 75dpi and 100dpi. simply reverse their order.  And while
 you're at it, move the Type 1 fonts to the bottom of the list (or 
 somewhere below the 75 and 100 dpi fonts).  That makes an improvement
 too! 

6.13. Is it possible to extend the Desktop Icon Menus?

Yes. Just add the applnk for the required command to $KDEDIR/share/applnk, or use kmenuedit.

6.14. Can I get rid of the Trash/Templates/Autostart icons?

Yes. Simply edit $KDEDIR/bin/startkde and replace 'kfm' with 'kfm -w'. If this doesn't work, here's another way. Add the following lines to $HOME/.kde/share/config/kfmrc:

 [Paths]
 Trash=/home/me/Trash/
 Desktop=/home/me/Desktop
 Templates=/home/me/Templates/
 Autostart=/home/me/Autostart/

The effect is to take trash, templates, and autostart and put them into your home directory instead of your $HOME/Desktop directory. You will have to restart KDE, and you may have to delete the icons from the desktop the first time--be sure to move anything you have in autostart into $HOME/Autostart before deleting it from the desktop. And then you have a nice, clean desktop with no "My Computer" sort of look.

6.15. Where do I save my files if I want them to appear directly on the desktop?

$HOME/Desktop. You might need to refresh your desktop after you save your files.

7. The window manager

The default window manager provided by KDE is the K Window Manager (KWM). Please read "The K Window Manager Handbook" (should be accessible from KDE Help) for usage information.

7.1. Are there keyboard shortcuts for KWM operations?

Yes, there are some shortcuts for the most common operations.

Alt-Esc, Ctrl-Esc

Invoke the "Current Session" manager.

Alt-Tab, Alt-Shift-Tab

Traverse the windows on the current desktop.

Ctrl-Tab, Ctrl-Shift-Tab

Traverse the virtual desktops.

Alt-F2

Execute command.

Alt-F3

Popup the window operation menu.

Alt-F4

Close active window.

Ctrl-F[1..8]

Switch to virtual desktop.

Ctrl-Alt-Esc

Destroy window mode.

7.2. Can I define my own set of keyboard shortcuts?

Yes, if you are using KDE 1.1 and above. Go to Settings->Keys->GlobalKeys to configure window manager bindings like maximising of windows, etc. For starting apps, you'd need to install KHotKeys, though.

7.3. When I "iconify" a window, it disappears. Where does it go?

With many X GUI's, the minimize button (a little dot) will erase the window that the program is running in and create, instead, an icon on the desktop. KDE does not do this. Instead, when a window is iconified it is simply hidden (but the program is still running).

There are two ways to get the window back:

  • If you're running the taskbar part of kpanel (see the Panel --> Configure menu entry), you can choose to have a list of tasks displayed on you desktop. Iconified tasks have their names surrounded by parenthesis.

  • If you click the middle mouse button on the root window, kwm will give you a list of all available tasks (and again, the names of iconified tasks are bracketed).

7.4. How do I get a sticky window with no border and focus?

In the current KDE you can use kstart for this (assuming the application you want to start is xosview):
 kstart xosview -window xosview -sticky -decoration none
Try kstart -help for additional help.

In KDE-1.0 you'd need to write something like this in kwmrc:
 [Sticky]
 stickyClasses=xosview,
 [Focus]
 noFocusClasses=xosview,
 [Decoration]
 noDecorationClasses=xosview,

In the current KDE you can set these settings in the control center under Windows/Advanced.

7.5. How do I kill kwmpager?

Click on the border frame with the right mouse button to bring up a menu which will let you close the pager. By the way, kwmpager is obsolete and will be replaced by kpager.

In addition, if you prefer working through a terminal, type

 ps ax | grep kwmpager 

to find it and then kill it using
 kill pid
(please replace "pid" with the relevant pid!). Or if you dread the idea of using CLI, just press Ctrl-Alt-Esc, and then move the pirate-skull mouse pointer over kwmpager and click to kill it. To abort (not undo!) the kill, just press Ctrl-Alt-Esc again.

7.6. How do I maximize windows only vertically or horizontally?

Provided your window isn't already maximized, clicking on the maximize button with left/middle/right mouse button will maximize fully/vertically/horizontally respectively.

7.7. What is "shading a window"?

By "shading a window" we mean "rolling up" a window leaving just the titlebar visible. To enable it with a double click on the titlebar, simply go to the KDE Control Center and look under Windows/Titlebar and set the option "LeftMouseButton double click on titlebar does:" to "(Un)Shade".

7.8. Is it possible to have FVWM2-like shadow frameworks for the placement of windows?

Yes. Run KDE Control Center and select Windows -> Properties. There is a dialog option that allows you to set the placement policy you want.

7.9. How do I disable session management?

Open up your startkde script with your favourite editor and find the line launching kwm (usually the last line). Change it to "kwm -nosession".

8. The filemanager

8.1. How do I use KFM as web browser with a proxy?

KFM can be used via HTTP and FTP proxies. You can set the proxy server with KFM's menu entry Options|Configure Browser|Proxy.

Please make sure to save the changed settings with Options|Save settings to make the proxy setting persistent.

8.2. How can I change the appearance of a directory in KFM?

When displaying a directory, KFM looks for a hidden file

 .directory

inside the directory. You can create such a file to modify the way in which the directory is displayed. The file is simply a kdelnk file. For example:

 # KDE Config File
 [KDE Desktop Entry]
 Name=Settings
 Name[de]=Einstellungen
 Name[pl]=Ustawienia
 MiniIcon=kcontrol.xpm
 SortOrder=Desktop,Input_Devices,KWM,Network,Information,Sound
 Icon=kcontrol.xpm

is the file used to describe the Settings directory. It changes the icon used to display the directory, it sets the (displayed) name of the directory according to the national language and fixes the order in which the subdirectories are displayed.

For the directories that build up the Kˆ menu, you can also use kmenuedit to change the appearance.

8.3. How can I do non-anonymous FTP transfers with KFM?

Normally, if you enter an URL like:

 ftp://ftp.somehost.com

KFM attempts an anonymous login to the FTP server. If you want to login as a certain user, enter an URL like:

 ftp://username@ftp.somehost.com

KFM will then ask for your password and connect to the server.

8.4. "KFM cannot connect to 'localhost'", what is going wrong?

In most cases, this is because of an incorrectly configured loopback route on your system.

How to check for problems

Check if this command returns similar output:

 # ping localhost
 
 PING localhost (127.0.0.1): 56 data bytes
 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.3 ms
 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.2 ms
 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.2 ms 
 ...

If it doesn't, your loopback interface or route is not properly configured.

The output of the

 /sbin/route 

command should contain lines like the following:

 Destination     Gateway         Genmask         Flags MSS    Window Use Ifac
 loopback        *               255.0.0.0       U     3584   0       13 lo

The important fields are the Destination, Gateway, Genmask and Iface. This means that the system is properly configured to route all loopback traffic through the loopback interface (lo).

The output of the

 /sbin/ifconfig

command should contain the following lines:

 lo        Link encap:Local Loopback
           inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
           UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1

This means that the loopback interface is up and running.

Your /etc/hosts file should contain the following line:

 127.0.0.1       localhost

This ensures that the "localhost" hostname is associated with your system's loopback address (127.0.0.1).

Fixing these problems

 /sbin/ifconfig lo 127.0.0.1
 /sbin/route add -net 127.0.0.0

Both these commands should, on a healthy system, be executed for you at the bootup of your computer. If this isn't happening, check your network startup files in /etc/rc.d.

If it STILL doesn't work

If none of these work, please send a full report to the KDE buglist Don't forget to mention that you have checked all these things.

8.5. What are %i and %m in the Execute line?

They are used by all kde-applications (since they are implemented in KApplication and all good kde-programs create a KApplication object before they even look at the command line arguments).

A standard line for a KDE application looks like this:

 foo .....    %i %m -caption \"%c\"

Pretty confusing, but it has been designed in that way to be able to integrate legacy, non-KDE applications as smoothly as possible.

KFM when executing the line from above will extend the command to

 foo -icon something.xpm -miniicon something_mini.xpm -caption \"The Foo\"

Both the icon and the mini-icon as well as "The Foo" are properties defined in the kdelnk file. If the icons are not defined, they simply default to the executable name "foo".

This way a user can change these things in the menu-editor for his or her applications. "-caption" is important, because no user will accept that the menu item "Editor" starts something called "kedit-0.9pl4-build47". Instead, he expects a window called "Editor". Furthermore these names are localized, i.e. an American launches "CD-Player" and gets a window called "CD-Player" while a German launches "CD Spieler" and gets a window called "CD-Spieler".

8.6. How do I specify KFM's startup directory?

Right-click on the KFM icon and choose Properties. Under the Execute tab you'd probably find something like 'kfmclient folder %u file:/root'; just change 'root' to wherever you'd like KFM to start.

8.7. How do I import Netscape bookmarks?

Take a look at the "full" list of KDE apps (not just those in the distribution) at http://www.kde.org/applications.html. Under "network", you will find knsbookmark, the tool you need.

8.8. Is there a "Save As..." function in KFM?

There's something close --- "View-->View Document Source" opens KEdit with the source code, which you can then save. This works well for text/html files, but not for graphics.

9. Configuring KDE

9.1. How do I set the language to be used by KDE?

There are two ways to set the language KDE uses in the messages it will display:

Using the KDE Control Center

In the KDE Control Center (kcontrol), there is the entry Desktop|language. You can select three languages, according to your preferences. If KDE can't find a translation in to first language, it will fall back on the second or third. If there is no appropriate translation at all, the default language will be used. This will usually be English.

Using kcontrol is the preferred way of choosing the language.

Using the LANG environment variable

The second method uses the standard locale setting on your system. To change the language, simply set the environment variable LANG accordingly.

For example if your shell is bash, execute the following:

 export LANG=de

9.2. Is there any keyboard switcher for international keyboards for KDE?

KDE 1.1 (and above) comes with kiKbd (for International KeyBoarD), which has a cool interface and permits you to create new national keyboards.

9.3. How do I replace the standard Linux text login screen with the KDE login screen?

First, you need to change to the "xdm runlevel" (runlevel 5 on RedHat systems) by editing your /etc/inittab file. In the file, you should have a line saying:
 id:3:initdefault:

Change it to:
 id:5:initdefault:

Now at the end of the file, comment out the following line:
 x:5:respawn:/usr/bin/X11/xdm -nodaemon
and replace it with:
 x:5:respawn:/opt/kde/bin/kdm -nodaemon
(the location of kdm may differ on your systems, though)

For changes to take effect immediately, type "init 5" at the shell prompt. Please note that it is risky to initiate a graphical login without checking beforehand whether it works. If it fails to work, you'd be in for a hard time getting back....

9.4. How do I replace KWM with another KDE-compliant window manager like Blackbox and Window Maker?

First, download the source code and compile them. You would probably need to specify some option when you execute the configure script in order to produce KDE-compliant binaries. Read the README and INSTALL files for instructions. Then simply replace the 'kwm' command in the startkde script with the command that runs the new window manager and you're done.

Blackbox is yet another addition to the list of window managers for X. It is built with C++, sharing no common code with any other window manager (even though the graphics implementation is similar to that of Window Maker). Blackbox became KDE compliant at its 0.50.2 release. Please visit Blackbox's Website for further information. You might also find this website KDE + Blackbox = KBB! useful.

To use Blackbox with KDE, first download the source code and run:
 $ ./configure --with-kde
 $ make
 # make install
(the "with-kde" flag enables KDE support)

Next, replace the 'kwm' command in the startkde script with 'blackbox'. Save the new script as, for example, '/usr/local/kde/bin/startbb' and change the bottom line of your $HOME/.xinitrc file so that it runs the new script instead of the old one. Fire up X and you're away. (KDM and XDM users would probably need to edit $HOME/.xsession instead.)

Window Maker is an X11 window manager designed to give additional integration support for GNUstep applications. It tries to emulate the elegant look and feel of the NeXTSTEP(tm) GUI. It is relatively fast, rich in features, and easy to configure and use. Window Maker becomes KDE compliant at its 0.50.0 release. Please visit the Official Window Maker Website for further information.

9.5. How do I change the Red Hat Linux logo bootup screen image?

Redhat uses xbanner to display its logo, so to disable it, just comment out the line calling xbanner from the configuration file xdm reads, which is /etc/X11/xdm/Xsetup_0 (may vary). If you want something else to run there, put it in instead, for example:

 /opt/kde/bin/kdmdesktop

9.6. I'd like to click the left mouse button anywhere on the desktop and have the 'K' menu displayed.

First, edit $HOME/.kde/share/config/krootwmrc and add the following two lines:
 [MouseButtons]
 Left=Menu
Then restart KDE.

9.7. How do I use the three extra keys on my Windows keyboard in KDE?

You may have to configure your X server via xmodmap to bind the keycodes of the Windows keys to useful X key symbols (xev is your friend!).

First, create a file $HOME/.Xmodmap containing the entries:

 keycode 115=F13
 keycode 117=F15

Then run
 xmodmap ~/.Xmodmap

This sets the 'Start' key to emit F13 and the 'Windows' key to emit F15. Next, fire up the KDE Control Center and go to Keys->Global Keys. Set 'Pop-up system menu' to F13 and 'Window operations menu' to F15. That's it.

Please note that the numbers 115 and 117 may depend on the keyboard. If you aren't sure, please check using xev. In addition, the above procedure requires KDE 1.1 and above.

As a side note, kikbd is able to do this too, but keymaps have to be edited. The advantage of kikbd is that one can choose whether to use these mappings on several custom keymaps and have them hotswappable.

It would be interesting to make a little script which will automatically do the keymaps modifications on demand. Kikbd should be able to read/understand user-side keymap files.

9.8. After installing KDE, the Red Hat start menu disappears!

Just run the command:

 wmconfig --output kde

This will put the Redhat-specific icons into your KDE menu. If you run this from within KDE, you will need to restart your panel. They are installed by default into the "applnk" folder after you run that command, but then you can copy and paste them wherever you like with the KDE Menu Editor.

9.9. Where do I find information regarding KDE themes?

9.10. How do I change Mime Types?

First, open a KFM window and choose Edit->Mime Types. In mime type tree find the type you want to change (e.g. text/english or image/gif), click the right mouse button, select Properties, choose the Binding tab and set Default Application to whatever you want.

9.11. KDE (kdm) doesn't read my .bash_profile!

Well, xdm (and kdm) doesn't run a login shell, so .profile, .bash_profile, etc. are not sourced. When the user logs in, xdm runs Xstartup as root and then Xsession as user. So the normal practice is to add statements in Xsession to source the user profile. Please edit your Xsession and .xsession files.

9.12. How do I use TrueType Fonts under KDE?

You need to install TrueType Font support to your X Window System. Please take a look at fonts.themes.org for the fonts, and xfstt or X-TT for the font servers.

If you've a bunch of TrueType fonts from MS Windows, edit the XF86Config file to get the fonts from the font folder. Then just tell KDE to use these new fonts with the font administrator utility.

However, many KDE 1.0 applications use a font dialog that does not use the font list of KDE. But there is a workaround: edit the rc files of the rebellious applications directly.

9.13. Is it possible to enter, show and work with the Euro Symbol in KDE?

Yes and no. For details, look here: http://monitor.blvk.ch/euro/.

10. KDE applications

10.1. Kppp

Many KDE users report problems using Kppp. But before you complain about Kppp, make sure you have already checked the following:

  • can you dial-up to your ISP without using Kppp?

  • have you gone through the Kppp documentation at least three times and follow its instructions and trouble-shooting suggestions?

The Kppp documentation can be accessed either by browsing KDE Help or going directly to the documentation directory, usually $KDEDIR/share/doc/HTML/default/kppp. In addition, there's a web page on "How to set up kppp with ISPs in the UK" at http://www.kppp-archive.freeserve.co.uk/.

Now, if you still encounter problems, here's what might help you solve them:

  • make sure pppd has the SETUID bit on, i.e. do a chmod +s pppd, and make sure it is world-executable (chmod a+x pppd).

  • examine the "options" file of pppd. You might want to just replace it with an empty one.

  • are there any other programs currently running which may use the modem, for example mgetty? Check the permission of /dev/modem, and make it world-readable.

  • if you are connected, take a look at the connection speed. Maybe you have chosen 115000 but your system is too slow.

I don't have a valid DNS! What can I do?

Well, guess what? Linux, KDE, kppp, etc. have nothing to do with providing you with a valid DNS. That is the responsibility of your ISP. So write them a nice friendly letter asking them to provide you with the necessary information to set it up.

How do I change the mtu setting in kppp?

Open up the kppp dialog box and select "Setup". Choose an existing account and click "Edit...", or "New..." to create a new dial-up account. Select the "Dial" tab and click on the button that says "Arguments". Type what you want to change in the Argument textbox e.g. mtu 296 and click "Add". When you're satisfied, click "Close".

To make sure the options "took", do one of the followings:

  • in a terminal window, run /sbin/ifconfig ppp0 and look at the reported mtu in the output --- it should match your request.

  • add "debug" and "kdebug" (each on separate lines, no quotes) to your /etc/ppp/options file and restart your ppp session. You'll find debugging messages in /var/log/messages, including mru and mtu settings.

If you want, the mru and mtu settings can be added to the options file, one complete setting per line, no quotes or dashes.

Where are the kppp settings stored?

It is stored in $HOME/.kde/share/config/kppprc.

Kppp connects at a slower speed than normal.

The following might do the trick:

  • try executing "setserial spd_hi"

  • The default mtu value is 1500, which is too large for a dial-up connection. Try changing it to a smaller value like 296 or 576.

    1. Make sure you are off-line and click on the kppp "setup" button. Choose your dialup account from the list, and click the "edit" button.

    2. Under the "Dial" tab, at the bottom of the dialog, find a button labelled "Arguments" and click it.

    3. You should be in a "Customize" window, where you can add line-item configuration parameters (those are documented in the pppd man page).

    In this fashion, I added the following entries to the list:
     mru 296
     mtu 296

  • check in your $HOME/.kde/share/config for the kppprc. Ensure the correct modem speed is actually defined there.

10.2. Kscd

This application comes with a fine documentation called "The Kscd Handbook" which can be accessed through KDE Help. Make sure you have gone through it thoroughly before you ask anything.

How do I close it?

If you've read up, you wouldn't have to ask.... There is a little button on the interface that has a 1 and 0 that is supposed to look like an on/off switch. Clicking on it will exit the CD player. (It is located in the lower left hand side of the CD player.)

Current snapshot of Kscd has solved this confusing behaviour by making the X close the window and where the 1 0 was is now the "DOCK" button.

How do I get Kscd to work with CDDB?

If you are using version 1.2.0, try upgrading.

Kscd claims that there is no /dev/cdrom in my system when I try to listen to a music CD. What should I do?

Create a symlink from the actual cdrom device to /dev/cdrom. For example: ln -s /dev/hdc /dev/cdrom.

An easy way to find out your actual cdrom device is to look in the file /var/log/dmesg for a line similar to:
 hdc: CD-ROM 48X/AKU, ATAPI CDROM drive

10.3. Kvt

How do I page-up or page-down in kvt?

Use Shift+Page-up and Shift+Page-down.

How do I toggle the behaviour of backspace and delete?

Look under Options->Terminal of your kvt window.

How do I perform a simple 'cut' from kvt to anything else?

When I do a ls, first I select with the mouse the desired text, press CTRL+C, then I make the other app active, point the mouse to the relevant part and press CTRL+V. Alternatively, highlight the text by dragging with the left mouse button down and paste by clicking with the middle button (or both buttons if you have 3 button emulation set and you are using a two button mouse).

How do I set the size of the scroll-back buffer?

Try: kvt -sl <number>

By the way, if you execute kvt with some unknown option eg. kvt -x, kvt will print out a list of valid options.

10.4. KOffice

KOffice's home page is at http://koffice.kde.org/, and the answers to some FAQs concerning KOffice can be found there. Therefore, I will not repeat those answers here.

Where can I find k2url.h?

It's in the kdelibs/kdeutils subdirectory but you would probably need libkdeutil as well. To get this as well as the header file, unless things have changed since a few days ago, pass 'EXTRA_SUBDIRS="kdeutils kio"' to make -f Makefile.cvs, make and make install when you build kdelibs.

Where can I find StatusBarManager.h?

Please look in the corba package for this header file. It should be in corba's include directory.

10.5. KMail

The one which comes with KDE 1.0 is unfortunately quite buggy. Upgrade, and your problems would (probably) disappear.

How do I leave mail on the server?

Open up the Settings window from the file menu. Click on the Network tab. Select your account from the account list and click the Modify button. This dialog contains the "Delete mail from server" setting which you must not select.

How do I automatically insert a text footer within the mail?

The text footer is called a signature file. What you need to do is open up a text editor (like kedit) and type in what you want to appear in the footer. Save the file under a name like signature or footer. Go into KMail and select File | Settings... Look in the "Identity" tab for the "signature file" field. Click on the ellipses button and select the file you just created. Now KMail will automatically insert that file in any message you write.

How do I export KMail messages to Netscape Mail?

Try (you might need to be root)

 cat /home/me/Mail/inbox >> /var/spool/mail/me

and then start Netscape Mail asking it to check for local mail.

10.6. KBiff

KBiff is a mail notification utility and its home page is at http://home.sprintmail.com/~granroth/kbiff/index.html.

How can one instance of KBiff monitor two mailboxes and take the appropriate action when mails arrive?

Are you getting many mails in both mailboxes? If so, it would be better to use two instances to monitor them. If not, then go to the 'Mailbox' tab and click on the little mailbox icon. This will create another mailbox in that instance. Now, whenever either of them gets new mail, KBiff will do all of its new mail stuff....

10.7. KTop

Why can't I see anything on it?

It's a bug, albeit easily fixed. Just resize it by a few pixels and everything should be all right.

11. KDE with non-KDE applications

11.1. My non-KDE apps like emacs and kterm are running amok with large windows and strange fonts!

It probably has to do with KDE trying to "apply KDE defaults to non-KDE apps", which means it uses xrdb to apply X defaults that are supposed to mimic the color, font and other settings that you have set for KDE. However, experience tells us that this usually breaks things, particularly if you have carefully tuned the X resources of your non-KDE apps.

The official solution is to bring up the Settings->Desktop->Style config panel and disable the "apply KDE settings to non-KDE apps" checkbox. If the new setting does not seem to stick, make sure you have clicked 'ok' directly without clicking 'apply' after making the change. If it still refuses to work, there's a brute-force solution: rename or delete the $KDEDIR/share/apps/kdisplay/app-defaults directory. This will prevent KDE from finding the X resource files it applies, and solve the problem. You have to exit your session and log back in for everything to return to normal.

If you don't want to, or can't rename or delete the system-wide app-defaults directory, you can always copy it to your personal kde directory (eg. $HOME/.kde/share/apps/kdisplay/app-defaults) and then edit/add/remove files to taste.

The Settings->Desktop->Style panel exists in 1.1pre2, I am not sure of its location in previous versions (it exists since around 1.0).

11.2. StarOffice 5.0 Personal Edition for Linux

If you haven't download this monster (70 MB), get it from http://www.stardivision.com/office/so5linux_body.html.

Please remember that the best place to find answers to StarOffice-related questions isn't here. Go to StarOffice's website instead. When you get there, click on "Support" and then "Personal" and make use of the resources available there.

StarOffice freezes up!

This is no fault of KDE. Are you perchance using a S3 Virge card? If so, the problem lies with the S3 server. There are three ways to it. The RedHat Xconfigurator will sense that you have a S3 card and set you up that way, so you may need to use the old xf86config program to setup X. There is support in the SVGA server for the S3 card so you will have to use that, but the one from RedHat still gives you the freeze-up.

Solution #1

Go to http://www.xfree86.org/ and then to their FTP site and download Xbin.tgz, Xlib.tgz, and XSVGA.tgz (please note that the latest version is 3.3.3). Unzip and untar them and then copy them to /usr/X11R6. Delete the X link in /etc/X11. Create a symbolic link to the SVGA server like this:
  
 ln -s /usr/X11R6/bin/XF86_SVGA /usr/X11R6/bin/X

(or using xf86config will link it if you choose it specifically). You may need to tweak your XF86Config file further to get the proper resolutions and color depth. Note that the above-mentioned directories may vary according to your system configuration.

Solution #2

Get the Xserver (I assume S3) source code. Modify the file xc/programs/Xserver/hx/xfree86/accel/s3_virge/s3im.c around line 823 Substitute
 alu |= MIX_MONO_TRANSP;
with
 if (alu != 0x00aa0000) alu |= MIX_MONO_TRANSP;
in function s3RealImageStipple. Compile and install the new Xserver.

Solution #3

There is a patch available from StarOffice at http://www.stardivision.com/download/support/patch1_01.tar.gz. But there's a catch! You have to install it to StarOffice after you install StarOffice, but you can't do so because StarOffice will freeze.... One way around this is to install StarOffice under the X SVGA server, install the patch and then fire up the X S3V server.

11.3. Netscape

Why does Netscape load so slow?

Netscape loads slow because it is statically linked with Motif and has to load all the widgets, etc. when it loads.

11.4. Why does Netscape crash when I visit certain websites?

What websites are you visiting? Java applets will often cause Netscape to crash. Since most people use Java applets for spinning buttons instead of something useful, just turn Java off in Netscape.

Why does Netscape display images in a pixilated manner?

When you run Netscape, try using the -install switch. For example,
 netscape -install &

This will force Netscape to allocate its own colormap which would hopefully solve the problem.

How do I export Netscape bookmarks to KFM?

Look under entry: How do I import Netscape bookmarks?.

How do I make KDE use Netscape when I create a WWWUrl kdelnk instead of the builtin browser?

You need to create a .kdelnk for Netscape, then edit it (using kfm, right click & go to properties) and select the right mime-type for URLs (in application tab pick text/html, text/sgml). Then go to "Edit -> global mime-types", then to ./text and edit the properties for html and sgml -- in "Binding" tab select the default application in the list box (since you added the appropriate mime-type to Netscape's .kdelnk file, it should appear there).

12. Known bugfixes for KDE

12.1. Typo in kzip.kdelnk

In the file kzip.kdelnk (usually located in $KDEDIR/share/applnk/Utilities/), there is a typo error. Under the MimeType entry there is an entry "application/x-tbz" that should be "application/x-tgz" instead. If not corrected, may lead to the following error message during KDE startup:

 Error
 Could not find mime type
 application/x-tbz
 in opt/kde/share/applnk/Utilities/kzip.kdelnk

12.2. Wrong Charset!

Actually, there are two types of charset errors, which seem to be independent from each other at least to a certain extend:

  1. error message "Wrong charset (unknown)! Setting to default (us-ascii)!" when starting X/KDE.

  2. error message "KCharset: Wrong Charset!" while working in X/KDE and launching/closing apps.

To fix (1), first find the locale directory within the tree you installed KDE to (usually $KDEDIR/share/locale). Next, put a plain text file named "charset" in the appropriate directory for your language, say en, and make it world-readable. The file should consist of one single line indicating the charset, e.g. us-ascii or iso-8859-1 for most European languages. You might need to restart KDE, too.

If it still doesn't work--as far as (1) is concerned--put a copy of the "charset" file into the subdirectory for your country as well, e.g. not only into en, but into en_UK or en_US as well. Then set all of the three languages supported by KDE (in the "locale settings" dialogue box) to the same language and country.

As for (2), it is actually just a harmless warning message and it's safe to ignore it. The way to get around it is to refrain from starting KDE apps from a window. :-)

But if you really want to get rid of those messages, you can try making sure that the language settings in the KDE Control Center under Desktop->Language are all the same. In my case, I set them all to be "Default language (C)" and the problem promptly disappeared.

13. Useful tips

13.1. Reading man pages in KDE

Pop up the minicli window (Alt-F2 by default) and type: 'man:<command>'. It even unpacks on the fly when gzipped.

13.2. Move or resize windows quickly

To move a window, press the Alt key and click the left mouse button together on the window. Alt-right mouse button will resize it. Last but not least, Alt-middle mouse button raises/lowers the window.

For more information about mouse control, please refer to "The K Window Manager Handbook".

By the way, KDE 1.1 allows you to change these mouse bindings.

13.3. Killing windows in KDE

There is a standard keybinding (Ctrl-Alt-Esc) that gives you a skull/crossbones cursor. Click that cursor on a window to kill it.

The keybindings are viewable/changeable from the KDE Control Center Keys->Global config. Not possible in KDE 1.0, though.

13.4. Switching window managers on the fly

If you want to switch your window manager on the fly, type the following into a terminal window:
 kwmcom go:fvwm
This switches to FVWM, but you can substitute any window manager you like.

14. Miscellaneous questions

14.1. Why does KDE use Qt?

Qt is a very sophisticated toolkit that provides everything that is needed to build a modern user interface. Qt is written in C++, thus allowing object oriented development affording the necessary efficiency and reuse of code necessary for a project of the enormous size and scope of KDE. In our opinion there is no better toolkit available for Unix and that it would have been a grave mistake to try to build KDE on anything but the best.

Furthermore, all KDE developers agree that it would have not been possible to build KDE in equally short amount of time without the use of Qt.

14.2. Why does KDE not use gtk, xforms, xlib, whatever?

There are a number of toolkits available. To provide a consistent user interface and to keep used resources such as memory to a minimum, KDE can use only one of them. Qt was selected for the reasons mentioned above.

14.3. >But Qt isn't free, is it?

That depends on your definition of free. According to our definition it is free, since:

  • The Qt libraries and source code are available for free and are readily available on many FTP site.

  • You can run application written using Qt for free. No run time charges apply.

  • You can develop application with Qt for free as long as you make the source code of your applications written in Qt readily available. Note -- you can even sell your application, however you must make its source code readily available if you wish to avoid buying a license for Qt.

  • You can distribute Qt as well as application using Qt in any form -- be it on FTP sites or CDs. In particular all Linux distribution may press a copy of Qt and its source on their CD's free of charge.

As KDE was, and is, intended to be a noncommercial desktop environment for the X Window system, Qt fits our purposes.

Qt is constantly developed by Troll Tech's dedicated, professional staff. Troll Tech devotes all of its resources to improve Qt on a daily basis. Due to this fact Qt continues to develop at a rate unmatched by any L/GPL'ed toolkit, providing us with the best toolkit available under Unix and providing possible commercial developers for KDE with the quality and support they need.

Troll Tech AS has announced that the Free Edition of Qt, its popular Graphical User Interface toolkit, will be released under an Open Source license. With the new license, programmers will be able to distribute and share any modifications they make to the Qt Free Edition. A draft version of the new license text, dubbed the QPL, is available at http://www.troll.no/qpl/. It will be first applied to the next major release of the Qt Free Edition; version 2.0.

14.4. Why not code a L/GPL'ed Qt clone?

Given the threat that Windows NT poses to Unix we feel a strong sense of urgency and believe it to be important to develop a great desktop for UNIX first, before we might even want to think about rebuilding the _tools_ we are using to build this desktop. Given the fact that our resources are limited KDE itself can not engage in a Qt cloning project at this point. However, if anyone feels that they would prefer a L/GPL'ed version of Qt we would like to encourage you to write such a L/GPL'ed clone. Keep in mind that Qt is only about 80.000 lines of code while KDE is already more than 500.000 lines and the number is rising daily so that a precise count is very difficult. This means writing a Qt clone is definitely feasible and it is only a matter of people who feel strongly enough about a L/GPL'ed version of Qt getting together and starting such a subproject.

Currently, there is a project called Harmony which started to implement a GPL'ed Qt-clone. If you dislike Qt's license, please consider joining this project.

14.5. How do I mount filesystems (eg. my CD-ROM drive) in KDE?

To mount your CD-ROM drive, first, you (as root) need to add the following line to /etc/fstab:
 /dev/cdrom     /cdrom     iso9660  ro,user,noauto,unhide

Please make sure that you have a soft link from /dev/cdrom to whatever /dev/hd? your cdrom is (assuming you are using an ATAPI cdrom). You should see something like this when you "ls -l /dev/cdrom".
 lrwxrwxrwx   1 root     root            8 Jul 28 22:21 /dev/cdrom -> /dev/hdb
The above would be done with "ln -s /dev/hdb /dev/cdrom" (as root).

Last but not least, make sure a valid mount point exists for the cdrom to be mounted on, for example:
 % ls -la /cdrom
 total 2
 drwxrwsr-x   2 root     cdrom        1024 Sep 14  1995 ./
 drwxr-xr-x  24 root     root         1024 Dec  1 21:00 ../

Now you can mount it from the command prompt by typing:
 % mount /cdrom

Or if you prefer, create a KDE device link to your cdrom and place it on your desktop. Clicking on it will automatically mount the drive for you. Okay, concerning the question of how to make a KDE device link to your cdrom, please look to KDE Help for the answers.

More information on mounting filesystems can be found by running man fstab and man mount respectively.

14.6. Does KDE have terminal emulators with transparent background?

No, but Eterm should work fine using KDE with KWM.

14.7. Is there a way to get various kinds of information about my drive contents: free space, directory size, etc.?

Use the commands du and df from the command prompt. Refer to their man pages for usage details. Or you might want to try kdf and kdiskfree from KDE, or other filemanagers like midnight commander.

14.8. How can I get backspace to work under KDE?

Try running xmodmap -e 'keycode 22 = BackSpace' and see if that fixes it (apps will have to be restarted for that to take effect). You should be able to just stick that in your X startup files like $HOME/.xinitrc.

Or simply upgrade to XFree86-3.3.3.1-1 and above.

Also, concerning the "Backspace"-Bug (Bug number: kb704): the bug is fixed somehow by putting the following line into $HOME/.xinitrc:
 xmodmap -  "keysym Delete = BackSpace"

14.9. How do I create icons for non-KDE applications that I can put in the 'K' menu? Where do these icons (or kdelnk) go?

Create using your favorite image manipulator, for example, GIMP, and put them in $KDEDIR/share/icons(/mini) or $HOME/.kde/share/icons(/mini). Furthermore, there is a KDE icon editor lying somewhere....

14.10. What about KDE programs that don't have icons (like KWord)? How do I get them into the menu?

Either use the kmenuedit (K => Panel => Edit menus) or right-click on the kdelnk file and pick Properties => Execute and pick a nice icon.

14.11. Does KDE have a graphical FTP client?

Yes, and it's none other than your favourite filemanager, KFM. You can drag and drop remote files into local directories. There's also a utility called KGet that allows resuming and queueing, but you need to use it in combination with KFM (you can drag-n-drop into KGet but cannot use it to browse FTP servers).

Of course, you aren't required to use FTP clients provided by KDE at all. WxFTP seems to be a very popular alternative.

14.12. How do I exit KDE?

Click on that funny looking X thing above the padlock next to the desktop buttons on the panel to exit KDE. CTRL-ALT-BACKSPACE will also do the trick by killing the X server, but its use prevents session management. In addition, there's a logout option from the "K" button, the "Where do you want to go tomorrow?" one. Last but not least, if you right-click on an empty area of the desktop, you will be presented with a menu containing logout as one of the options.

14.13. Is there a program that checks for new mails at my ISP if and only if I'm online?

KOrn and KBiff will both do the job. It doesn't matter if you are connected or not -- if you are not connected, both will just sit there (idling).

14.14. Is it really necessary to upgrade to the latest version?

Not really. But if you are interested in installing new KDE programs and also upgrading existing buggy ones, it would probably be necessary to upgrade. KMail, for example, is almost unusable in 1.0 but pretty decent in version 1.1 and later. To conclude, if you want a more polished environment, an increase in speed and the number of features, then you should upgrade now!

14.15. How do I copy and paste in KDE?

The simplest method is to use your mouse:

  1. highlight the text you want to copy by holding down the left button.

  2. go to the destination area; depending on your configuration, you might need to click it using the left button to give it focus.

  3. click the middle mouse button to paste. If you have a two button mouse and are emulating a three button mouse, push both buttons simultaneously.

14.16. How do I convert the default Red Hat menus into a menu on the K-Menu?

Click on that 'K' and run System->Appfinder.

14.17. Why isn't kdm or klock working in Redhat?

Please check whether you have the /etc/pam.d/kde file. If it doesn't exist, create one by copying (or making a symlink) the xdm file to kde.

However, kdebase-1.1pre2 is supposed to make a symbolic link from /etc/pam.d/xdm to /etc/pam.d/kde, if it does not exist.

There are reports that the uninstall scripts for kde-1.1pre1 "rh5x" RPMs interfere with the post-install scripts of kde-1.1pre2 "rh5x" RPMs.

If you have problems, force a reinstall:
 rpm -Uvh --force kdesupport-1.1pre2-1rh5x.i386.rpm
 rpm -Uvh --force kdelibs-1.1pre2-1rh5x.i386.rpm
 rpm -Uvh --force kdebase-1.1-pre2-1rh5x.i386.rpm

14.18. What is CVS?

It is an acronym for Concurrent Versions System. It is a version control system and is based on RCS (Revision Control System), but offers more functionality. It is used to maintain source code under development. It will keep multiple versions of things (handy if you broke something and have to back up and get a clean old version), and allows people remote access over the Net to pick up the latest source code and even to check in new stuff if they have permission. It is also open source (you pay for support if you want it), and since it is free it is the system of choice for people writing more free products, such as KDE.

14.19. Does KDE support dual screen?

You need to have the following:

  1. a multi-headed X server (e.g. MertroX)

  2. a window manager that understands a multi-headed display (e.g. Window Maker)

AFAIK, KWM can't do what you want (yet).

14.20. How do I check which version of KDE I'm using?

Fire up your KDE Control Center. If there's no mention of KDE's version number, then it must be 1.0.

Another clear difference is the 'K' on the panel. In 1.0 it's a black-and-white 3D K, while in 1.1 it's a white K on top of a wheel.

Or if you have installed KDE from RPMs try:
 $ rpm -qa  | grep kde
 kdesupport-1.1pre2-2rh5x
 kdeadmin-1.1pre2-1rh5x
 kdelibs-1.1pre2-1rh5x
 kdegraphics-1.1pre2-1rh5x
 kdemultimedia-1.1pre2-1rh5x
 kdetoys-1.1pre2-1rh5x
 kdegames-1.1pre2-1rh5x
 kdeutils-1.1pre2-1rh5x
 kdebase-1.1pre2-1rh5x
so my current version is 1.1pre2.

14.21. Can I write commerical software for KDE?

You can use the KDE libs to write "commercial and closed source" as well as "commercial and open source" software. If you write open source software you can use the Qt free edition. But if you write closed source software you may not use the Qt free edition; you'd have to obtain the Qt professional edition from Troll Tech.

If you want more information, please contact Troll Tech directly.

15. Not really KDE-related, but frequently asked nevertheless :-)

15.1. How do I change the screen resolution?

Use Ctrl-Alt-'+' and Ctrl-Alt-'-' to cycle among the resolutions you have defined in /etc/XF86Config (maybe under /etc/X11 instead—poke around first). If you prefer to get your hands dirty, you can always edit the file directly. By placing your favorite resolution at the beginning (or making it the only one listed), X will always start up with that resolution.

15.2. How do I change the color depth?

AFAIK, there's no way you can do it on the fly. You can either start X using:
 startx -- -bpp ??
where ?? can be 8, 16, 24 or 32 depending on the depth you want, or if you're using xdm/kdm, you'd have to edit /etc/X11/xdm/Xservers (may vary) by putting:
 :0 local /usr/X11R6/bin/X -bpp 16
for color depth 16.

Alternatively, you can edit the XF86Config file and add a line like
 DefaultColorDepth     ??
to Section "Screen". The next time you start X, it will run with the newly-configured color depth.

15.3. What can I do if I'm using a 2-button mouse?

Go buy a 3-button one, or use 3rd button emulation. The 3rd button is emulated by pressing both left and right buttons together. You might need to enable "Emulate3Buttons" in your XF86Config file.

15.4. What is a "sticky" window?

In a virtual desktop environment with multiple virtual desktops, a "sticky" window will stay put on the screen when you switch between desktops, as if sticking to the glass of the screen. xclock is a typical candidate for sticking, as you need to run only one instance of it, and it always stays with you.

15.5. How do I replace the "X" mouse pointer with an arrow?

The various types of cursor available in X are defined in X11/cursorfont.h. You can change it using 'xsetroot -cursor_name NAME_OF_CURSOR'. For example, I have the following in my $HOME/.Xclients:

 xsetroot -cursor_name left_ptr

This will create the common left-angled pointer. To see other alternatives, type 'xfd -fn cursor'. And of course, don't forget that 'man xsetroot' is your friend.

15.6. How do I extract/install diff files?

To generate a context-diff suitable for patching, use:
 diff old-file new-file > patchfile

To apply the diff to a file ("patch the file"), execute:
 patch < patchfile

15.7. Should I upgrade to 2.2 kernel?

It depends. If the 2.2.x kernel provides something you really want or need that your current kernel does not, then you should upgrade.

15.8. How do I mount the floppy device both in dos and ext2?

Just specify the filesystem type as auto in /etc/fstab. Auto detection works fine for dos and ext2.

15.9. How do I start KDE with the Num-Lock on?

Have you tried 'man setleds'?

In addition, you might want to edit your $HOME/.Xmodmap and put the following lines in:

 ! redefines numeric keypad to be used without NumLock
 keycode 79 = 7
 keycode 80 = 8
 keycode 81 = 9
 
 keycode 83 = 4
 keycode 84 = 5
 keycode 85 = 6
 
 keycode 87 = 1
 keycode 88 = 2
 keycode 89 = 3
 
 keycode 90 = 0
 keycode 91 = comma
 keycode 86 = plus
 
 ! deactivates NumLock key
 keycode 77 =            

Other possible alternatives:

  1. xkeycaps: right clicking should allow edits. May have to do this as root.

  2. "man XF86Config" and look under section Keyboard.

15.10. How do I take window or desktop screenshots?

Use xv, gimp, ksnapshot, whatever.

15.11. Is there somewhere a tool to make webpages?

Yes, and there are a lot of them out there, including StarOffice, Netscape Composer, XEmacs and last but not least, WebMaker, our very own KDE web publishing tool! And by using WINE, it might be possible to run your Windows-based tool on PC Unices as well. Try as many as possible and choose the one most suitable to your needs.

15.12. Where can I find a free X server for Windows 95/98/NT?

You can try downloading MI/X from http://www.microimages.com/.

15.13. What do all those acronyms like AFAIK mean?

   1 AFAIK: as far as I know
   2 BTW: by the way
   3 FWIW: for what it's worth
   4 CMIIW: correct me if I am wrong
   5 IMHO: in my humble opinion
   6 IMAHO: in my always humble opinion
   7 FUD: fear, uncertainty and doubt
   8 BFN: bye for now
   9 AISE: as I see it
  10 AAMOF: as a matter of fact
  11 BION: believe it or not
  12 FYI: for your information
  13 MYOB: mind your own business
  14 SOP: standard operating procedure
  15 RTFM: read the fine manual
  16 YMMV: your mileage may vary
  17 TIA: thanks in advance
  18 HTH: hope this helps
  19 IIRC: if I recall correctly

16. Getting more information

16.2. Is there a KDE mailing list?

Well, there is more than one. Each focuses on a different aspect of KDE. Some of them are for the developers, so they are not discussed in detail. The important lists are:

kde

This is the main KDE mailing list for general discussions.

kde-announce

This list is used to announce new versions of KDE as well as new tools and applications.

kde-user

This list is intented for users helping other users.

kde-look

This is the list that deals with questions of look & feel and general user interface considerations.

kde-licensing

This list is devoted to discussions about the KDE and Qt license issues.

For the complete list of mailing lists available, please refer to http://www.kde.org/contact.html.

Please note that it is not a good idea to ask questions which are already answered in this FAQ.

16.3. How do I subscribe/unsubscribe to these lists?

All lists are available via the university of Tübingen.

To subscribe

Send an email to list-request, that is:

The email must contain

subscribe your email address

in the subject of the message.

To unsubscribe

Send an email to list-request, that is:

The email must contain

unsubscribe your email address

in the subject of the message.

PLEASE: Never send subscribe/unsubscribe request to the mailing list directly! Use the list-request instead.

16.4. Is there a mailing list archive?

Yes, there is a searchable mailing list archive hosted by Progressive Computer Concepts. The URL is: http://lists.kde.org.

How do I search it?

Point your browser at http://lists.kde.org/. There you will see a directory listing of the mailing lists. Note that you can only do a subject/author search at this level. You probably will not find what you want doing this kind of search.

To do a body search, you have to enter one of the mailing lists. Just click on the folder you want to search (e.g. "kde" or "kde-user") and then the pull-down menu by the search box will default to "Body" searches. To be thorough you should probably search the "kde", "kde-user" and "kde-devel" folders.

16.5. Is there a newsgroup about KDE?

Yes, there is! It's at: comp.windows.x.kde. In addition, there is also a German newsgroup at: de.alt.comp.kde. Please note that it is not a good idea to ask questions which are already answered in this FAQ.

17. Contributing

17.1. How can I contribute to KDE?

KDE is a free software project that lives from voluntary contributions. Everybody is encouraged to contribute to KDE. Not only programmers are welcome. There are lots of ways in which you can help to continue KDE:

  • Testing the software

  • Sending in bug reports

  • Writing documentation or help files

  • Translating programs, docu and help files

  • Drawing nice icons, composing sounds

  • Writing articles and books about KDE

  • Programming new KDE applications

  • Of course, sponsors are also welcome :-)

There are several places to look for more information if you want to get involved in the development. The first step is to subscribe to some of the mailing lists. You will soon see something that can be improved or added.

17.2. How do I commit a bug report?

There is an automatic bug tracking system available at:

http://buglist.kde.org

The system features an entry form to commit new bug descriptions and a list of all known bugs. Please make sure to look through the buglist before committing a new bug.

17.3. I want to program for KDE. What should I do first?

Everybody is encouraged to develop software for KDE. What you should do first depends strongly on your experience, e.g. whether you have already learned C++ or have experience with the Qt toolkit and so on.

To get into KDE programming, you will need some basic tools: automake, autoconf and egcs. You should look at http://developer.kde.org/ and http://www.ph.unimelb.edu.au/~ssk/kde/devel/ for more tips.

Another excellent resource for learning KDE programming is the QT online tutorials. These are installed along with QT. Open up in KDE Help or KFM: $QTDIR/html/index.html and bookmark it. The tutorial is under "Using QT". The source code for each lesson can be found in the $QTDIR/tutorial directory.

There is, however, one thing that everybody interested in programming for KDE should do: subscribe to the developers mailing list. To subscribe, you have to send a mail with your email address in the subject to:

kde-devel-request@kde.org

Please read How to subscribe to these lists carefully. Everything said there applies to the development list as well.

17.4. How do I get write access to the kde-core-devel list?

By default, when you have subscribed to the kde-core-devel list, you will not be able to post on this list; you can just receive the messages. If you want to post on this list, you have to contact Martin Konold first. He will add you to the list of people allowed to write on kde-core-devel.

This is not a kind of censorship: Everybody interested in developing will get write access to the list. We think that this procedure is a good way to keep the signal to noise ratio high on this list.

By the way, kde-devel has been opened up--anyone can post to it now.

17.5. How do I get access to the CVS?

The KDE project uses the CVS system to develop the core parts of the software. Usually, if you have changed one of this parts, perhaps fixed a bug, and you want to commit this change, the best way is to create a patch against a current snapshot and send this patch to the developer/maintainer of the respective program.

If you are doing this more or less regularly, you can ask Stephan Kulow for direct access to the CVS. But be aware that more and more users will slow down the CVS access for all developers, so we want to keep the number of people with direct CVS access reasonably small. But feel free to ask!

17.6. I am just curious. Can I have read-only access to the CVS?

Yes. It is possible to get read-only access to the CVS repository with the cvsup utility.

You can find more information about how to set up cvsup for the KDE repository at the KDE cvsup page.

17.7. Are there any CVS mirror sites for KDE?

Yes. The main KDE server is normally very busy and unresponsive. Please take a look at http://www.kde.org/cvsupmirrors.html for the list of available mirrors. For example, to use the mirror cvsup.nl.freebsd.org, simply replace
  
 *default host=cvs.kde.org
with
  
 *default host=cvsup.nl.freebsd.org
in your cvsup script.

17.8. How do I go about translating KDE programs into my native language?

Take a look at http://www.kde.org/i18n.html to see whether your program is already translated (most are). Otherwise you'll find information there on how to do it yourself.