«Установка обработчика исключений брейк-листа для appid (steam)» при попытке запустить Steam

Я бы попытался:

sudo find / -type d -name "postgis-2.0.0"

The. означает поиск только в текущем каталоге, лучше всего искать все от root, если вы действительно этого не знаете. Кроме того, type -f означает поиск файлов, а не папок. Добавление sudo позволяет выполнять поиск во всех папках / подпапках.

Ваш синтаксис для locate правильный, но вам, возможно, придется сначала запустить

sudo updatedb

. По какой-то причине мне никогда не удастся с locate.

locate использует базу данных файлов и каталогов, сделанных updatedb. Поэтому, если вы загрузили новый файл, есть еще больше шансов, что ваш updatedb не обновил базу данных файлов и каталогов. Вы можете использовать sudo updatedb перед использованием служебной программы locate. updatedb обычно работает один раз в день сам по Linux-системам.

1
задан 16 February 2013 в 22:04

3 ответа

Steam нуждается в большом количестве 32-битных библиотек из вашей системы. Если какой-либо из них отсутствует, исполняемый файл Steam сработает.

В openSUSE вы можете проверить, какой пакет предоставляет определенную библиотеку с помощью команды zypper wp libpng12.so.0.

На Ubuntu нет такой простой способ, но этот сайт достаточно хорошо объясняет процесс.

Полный список, необходимый для запуска Steam:

    libGL.so.1
    libX11.so.6
    libXau.so.6
    libXext.so.6
    libXi.so.6
    libXrandr.so.2
    libXrender.so.1
    libappindicator.so.1
    libasound.so.2
    libc.so.6
    libcairo.so.2
    libdbus-1.so.3
    libdl.so.2
    libfontconfig.so.1
    libfreetype.so.6
    libgcc_s.so.1
    libgdk-x11-2.0.so.0
    libgdk_pixbuf-2.0.so.0
    libglib-2.0.so.0
    libgobject-2.0.so.0
    libgtk-x11-2.0.so.0
    libm.so.6
    libnspr4.so
    libnss3.so
    libnssutil3.so
    libpango-1.0.so.0
    libpangocairo-1.0.so.0
    libpangoft2-1.0.so.0
    libplc4.so
    libpng12.so.0
    libpthread.so.0
    librt.so.1
    libsmime3.so
    libstdc++.so.6
    libsteam.so
    libxcb.so.1
    libz.so.1

Если вы хотите быстро узнать, чего не хватает , запустите следующую команду:

strace -E LD_LIBRARY_PATH=/home/USERNAME/Steam/ubuntu12_32/ -e trace=open /home/USERNAME/Steam/ubuntu12_32/steam (замените USERNAME дважды своим именем вашей учетной записи на вашем Linux)

Он даст вам вывод чего-то подобного в одной из последних строк :

open("/home/user/Steam/ubuntu12_32/libspeex.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

Если нет строки, после которой не упоминается ENOENT, вам придется искать, какой пакет предоставляет общую библиотеку (libspeex.so.1 в этом case) в соответствии с учебником выше.

3
ответ дан 25 May 2018 в 04:39
LANG=C LD_LIBRARY_PATH=${HOME}/Steam/ubuntu12_32 ldd ${HOME}/Steam/ubuntu12_32/* | grep 'not found'

Это должно дать вам список всех недостающих библиотек; даже если вы используете язык, отличный от английского, оставьте последнюю часть «не найденной».

Сам исполняемый файл Steam не зависит от многих, но те, которые он загружает во время выполнения, будут выходить из процесса чисто, если их зависимости неудовлетворены, не давая выхода, кроме «обработчика исключений».

1
ответ дан 25 May 2018 в 04:39
  • 1
    Когда вы найдете список, см. askubuntu.com/questions/107230/… для инструкций по установке. – landroni 24 February 2017 в 21:50

В Reddit я увидел решение:

apt-get install libpango1.0-0:i386
apt-get -f install
0
ответ дан 25 May 2018 в 04:39
  • 1
    не работает для меня – Star Diamond 7 November 2012 в 05:47
  • 2
    Вы пытались установить другие 32-разрядные версии, как предлагалось? – OrangeTux 7 November 2012 в 05:51
  • 3
    да, у меня есть ... sudo apt-get install libpango1.0-0: i386; sudo apt-get -f install – Star Diamond 7 November 2012 в 05:54

Другие вопросы по тегам:

Похожие вопросы: