<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>i3 - an improved dynamic tiling window manager</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> body { text-align: justify; max-width: 800px; } li { margin-bottom: 10px; } </style> </head> <body> <h1>Howto build i3 on Ubuntu 9.04 for the amd64 architecture</h1> <p> 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. </p> <p> Clone the i3 repository </p> <pre> $ git clone http://code.stapelberg.de/git/i3 </pre> <p> 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 </p> <pre> $ mkdir deb && cd deb </pre> <p> …and download the files </p> <pre> $ 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" </pre> <p> We install these: </p> <pre> $ sudo dpkg -i *.deb </pre> <p> then change into the i3 directory and build the package: </p> <pre> $ cd ../i3 $ dpkg-buildpackage </pre> <p> and install it </p> <pre> $ sudo dpkg -i ../i3-wm_1.0-1_amd64.deb $ sudo dpkg -i ../i3_1.0-1_amd64.deb </pre> <p> What remains is to configure i3. Create the default directory for i3’s config and copy the default config to it </p> <pre> $ mkdir ~/.i3 $ cp /etc/i3/config ~/.i3/config </pre> <p> Lastly, we need to set up i3 as default window manager. Create a new file ~/.xinitrc </p> <pre> $ vim ~/.xinitrc </pre> <p> and enter the following lines: </p> <pre> #!/bin/sh xsetroot -solid black exec /usr/bin/i3 </pre> <p> Close vim and create a link to ~/.xinitrc and link it to ~/.Xsession: </p> <pre> $ ln -s ~/.xinitrc ~/.Xsession </pre> <p> You are done. When you are in the login screen, select "Sessions", and switch to "Default" or "Xsession" to start i3. </p>