Strange text entry behavior in KDE 4.5

11. August, 2010

As I write the last blog entry, I noticed that the cursor was somehow … glued to the last character. In the web browser, the last character would be underlined and in the shell, it would be displayed in reverse. When typing a symbol like comma or tick, I would get an umlaut like ç or é.

The culprit is called SCIM – “Smart Chinese/Common Input Method”. If you look at the running tasks, you should see a small window in the lower right corner of your screen:

SCIM main window

SCIM can get in your way

Click on the icon to quit this beast.

As I found out while writing this blog post, SCIM is pretty dangerous. If you start it in the foreground and then press Ctrl+Z to put it in the  background, all programs which take text input freeze. Stopping SCIM in the middle of a session can also leave Google Chrome dead. Great.

Plasma doesn’t come up after updating to KDE 4.5

11. August, 2010

If the desktop doesn’t come up after upgrading to KDE 4.5, check that the file “/usr/bin/ksmserver” exists. If it’s missing, look for the package “kdebase-workspace-bin” and install it (again) if necessary.

Could not start ksmserver. Check your installation. [solved]

11. August, 2010

SOLVED (see below)

I just upgraded to KDE 4.5 (for openSUSE 11.3, see here for instructions) but it won’t start. All I get is a xconsole with this text:

Could not start ksmserver. Check your installation.

The .xsession-errors log shows that the server unexpectedly dies. I check that all the libraries are there and stuff but to no avail. If I start it from the command line, it says “Can’t connect to X server on :0”. If I use a different window manager, I get “Can’t connect kdm. Use –replace to …”

Will keep trying.

[Update 1] It seems that this is a bug in the package version resolution of zypper. It only updates some packages but not all. So far, I couldn’t figure out which package breaks ksmserver. Using yast2 to install all KDE-related packages from the new 4.5 repository doesn’t help.

[Update 2] The error message in .xsession-errors looks like:

kdeinit4: (ksmserver /usr/bin/ksmserver) Pipe closed unexpectedlykdeinit4: Pipe closed unexpectedly: Resource temporarily unavailable

[Update 3] After some prodding, I found a solution. Here is a recipe:

  1. Run the installation via the one-click install. If one-click is broken for some reason, just invoke /sbin/OneClickInstallUI ""
  2. This will get you most of KDE 4.5 but not everything, so don’t reboot, yet. If you did reboot, you will have to do the following from the console which isn’t that much fun. If your KDE is broken, select a different window manager in the login screen (like TWM or MWM).
  3. What is missing? First locate the name of your KDE Factory repository. Run zypper lr One line of the output should read “KDE:Distro:Factory” or very similar. Note the value in the column “Alias” for this entry.
  4. Now we can ask zypper to list all updates that it didn’t install: zypper lu -a|grep KDE:Distro:Factory (use the name from above). This can be a long list. Don’t worry.
  5. To install the missing things, restrict zypper to the KDE Factory repository: zypper install --from KDE:Distro:Factory ...package names... Zypper will ask whether it’s OK to change the vendor. Answer “y” (yes).
  6. When zypper lu doesn’t print anything anymore, KDE 4.5 should start.

Next stop: Working around all the new bugs in KDE 4.5.

Maybe related: KDE startet nicht mehr, ksmserver error (German)