Ubuntu 16.04でSteamが起動しない


19

再インストール後、更新プログラムはダウンロードされましたが、端末からも開始されません。これはそれが与えるエラーメッセージです:

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)

公式Ubuntuのトラッカーのバグ:bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669:私はnvidiaのドライバのダウングレードによって同様の問題を解決しaskubuntu.com/questions/893922/...
チロSantilli新疆改造中心法轮功を六四事件

回答:


43

私は同じ問題を抱えており、http//ubuntuforums.org/showthread.php?t = 2275526からの指示に従って解決できました。

これは、steamおよびubuntu 15.04の問題です。Steamは古いライブラリをバンドルしており、mesaドライバーと衝突しているため、クローズドドライバーはこの問題を認識していません。

Steamのgithubには未解決のバグがあります。現在の回避策は、少なくともバルブが起動スクリプトなどで問題を修正するまで、古いlibバージョンを削除することです。このフォルダを入力して、これを実行してください

コード:

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

それは私のために働いた...しかし、いくつかのゲームがsteamランタイムからその古いライブラリを必要とした場合、クラッシュする可能性があることに注意してください(これがバルブを修正する必要がある理由です)

編集:スレッド内のステップは、Ubuntu 15.04+Steamをインストールする際の問題から既に引用されているので、これらの手順では問題を解決するのに十分でない場合は、詳細を参照してください。


both mvコマンドの場合、次のようになりましたgnu: No such file or directory。どうして?
キャスパー

@CasperLI別のディレクトリにある場合があります。Nickの答え(askubuntu.com/a/778521/514190)からのパスに移動して、お気に入りのファイルマネージャーでlibstdc ++。so.6の名前を変更してみてください。または、単にファイルを見つけます
。– balver

上記のコメントからコマンドが欠落しています:find ~/.steam -name "libstdc++.so.6"
balver

これはUbuntu 17.10では機能しませんでした
Ray Foss

再起動すると修正されました...で何かを閉じていましたps aux | grep steam。別の何かを実行する必要があります。それでも、オフラインのときにクラッシュするようです。
レイ・フォス

5

上記の答えは私にとって正しいものでしたが、16.04でsteamを実行しようとしたときにファイルへのパスはまったく同じではありませんでした

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

また、最初に更新した後、これを再度行う必要があります。そうしないと、更新されません。


3

libstdc ++を削除する代わりに、このエラーがあいまいなlibGLシンボリックリンクによって引き起こされているかどうかを最初に調査します。

この問題を解決するために私のために働いた他の答えを参照して ください/ubuntu//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

ここで、mesaが提供するライブラリを削除するだけで、すべてが完全に機能しました。

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

0

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.