]> git.sur5r.net Git - i3/i3/blob - website/docs/building_ubuntu_9.04.html
Fix unaligned memory access on sparc (Thanks David Coppa)
[i3/i3] / website / docs / building_ubuntu_9.04.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4 <head>
5 <title>i3 - an improved dynamic tiling window manager</title>
6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <style type="text/css">
8 body {
9         text-align: justify;
10         max-width: 800px;
11 }
12
13 li {
14         margin-bottom: 10px;
15 }
16 </style>
17 </head>
18 <body>
19
20 <h1>Howto build i3 on Ubuntu 9.04 for the amd64 architecture</h1>
21
22 <p>
23   Due to Ubuntu 9.04’s lack of recent libxcb* packages, we cannot simply provide a debian
24   package. The following howto will explain how to build one for yourself after downloading
25   the necessary libxcb* packages from Debian.
26 </p>
27
28 <p>
29   Clone the i3 repository
30 </p>
31
32 <pre>
33 $ git clone http://code.stapelberg.de/git/i3
34 </pre>
35
36 <p>
37   Now install the build-dependencies for i3 which are included in ubuntu:
38 </p>
39
40 <pre>
41 $ sudo apt-get install libev-dev
42 </pre>
43
44 <p>
45   The Ubuntu repositories do not contain the required versions of several packages. Hence we need
46   to get them from Debian. Create a new directory for the .debs
47 </p>
48
49 <pre>
50 $ mkdir deb &amp;&amp; cd deb
51 </pre>
52
53 <p>
54   …and download the files
55 </p>
56
57 <pre>
58 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libx11/libx11-dev_1.2.1-1_amd64.deb"
59 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-aux0-dev_0.3.4-1_amd64.deb"
60 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-keysyms1-dev_0.3.4-1_amd64.deb"
61 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb-xinerama0-dev_1.2-1_amd64.deb"
62 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-event1-dev_0.3.4-1_amd64.deb"
63 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-property1-dev_0.3.4-1_amd64.deb"
64 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-atom1-dev_0.3.4-1_amd64.deb"
65 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-icccm1-dev_0.3.4-1_amd64.deb"
66 $ wget "http://ftp.de.debian.org/debian/pool/main/a/asciidoc/asciidoc_8.4.4-1_all.deb"
67 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb1-dev_1.2-1_amd64.deb"
68 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxdmcp/libxdmcp-dev_1.0.2-3_amd64.deb"
69 $ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-core/x11proto-core-dev_7.0.15-1_all.deb"
70 $ wget "http://ftp.de.debian.org/debian/pool/main/libp/libpthread-stubs/libpthread-stubs0-dev_0.1-2_amd64.deb"
71 $ wget "http://ftp.de.debian.org/debian/pool/main/libp/libpthread-stubs/libpthread-stubs0_0.1-2_amd64.deb"
72 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxau/libxau-dev_1.0.4-2_amd64.deb"
73 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxau/libxau6_1.0.4-2_amd64.deb"
74 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxdmcp/libxdmcp-dev_1.0.2-3_amd64.deb"
75 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libx11/libx11-6_1.2.1-1_amd64.deb"
76 $ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-input/x11proto-input-dev_1.5.0-2_all.deb"
77 $ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-kb/x11proto-kb-dev_1.0.3-3_all.deb"
78 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xtrans/xtrans-dev_1.2.3-3_all.deb"
79 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-atom1_0.3.4-1_amd64.deb"
80 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-aux0_0.3.4-1_amd64.deb"
81 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-event1_0.3.4-1_amd64.deb"
82 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-icccm1_0.3.4-1_amd64.deb"
83 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-property1_0.3.4-1_amd64.deb"
84 $ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-keysyms1_0.3.4-1_amd64.deb"
85 $ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb-xinerama0_1.2-1_amd64.deb"
86 </pre>
87
88 <p>
89   We install these:
90 </p>
91
92 <pre>
93 $ sudo dpkg -i *.deb
94 </pre>
95
96 <p>
97   then change into the i3 directory and build the package:
98 </p>
99
100 <pre>
101 $ cd ../i3
102 $ dpkg-buildpackage
103 </pre>
104
105 <p>
106   and install it
107 </p>
108
109 <pre>
110 $ sudo dpkg -i ../i3-wm_1.0-1_amd64.deb
111 $ sudo dpkg -i ../i3_1.0-1_amd64.deb
112 </pre>
113
114 <p>
115   What remains is to configure i3. Create the default directory for i3’s config and copy the default config to it
116 </p>
117
118 <pre>
119 $ mkdir ~/.i3
120 $ cp /etc/i3/config ~/.i3/config
121 </pre>
122
123 <p>
124 Lastly, we need to set up i3 as default window manager. Create a new file ~/.xinitrc
125 </p>
126
127 <pre>
128 $ vim ~/.xinitrc
129 </pre>
130
131 <p>
132   and enter the following lines:
133 </p>
134
135 <pre>
136 #!/bin/sh
137 xsetroot -solid black 
138 exec /usr/bin/i3
139 </pre>
140
141 <p>
142   Close vim and create a link to ~/.xinitrc and link it to ~/.Xsession:
143 </p>
144
145 <pre>
146 $ ln -s ~/.xinitrc ~/.Xsession
147 </pre>
148
149 <p>
150   You are done. When you are in the login screen, select "Sessions", and switch to "Default" or "Xsession" to start i3.
151 </p>