kde4 services in kde3 apps

Mitch Golden mgolden at mitchgolden.com
Fri Dec 19 19:39:14 GMT 2008


With a default install of Intrepid, there are some apps built against KDE 
4, and some built against KDE 3.5.  If you open a KDE 3.5 app (Amarok is 
an example) and open the Help > About Amarok panel, you will see a link to 
the amarok site.  If you try to click this link, you will receive an error
"Can't find service kfmclient".

This issue afflicts all KDE 3.5 applications, and includes not just 
Konqueror (which is what kfmclient is opening) but also khelpcenter, and 
possibly others.

The issue appears to be that there are separate directories
/usr/share/applications/kde and /usr/share/applications/kde4, and the 
desktop files construct separate sycoca files.  Since kfmclient.desktop is 
only installed in the kde4 directory, the KDE 3.5 apps can't find it in 
their sycoca.

A simple fix is just to make a symlink from the kde4 file into the kde 
directory.  I.e:

cd /usr/share/applications/kde
sudo ln -S ../kde4/kfmclient* .
kbuildsycoca

and the problem disappears.

So, my question is: this isn't really an issue with the specific Konqueror 
package, but an overall structural issue, so to whom should the patch be 
submitted?

Does anyone know the complete list of packages that should be accessible 
from KDE 3.5 apps?  Or perhaps the two directories should just be 
combined?

   - Mitch Golden



More information about the kubuntu-devel mailing list