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

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 "http://download.opensuse.org/repositories/KDE:/Distro:/Factory/openSUSE_11.3/KDE4-BASIS.ymp"
  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)

13 Responses to Could not start ksmserver. Check your installation. [solved]

  1. Ray says:

    Excellent – same problem – could not make any other solutions work – This did the trick.
    Thanks

  2. freman says:

    Easier way is to set factory repo as system default in Yast.
    But thanks for help

    • digulla says:

      I’m not sure I want a repository with unstable software as “default”. But for anyone reading this: How would I do that? Can you post a step by step guide, please?

  3. Brad Johnson says:

    freman says:
    “Easier way is to set factory repo as system default in Yast.”

    That is what i did, the clicked “all in this list update”

    Open YaST, goto “repositories”
    disable all but Factory,
    then goto view “expository”
    a lot of packages should come up, click anyone and click all in this list
    “update if available”

    hope this helps

    • digulla says:

      Thanks for the recipe. I didn’t use the “Make Factory Repo the system default” because I want more control which packages are installed. Maybe that was a mistake.

  4. Lindsay Roberts says:

    I found a solution that seems to work without package update/reinstallation. In /usr/bin/startkde, change the line similar to LD_BIND_NOW=true /usr/lib/kde4/libexec/start_kdeinit_wrapper +kcminit_startup by removing the LD_BIND_NOW=true clause, leaving just /usr/lib/kde4/libexec/start_kdeinit_wrapper +kcminit_startup for example. This has worked for me on both a 4.5.1 and a 4.6beta install.

  5. Aleš says:

    I tried the solution from Lindsay Roberts and it works for me. Thank you.

    On the logon I selected failsafe mode, which gave small X console. I modified the /usr/bin/startkde file according to the instructions and 🙂

    Regards
    Aleš

  6. Jamie Plumhoff says:

    To speed up/less tediousness of the zypper update, try this one-liner in your pipe and smoke it =)

    for i in `zypper lu -a|grep KDE:Distro:Factory|awk ‘{print $5}’`;do zypper -non-interactive install –from KDE:Distro:Factory “$i”;done

  7. Jamie Plumhoff says:

    Updated like post claims using zypper/YaST; however, was not successful until I took out the “LD_BIND_NOW=true” from /usr/bin/startkde as Lindsay Roberts suggested. Did lose some openSUSE branding, but that could be my fault =) I’ll have to dig into it later.

    Thanks!

  8. […] репозиторий кед и с него обновиться. Или по аналогии с этим. Reply With Quote + Reply to […]

  9. Ran into the same problem when doing a zypper verify to fix a plasmoid leave button that refused to work under kde 4.5. Used the solution from Lindsay Roberts to resolve the lost kde window manager; however, I did not remove the “LD_BIND_NOW=true” variable setting. I simply inserted a line feed between the setting of the variable and the invocation of the startkde script command. Thus I had:

    LD_BIND_NOW=true
    /usr/lib/kde4/libexec/start_kdeinit_wrapper +kcminit_startup

    I can’t imagine how the line feed got lost, but this fixed my lost kde window manager login issue completely. In addition my leave plasmoid button is now working as well.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s