Steam startet unter Ubuntu 16.04 nicht


19

Nach der Neuinstallation werden Updates heruntergeladen, aber es wird nicht einmal vom Terminal aus gestartet. Dies ist die Fehlermeldung, die es gibt:

Running Steam on ubuntu 16.04 32-bit  
STEAM_RUNTIME is enabled automatically  
[2016-04-25 09:12:35] Startup - updater built Mar 31 2016 19:10:48  
SteamUpdateUI: An X Error occurred  
X Error of failed request:  BadValue (integer parameter out of range for operation)

Fehler im offiziellen Ubuntu-Tracker: bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669 Ein ähnliches Problem habe ich durch ein Downgrade des NVIDIA-Treibers behoben
Ciro Santilli六四 事件

Antworten:


43

Ich hatte das gleiche Problem, das ich mit den folgenden Anweisungen von http://ubuntuforums.org/showthread.php?t=2275526 lösen konnte :

Dies ist ein Problem mit Steam und Ubuntu 15.04. Steam bündelt alte Bibliotheken und kollidiert mit Mesatreibern. Aus diesem Grund sehen geschlossene Treiber dieses Problem nicht.

Es gibt einen offenen Fehler in Steam Github. Die Problemumgehung besteht jetzt darin, die alte lib-Version zu entfernen, zumindest bis Valve das Problem in ihrem Startskript oder ähnlichem behebt. Geben Sie also diese Ordner ein und tun Sie dies

Code:

cd $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

Es hat bei mir funktioniert ... aber bitte beachte, dass wenn ein Spiel diese alte Bibliothek aus der Steam-Laufzeit benötigt, es abstürzen kann (aus diesem Grund sollte das Ventil dieses Problem beheben)

Bearbeiten: Die Schritte im Thread wurden bereits aus " Problem mit der Installation von Steam unter Ubuntu 15.04+" zitiert , sodass Sie dort weitere Details finden können, falls diese Anweisungen nicht ausreichen, um Ihr Problem zu lösen.


Für die beiden mv Befehl, ich habe: gnu: No such file or directory. Warum?
Casper

@CasperLI Sie befinden sich möglicherweise in einem anderen Verzeichnis. Versuchen Sie, den Pfad von Nicks Antwort ( askubuntu.com/a/778521/514190 ) aufzurufen und libstdc ++. So.6 in Ihrem bevorzugten Dateimanager umzubenennen. Oder suchen Sie einfach die Datei:
balver

fehlender Befehl aus obigem Kommentar:find ~/.steam -name "libstdc++.so.6"
balver

Dies funktionierte auf Ubuntu 17.10
Ray Foss am

Neustart behoben ... Ich hatte alles geschlossen ps aux | grep steam. Es muss etwas anderes laufen. Immer noch ein Mist, dass es im Offline-Zustand zum Absturz zu kommen scheint.
Ray Foss

5

Die Antwort oben war richtig für mich, obwohl der Pfad zu den Dateien nicht ganz derselbe war, als ich versuchte, Steam für 16.04 zu bekommen, der Pfad, den ich brauchte, war

~/.steam/bin/steam-runtime/i386/usr/lib/i386-linux-gnu

Auch nach dem ersten Update musste ich das nochmal machen, sonst würde es immer noch nicht updaten.


3

Anstatt libstdc ++ zu entfernen, untersuchen Sie zunächst, ob dieser Fehler durch mehrdeutige libGL-Symbolverknüpfungen verursacht wird.

Weitere Informationen finden Sie in meiner anderen Antwort, die ebenfalls zur Behebung dieses Problems beigetragen hat: /ubuntu//a/903488/364084

Ich werde den Inhalt hier einfügen:

Wenn Sie den nvidia-Treiber verwenden, werden Sie manchmal feststellen, dass libGL.so.1 auf mehrdeutiges libGL verweist, das sowohl von mesa als auch von nvidia bereitgestellt wird. Um dies zu testen, können Sie diesen Befehl ausführen

$ sudo ldconfig -p | grep -i gl.so

Die Ausgabe war ungefähr so:

    libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
    libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
    libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
    libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
    libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
    libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
    libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
    libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
    libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
    libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
    libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
    libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
    libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
    libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so

Jetzt musste ich nur noch die von mesa bereitgestellte Bibliothek entfernen und alles funktionierte perfekt.

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1

0

balvers lösung funktionierte jedoch, das verzeichnis ist etwas anders als das, was gepostet wurde. Hier ist die Befehlssequenz, wie ich sie eingegeben habe:

cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.