InTime Server

How to resolve kfmclient issues in KDE

1286 views February 20, 2019 February 20, 2019 pohheng 0

In certain KDE Linux desktop environments (refer to the OS version information at the bottom of this article), certain InTime actions can output errors such as the ones seen below.
The affected actions include clicking on "More Details" for recipe information, viewing the "Session Log", "Help & Support" etc.
These features either open URLs or open a text file for browsing using applications defined under your KDE configuration.

Cause:

These errors happen when InTime invokes KDE's kwrite application or konqueror browser. Both InTime and KDE rely on Qt libraries.
InTime uses Qt5 whereas KDE applications use Qt4.8.5. The conflict happens when, for example, kfmclient, a tool for opening an URL in KDE, is invoked from InTime.

To check the version of your kfmclient,

$ kfmclient -v
Qt: 4.8.5
KDE Development Platform 4.14.8
kfmclient: 2.0

Resolution 1: (Requires root access)

This workaround addresses the issue of incompatible libraries. Root access is required.

1. Remove these files

$ cd <intime installation directory>/bin
$ rm -rf libfontconfig.so.1 
$ rm -rf libgcc_s.so.1 
$ rm -rf libxcb.so.1 
$ rm -rf libstdc++.so.6 
$ rm -rf libX*
$ rm -rf libfreetype.so.6
$ rm -rf liblzma.so.5

2.  Edit the file /usr/bin/xdg-open.

3. Add the lines below at the top of the file just after the comments.

  echo "LD_LIBRARY_PATH: " $LD_LIBRARY_PATH
  export LD_LIBRARY_PATH=""


4. The first line prints the existing LD_LIBRARY_PATH.  As xdg-open may be used by other applications, you might want to print out the LD_LIBRARY_PATH to verify its contents first. The second line sets it to a blank string.

5. Save the file. Relaunch InTime. You can test this by clicking the "Session Log" under "Help & Support" menu.

Resolution 2: No root access

This partial workaround does not require root access. It can resolve the konqueror browser issue, but kwrite will still not be able to launch.

1. Remove the following files:

$ cd <intime installation directory>/bin
$ rm -rf libfontconfig.so.1 
$ rm -rf libgcc_s.so.1 
$ rm -rf libxcb.so.1 
$ rm -rf libstdc++.so.6 
$ rm -rf libX*
$ rm -rf libfreetype.so.6
$ rm -rf liblzma.so.5

2. Next, edit <intime installation directory/intime.sh. Add two environment variables under the LD_LIBRARY_PATH line.

export XDG_CURRENT_DESKTOP=GENERIC 
export KDE_FULL_SESSION=false

(See below)

3. Save and relaunch InTime.. Test by invoking the "Help & Support" menu.

Applies to:

  • Linux Operating System, RHEL7.x/CentOS 7.x KDE environment 4.

Knowledge Base ID: 201902201 - Last Review: Feb 20 2019 - Revision: 1.1

Leave a Reply