Awesome-3-Ubuntu-git

SKIP GIT STEP AND DOWNLOAD 3.0 AT http://awesome.naquadah.org/download
This is based on the Ubuntu_Hardy guide and you can follow up this to both, build the last release and the git HEAD version. Enjoy ;-)

1) Make sure your system is up-to-date, then install the GNU Toolchain, the git VCS and some debian/ubuntu packages.

sudo apt-get install build-essential autoconf automake libtool gperf xmlto dpatch fakeroot git git-core debhelper

2) Next, install the X.org development packages required to build awesome.

sudo apt-get install libx11-dev libxinerama-dev libxrandr-dev libpango1.0-dev libimlib2-dev libgtk2.0-dev libxcb-shm0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-shape0-dev libcairo2-dev libxcb-xinerama0-dev liblua5.1-filesystem0 liblua5.1-logging libdirectfb-dev libxt-dev libx11-xcb-dev

3) Optionally you should get asciidoc (to build documentations and developer reference) sudo apt-get install asciidoc

4) Now get the packages related with Lua language: sudo apt-get install lua5.1 liblua5.1-0-dev

5) Get cmake from Ubuntu Intrepid (unreleased at the time of writing)

http://packages.ubuntu.com/intrepid/i386/cmake/download or

http://packages.ubuntu.com/intrepid/amd64/cmake/download And install it sudo dpkg -i cmake*.deb

6) Get libev from Ubuntu Intrepid (unreleased at the time of writing)

http://packages.ubuntu.com/intrepid/i386/libev3/download or

http://packages.ubuntu.com/intrepid/amd64/libev3/download

http://packages.ubuntu.com/intrepid/i386/libev-dev/download or

http://packages.ubuntu.com/intrepid/amd64/libev-dev/download And install it sudo dpkg -i libev*.deb

7) Get luadoc from Ubuntu Intrepid (unreleased at the time of writing)

http://packages.ubuntu.com/intrepid/all/luadoc/download

http://packages.ubuntu.com/intrepid/all/liblua5.1-doc0/download

And install it sudo dpkg -i *lua*doc*.deb

8) Build dependencies

get xcb-util: git clone git://anongit.freedesktop.org/git/xcb/util cd util && ./autogen.sh && make && sudo make install

Note: If you are following these instructions under Debian it is not necessary to build libcairo2-dev (It does, at least, work with version 1.6.4-6.1 from the Lenny repos)

apt-get source libcairo2-dev cd cairo-1.6.0 sed -i.orig -e '/dh_shlibdeps/s/^/#/;s/--disable-xcb/--enable-xcb/' debian/rules sudo dpkg-buildpackage -rfakeroot sudo dpkg -i ../libcairo2_1.6.0-0ubuntu2_i386.deb ../libcairo2-dev_1.6.0-0ubuntu2_i386.deb cd ../..

Note: Do not allow libcairo2 and libcairo2-dev to be updated by any package managers. They will be reverted to repo versions, breaking awesome.

9) Download awesome and build and install it.

git clone git://git.naquadah.org/awesome.git cd awesome && make && sudo make install 

Note: If the build stops with an 'error stating path', simply create the directory and start again : /usr/bin/lua5.1: /usr/share/lua/5.1/luadoc/taglet/standard.lua:447: error stating path `/path/to/awesome/.build-bill-i486-linux-gnu-4.2.3/luadoc' stack traceback: [...] mkdir /path/to/awesome/.build-bill-i486-linux-gnu-4.2.3/luadoc make If this doesn't work (my error was slightly different): rm -rf /path/to/awesome/.build-bill-i486-linux-gnu-4.2.3/luadoc mkdir /path/to/awesome/.build-bill-i486-linux-gnu-4.2.3/luadoc make

10) Create an ~/.xinitrc file and link it to ~/.Xsession

Create ~/.xinitrc with the following contents:

xsetroot -solid black & exec /usr/local/bin/awesome
 * 1) !/usr/bin/env bash

Create a link to ~/.xinitrc and link it to ~/.Xsession:

ln -s ~/.xinitrc ~/.Xsession

11) Now, when you're in the login screen (aka gdm), select 'Sessions', and switch to 'Xsession' from the list. This will run your .xinitrc script.

GNOME and awesome
Chances are, however, you still want to use some parts of GNOME with awesome. You can do this! I have the following entries in my ~/.xinitrc: gnome-screensaver & gnome-settings-daemon & gnome-power-manager & nm-applet &

Note: when editing your .xinitrc, always make sure 'exec awesome' is last.