Anyone can download the .deb that valve released at http://media.steampowered.com/client/installer/steam.deb. unfortunately for us this is a 32-bit Ubuntu package, and it isn't even a clean deb file: it will try to install additional dependencies when you run it for the first time. We basically want to ignore any dependency fetching it does and manually install all the dependencies on our own.
First, we just want to force the install of a 32-bit package on the wrong architecture. To do this we run
$sudo dpkg --force-architecture -i steam.debfrom the terminal. It will probably complain about dependencies; ignore this. We can't install all the required libraries through the debian package system, so instead we create a folder in your home directory to contain the alternate versions of these libraries. Luckily steam user cyb.org has put together a script which installs all the required libraries. The script can be found at http://dl.dropbox.com/u/29081229/Steam/debian_install.sh. The full contents of the script are
#!/bin/shin case that link changes its contents (maliciously or otherwise). However, because a required library for steam is installed in your home directory, you need to launch the steam client with a special command line option. cyb.org provides the script http://dl.dropbox.com/u/29081229/Steam/debian_steam.sh
STEAMLIBS=${HOME}/Steamlibc/
mkdir -p ${STEAMLIBS}
cd /tmp/
wget http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu10.2_i386.deb
dpkg -x libc6_2.15-0ubuntu10.2_i386.deb /tmp/libc/
mv /tmp/libc/lib/i386-linux-gnu/* ${STEAMLIBS}
wget http://mirror.ovh.net/ubuntu//pool/main/j/jockey/jockey-common_0.9.7-0ubuntu7_all.deb
wget http://mirror.ovh.net/ubuntu//pool/main/x/x-kit/python-xkit_0.4.2.3build1_all.deb
sudo dpkg -i jockey-common_0.9.7-0ubuntu7_all.deb python-xkit_0.4.2.3build1_all.deb
sudo apt-get install libjpeg8 libcurl3-gnutls libtheora0 libpulse0 libpixman-1-0 libcairo2 libgdk-pixbuf2.0-0 libgtk2.0-0 libpango1.0-0
#!/bin/shto launch steam (the $@ is my addition so that it passes through arguments to the steam script). run
STEAMLIBS=${HOME}/Steamlibc/
LD_LIBRARY_PATH=${STEAMLIBS} /usr/bin/steam $@
$chmod +x steam_debian.shto make it executable. At this point, running the script may launch steam for you. Running
$./debian_steam.sh steam://open/gamessupposedly bypasses the beta check. For me it popped open a dialog to download an update for steam, but after steam is updated, it won't do anything else. You can easily run it under a debugger like so:
For me doing so revealed that it was quitting with an exit code 0377 (which is equivalent to error code -1).
$DEBUGGER=gdb ./debian_steam.sh
Hello Jeremy,
ReplyDeleteI loved reading this piece! Well written! :)
wilson roy
steam cleaning
Hello,
ReplyDeletewhen i run ./debian_steam.sh i get the message
"/usr/bin/steam: line 191: /home/azubi/.local/share/Steam/steam.sh: Success"
whats wrong? :(