Steam不会在Ubuntu 16.04上启动

重新安装后,下载了更新,但即使从终端也无法启动。 这是它给出的错误消息:

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) 

我遇到了同样的问题,我可以按照http://ubuntuforums.org/showthread.php?t=2275526的说明解决这个问题:

这是steam和ubuntu 15.04的问题。 Steam捆绑旧库并与台面驱动器发生碰撞,这也是封闭式驱动程序没有看到此问题的原因。

在steam github中有一个开放的bug现在的解决方法是删除旧的lib版本,至少直到Valve在他们的启动脚本中修复问题或者类似。 所以输入这个文件夹并执行此操作

码:

 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 

它对我有用…但是请注意,如果某些游戏需要来自蒸汽运行时的旧lib,它可能会崩溃(这就是为什么应该对此进行阀门修复)

编辑:线程中的步骤已经从Ubuntu 15.04+上安装Steam的问题中引用,所以如果这些说明不足以解决您的问题,您可以去那里获取更多详细信息。

上面的答案对我来说是正确的,虽然当我试图让蒸汽在16.04运行时,我需要的路径是不一样的文件路径

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

也是在第一次更新后我不得不再次这样做,否则它仍然不会更新。

而不是删除libstdc ++,首先调查此错误是否是由不明确的libGL符号链接引起的。

请参阅我的其他答案,这也有助于我解决此问题https://askubuntu.com/a/903488/364084

我要在这里粘贴内容:

如果您使用的是nvidia驱动程序,有时您会看到libGL.so.1指向mesa和nvidia提供的模糊libGL。 要对此进行测试,可以运行此命令

 $ sudo ldconfig -p | grep -i gl.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 

现在我只需要删除台面提供的库,一切都很完美。

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

然而,balver的解决方案有效,目录与发布的内容略有不同。 这是我输入的命令序列:

 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