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) в соответствии с приведенным выше руководством.
You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch libldap-2.4-2 : Breaks: libldap-2.4-2:i386 (!= 2.4.28-1.1ubuntu4.1) but 2.4.28-1.1ubuntu4.2 is to be installed libldap-2.4-2:i386 : Breaks: libldap-2.4-2 (!= 2.4.28-1.1ubuntu4.2) but 2.4.28-1.1ubuntu4.1 is to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).