我已经运行:(steam
从官方 Trusty 存储库安装后),当下载更新程序窗口弹出时,此更新程序完成下载后出现错误:
rm: cannot remove ‘/home/fusion809/.steam/steam’: Is a directory
rm: cannot remove ‘/home/fusion809/.steam/bin’: Is a directory
Running Steam on ubuntu 14.04 64-bit
STEAM_RUNTIME is enabled automatically
[2017-03-16 20:11:21] Startup - updater built Mar 13 2017 20:55:20
Installing breakpad exception handler for appid(steam)/version(1489442219)
SteamUpdateUI: An X Error occurred
X Error of failed request: BadValue (integer parameter out of range for operation)
是否有我遗漏的软件包(由于某种原因,在我运行sudo apt-get install steam
安装 Steam 时该软件包没有被安装),或者?
哦,我已经尝试过这个答案,即运行:
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。这并没有修复这个错误。此外,根据这个答案我在开始处添加了$HOME/.steam/steam.sh
:
export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
export DISPLAY=:0
但这并没有解决问题。事实上,它引入了进一步的错误,这可能是由于导致'
变量$LIB
无法扩展的事实。再加上echo $LIB
在终端中运行会返回,/usr/lib
所以我认为该答案的意图是:
export LD_PRELOAD="$LIB/libstdc++.so.6"
export DISPLAY=:0
但这也没有修复错误,甚至没有以积极的方式改变错误(因为/usr/lib/libstdc++.so.6
在我的 Ubuntu 14.04 安装中不存在错误,/usr/lib/i386-linux-gnu/libstdc++.so.6
但/usr/lib/x86_64-linux-gnu/libstdc++.so.6
确实存在)。将 LD_PRELOAD 设置为这些路径中的任何一个也无法修复错误,只是添加了以下几行:
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libstdc++.so.6' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
或者:
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libstdc++.so.6' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
错误消息。为了尝试帮助您帮助我,我还运行了:
LD_DEBUG=libs steam > steam_debug.log 2>&1
和这是steam_debug.log
我得到的。