Due to Ubuntu 9.04’s lack of recent libxcb* packages, we cannot simply provide a debian package. The following howto will explain how to build one for yourself after downloading the necessary libxcb* packages from Debian.
Clone the i3 repository
$ git clone http://code.stapelberg.de/git/i3
The Ubuntu repositories do not contain the required versions of several packages. Hence we need to get them from Debian. Create a new directory for the .debs
$ mkdir deb && cd deb
…and download the files
$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libx11/libx11-dev_1.2.1-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-aux0-dev_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-keysyms1-dev_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb-xinerama0-dev_1.2-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-event1-dev_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-property1-dev_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-atom1-dev_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-icccm1-dev_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/a/asciidoc/asciidoc_8.4.4-1_all.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb1-dev_1.2-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxdmcp/libxdmcp-dev_1.0.2-3_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-core/x11proto-core-dev_7.0.15-1_all.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libp/libpthread-stubs/libpthread-stubs0-dev_0.1-2_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libp/libpthread-stubs/libpthread-stubs0_0.1-2_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxau/libxau-dev_1.0.4-2_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxau/libxau6_1.0.4-2_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxdmcp/libxdmcp-dev_1.0.2-3_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libx11/libx11-6_1.2.1-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-input/x11proto-input-dev_1.5.0-2_all.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-kb/x11proto-kb-dev_1.0.3-3_all.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xtrans/xtrans-dev_1.2.3-3_all.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-atom1_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-aux0_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-event1_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-icccm1_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-property1_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-keysyms1_0.3.4-1_amd64.deb" $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb-xinerama0_1.2-1_amd64.deb"
We install these:
$ sudo dpkg -i *.deb
then change into the i3 directory and build the package:
$ cd ../i3 $ dpkg-buildpackage
and install it
$ sudo dpkg -i ../i3-wm_1.0-1_amd64.deb $ sudo dpkg -i ../i3_1.0-1_amd64.deb
What remains is to configure i3. Create the default directory for i3’s config and copy the default config to it
$ mkdir ~/.i3 $ cp /etc/i3/config ~/.i3/config
Lastly, we need to set up i3 as default window manager. Create a new file ~/.xinitrc
$ vim ~/.xinitrc
and enter the following lines:
#!/bin/sh xsetroot -solid black exec /usr/bin/i3
Close vim and create a link to ~/.xinitrc and link it to ~/.Xsession:
$ ln -s ~/.xinitrc ~/.Xsession
You are done. When you are in the login screen, select "Sessions", and switch to "Default" or "Xsession" to start i3.