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:
- 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"
- 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).
- 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. - 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. - 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). - 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)
Excellent – same problem – could not make any other solutions work – This did the trick.
Thanks
Easier way is to set factory repo as system default in Yast.
But thanks for help
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?
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
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.
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.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š
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
Thanks! Nice way to update everything from a single repo.
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!
[…] репозиторий кед и с него обновиться. Или по аналогии с этим. Reply With Quote + Reply to […]
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.
Adding a line feed between the two lines is effectively the same as removing the LD_BIND_NOW part because the variable isn’t exported.