Ubuntu 16.04 Steam работает только от терминала

7

После неудачного обновления с Ubuntu 14.04 до Ubuntu 16.04 мне пришлось стереть мою систему и начать все заново. На этот раз я решил пойти с гораздо меньшей интенсивностью рабочего стола и установить Lubuntu 16.04-1.

Моя проблема: когда я запускаю Steam из ярлыка меню, он действует так, как будто ничего не делает. Однако он отображается в диспетчере задач. Если я просто набираю steam в терминале, я получаю следующее.

[email protected]:~$ 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

Тогда ничего не происходит, в том числе пар не появляется в диспетчере задач. Теперь я нашел команду.

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam

Это запускает Steam, но это не настоящее решение в моих глазах. Как я могу это исправить?

    
задан Michael Scholler 14.08.2016 в 03:51
источник

1 ответ

7

Так как у вас есть команда ( LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam ), чтобы запустить ее правильно, измените файл .desktop , чтобы исправить значок меню, чтобы щелкнуть по этой команде. У:

cd /usr/share/applications

, а затем введите ls , чтобы найти файл .desktop для Steam. Здесь я предполагаю, что он называется steam.desktop , поэтому проверьте это и при необходимости исправьте приведенные ниже команды. Сделайте резервную копию

sudo cp steam.desktop steam-bak

(при необходимости восстановите резервную копию, выполнив mv steam-bak steam.desktop ) отредактируйте исходный файл:

sudo nano steam.desktop

найдите первую строку, начинающуюся с Exec= (вы можете использовать ctrl + w для поиска в nano) и отредактировать строку, чтобы она говорила:

Exec=bash -c "LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam"

Сохраните файл и выйдите из него ( ctrl + o ), затем введите , затем ctrl + x )

Теперь нажмите значок пара в меню, чтобы запустить

Примечание для других: если команда LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam не работает для вас, попробуйте изменить DISPLAY=:0 , чтобы она соответствовала вашей среде. Сначала сделайте echo $DISPLAY , и если результат равен :0.0 , тогда вместо DISPLAY=:0 в команде запуска пара, поставьте DISPLAY=:0.0

Еще одно возможное решение: проверьте Настройки системы > Программное обеспечение и amp; Обновления > Дополнительные драйверы и включить последние проприетарные драйверы (предложение из комментария к другому сообщению, которое, очевидно, работало для 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} 

(возможно, вам потребуется несколько библиотек, и вам может понадобиться повторить их после любых обновлений / повторной синхронизации). В любом случае это не проблема с вашей системой, а с Steam.

Информацию о полной информации см. в следующих документах: Публикация статьи в журнале Epic Arch по устранению неполадок Steam

    
ответ дан Zanna 14.08.2016 в 09:47
источник