Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] KDE 4 installation (and co-installability with KDE 3)

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Juan Carlos Torres <carlosdgtorres AT gmail.com>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: [SM-Discuss] KDE 4 installation (and co-installability with KDE 3)
  • Date: Sun, 6 Jan 2008 21:35:42 +0800

Greetings fellow mages!

Thanks to the fixes done to the KDE 3 kdelibs spell (thanks Treeve and
Jaka!),
I was finally able to test out our kde4 spells (just a few days short of KDE
4.0's official release). So far it was been successful, although I've only
cast the basic modules (kdelibs4, kdepimlibs4, kdebase4, plasma).

I've run a bit into some concerns which I'd like to bring up here,
specifically about KDE3/Qt3 and KDE4/Qt4 co-installability. I'm not sure
whether they should be addressed on the spell level (might need a patch or
change of PATHs), or let the user resolve them themselves (probably with
some notes on how to do so).

1. Qt 4 binaries and libraries

At most, KDE 4 needs qdbus in order to start. qdbus is only available in Qt
4.
Currently, we install Qt 4 binaries in /usr/bin/qt4/. However, this path is
not automatically added to the system path, so qdbus is not found when
starting a KDE 4. The user can probably just add it to his own path, but he
will have to do it for every user that will try to start a KDE 4 session. No
problem if he only has one user.

I'm not sure about any other Qt3-Qt4 conflicts that might arise, like other
binaries or libraries (I'm no lib expert in that area yet). But so far I
haven't run into any yet.

2. KDE 4 Session and KDM

A kde4.desktop file is installed by kdebase-workspace4
in /usr/share/xsessions/ in order to add a KDE4 entry to KDM's (or probably
any display manager's) Sessions menu. However, kdmrc is not set by default to
read from that directory. It reads from the default
directory /usr/share/apps/kdm/sessions/. It seems that it's possible to have
multiple directories as the source for session .desktop files, as written in
the kdmrc file.

# The directories containing session type definitions in .desktop format.
# Default is "/usr/share/apps/kdm/sessions"
# SessionsDirs=/etc/X11/sessions,/usr/share/xsessions

(I had to uncomment the SessionsDirs line.)

3. KDE 4 Home directory

By default, any both KDE 3 and KDE 4 use the same $KDEHOME directory,
$HOME/.kde/. I haven't been with Linux and KDE that long to have witnessed
the other major migrations (like KDE 2 to KDE 3), so I'm not really familiar
with how distros or KDE itself does the transition. Anyway, if both KDE 3 and
KDE 4 share the same $KDEHOME directory, this might create some conflicts
between two versions of the same app (like Konqueror, for example). It's
entirely possible for the user to set the $KDEHOME directory on his own, but
he'd have to do it per session, depending on whether he'll be logging into
KDE 3 or KDE 4.

Debian/Kubuntu resolves this by patching kdelibs4 to use $HOME/.kde4/ by
default instead of $HOME/.kde/ (which is going to be used by KDE 3). I'm
attaching the patch they use. There might be other KDE3-KDE4
files/directories conflicts involved, but this is the only one I know of.
Besides, since we install KDE 4 to /opt, I don't think it would be much of a
problem.

I'm not really sure if it's something that should be set through the kde4
spells (since we try to ship with vanilla/defaults, right?) or just let the
user decide. Anyway, I just thought of bringing it up for those who might be
interested to know or for those who'll be searching in the future.

Thanks a lot for your work on Source Mage and the KDE spells. :)
--- a/kdecore/kernel/kstandarddirs.cpp
+++ b/kdecore/kernel/kstandarddirs.cpp
@@ -1470,7 +1470,7 @@
 #ifdef Q_WS_MACX
         localKdeDir =  QDir::homePath() + "/Library/Preferences/KDE/";
 #else
-        localKdeDir =  QDir::homePath() + "/.kde/";
+        localKdeDir =  QDir::homePath() + "/.kde4/";
 #endif
     }
 



Archive powered by MHonArc 2.6.24.

Top of Page