Я установил Steam для Ubuntu, поэтому я попытался запустить его, и я получил это:
~$ steam
Installing breakpad exception handler for appid(steam)/version(1352224866_client)
~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.10
Release: 12.10
Codename: quantal
~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Whistler XT [AMD Radeon HD 6700M Series] (rev ff)
В чем проблема и как ее исправить?
Установите ia32-libs:
sudo apt-get install ia32-libs
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) в соответствии с приведенным выше руководством.
На Reddit я видел решение:
apt-get install libpango1.0-0:i386
apt-get -f install
LANG=C LD_LIBRARY_PATH=${HOME}/Steam/ubuntu12_32 ldd ${HOME}/Steam/ubuntu12_32/* | grep 'not found'
Это должно дать вам список всех отсутствующих библиотек; даже если вы используете язык, отличный от английского, оставьте последнюю часть как «не найдена».
Сам исполняемый файл steam не зависит от многих, но те, которые он загружает во время выполнения, чисто выйдут из процесса, если их зависимости не удовлетворены, не давая никакого вывода, кроме «устанавливаемого обработчика исключений».
В наши дни простое решение - включить multiverse
и просто apt install steam
:
$ sudo add-apt-repository multiverse
$ sudo apt install steam
https://linuxconfig.org/how-to-install-steam-on- убунт-18-04-бионический-бобер-Linux