Steam은 Ubuntu 16.04에서 시작되지 않습니다


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)

공식 우분투 추적기의 버그 : bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669 nvidia 드라이버를 다운 그레이드하여 비슷한 문제를 해결했습니다 : askubuntu.com/questions/893922/…
Ciro Santilli 新疆 改造 中心 法轮功六四 事件

답변:


43

나는 같은 문제가있어 http://ubuntuforums.org/showthread.php?t=2275526 에서 다음 지침을 해결할 수있었습니다 .

이것은 스팀과 우분투 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

그것은 나를 위해 일했지만 ... 일부 게임에서 스팀 런타임에서 오래된 라이브러리가 필요하면 충돌 할 수 있습니다 (그래서 밸브를 수정해야합니다)

편집 : 스레드의 단계는 이미 Ubuntu 15.04+에 Steam 설치 문제 에서 인용 되었으므로 이러한 지침으로 문제를 해결하기에 충분하지 않은 경우 자세한 내용을 볼 수 있습니다.


두 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

이것은 우분투 17.10에서 작동하지 않았다
레이 포스

다시 시작하면 문제가 해결되었습니다 ps aux | grep steam. 다른 것을 실행해야합니다. 여전히 오프라인 상태 일 때 충돌이 발생하는 것 같습니다.
Ray Foss

5

16.04에 스팀을 실행하려고 할 때 파일 경로가 완전히 같지 않았지만 위의 대답은 맞습니다. 필요한 경로는

~/.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

이제 메사에서 제공 한 라이브러리를 제거해야했고 모든 것이 완벽하게 작동했습니다.

$ 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.