Mic*_*ler 8 command-line steam games
从 Ubuntu 14.04 升级到 Ubuntu 16.04 后,我不得不擦掉我的系统并重新开始。这次我决定使用 CPU 密集程度更低的桌面环境并安装 Lubuntu 16.04-1。
我的问题:当我从菜单快捷方式运行 Steam 时,它就像什么都不做一样。但是它确实显示在任务管理器中。如果我只是steam在终端中输入,我会得到以下信息。
michael@michael-HP-Pavilion-dm1-Notebook-PC:~$ steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
/bin/bash: /home/michael/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5: no version information available (required by /bin/bash)
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
awk: /home/michael/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5: no version information available (required by /lib/x86_64-linux-gnu/libreadline.so.6)
Installing breakpad exception handler for appid(steam)/version(1468023329)
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Run Code Online (Sandbox Code Playgroud)
然后没有任何反应,包括 Steam 没有出现在任务管理器中。现在我确实找到了命令。
LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam
Run Code Online (Sandbox Code Playgroud)
这确实运行 Steam,但在我看来它不是真正的解决方案。我该如何解决?
由于您有一个命令 ( LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam) 可以正确启动它,请修改.desktop文件以修复菜单图标,以便单击它运行该命令。做:
cd /usr/share/applications
Run Code Online (Sandbox Code Playgroud)
然后键入ls以查找.desktopSteam的文件。在这里,我假设它被称为steam.desktop,因此请检查它,并在必要时更正下面的命令。制作备份副本
sudo cp steam.desktop steam-bak
Run Code Online (Sandbox Code Playgroud)
(如果需要,通过执行恢复备份mv steam-bak steam.desktop)编辑原始文件:
sudo nano steam.desktop
Run Code Online (Sandbox Code Playgroud)
找到开始的第一行Exec=(您可以使用ctrl+w在 nano 中搜索)并编辑该行,使其显示:
Exec=bash -c "LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam"
Run Code Online (Sandbox Code Playgroud)
保存文件并退出(ctrl+o然后enter再ctrl+ x)
现在单击菜单中的蒸汽图标启动
其他人注意:如果该命令LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam对您不起作用,请尝试更改DISPLAY=:0以匹配您的环境。首先执行echo $DISPLAY,如果输出为:0.0,则不要DISPLAY=:0在 Steam 启动命令中输入DISPLAY=:0.0
另一个可能的解决方法:检查系统设置 > 软件和更新 > 附加驱动程序并启用最新的专有驱动程序(来自对另一篇帖子的评论的建议,该帖子显然适用于该帖子的 OP)
这些错误是由与 Steam 捆绑的过时驱动程序和库引起的。这可以通过禁用它们来解决,以便 Steam 使用系统文件代替(这就是设置LD_PRELOAD有效的原因)。您可以通过重命名文件来禁用抛出错误的文件:
mv /home/$USER/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5{,.disabled}
Run Code Online (Sandbox Code Playgroud)
(您可能需要对多个库执行此操作,并且您可能需要在任何更新/重新同步后重复此操作)无论如何,这不是您的系统的问题,而是 Steam 的问题。
有关全面的信息,请参阅:
关于 Steam 故障排除的 Epic Arch wiki 帖子
| 归档时间: |
|
| 查看次数: |
2792 次 |
| 最近记录: |