This page is step-by-step guide to have Hildon Desktop running outside of the Maemo / scratchbox environment. Our major goal here is to make it easy for distributons to package Hildon Desktop so that developers can have a quick-to-setup environment for the development of plugins which doesn't need to be built against ARM such as Python plugins. For now, this guide applies to Ubuntu.
Known issues
- The Maemo GTK+ version is still needed to get all the functionality working, most notably tap-and-hold. That being said, you can build the hildon-desktop with stock GTK+ using the --with-maemo-gtk=no configure flag in the relevant modules. (NOTE: is this true for all modules? with the same flag? what should the default be?)
TommiKomulainen: I think the default should be 'auto' and there should be an easy way to check for maemo-gtk presence (pkg-config --exists gtk+-maemo-2.0 maybe? For now checking for hildon_gtk_im_context_show would be fairly easy.)
MurrayCumming: Yes, I really like the idea of having an extra .pc file to detect this. This would make it easier to use the regular maemo module definitions in jhbuild, because we wouldn't need special build options for modules above GTK+.
- No repository for the icon theme.
- Need to create a different user to have everything working
Building Hildon Desktop
First, install the packages from Ubuntu which are dependencies for Hildon Desktop and other modules involved.
sudo aptitude install build-essential subversion automake1.7 automake1.8 automake1.9 check xserver-xephyr libtiff4-dev libxml-dev libgnomevfs2-dev libgconf2-dev xlibs-dev libesd0-dev dbus-glib-1-dev libdbus-glib-1-dev sudo apt-get build-dep libgtk2.0-0
To create the target directory, run:
sudo mkdir /opt/hildon sudo chown YOUR_USER:YOUR_GROUP /opt/hildon
Jhbuild process
Install jhbuild:
svn co http://svn.gnome.org/svn/jhbuild/trunk jhbuild cd jhbuild sh autogen.sh make install
This will install jhbuild tool in ${HOME}/bin by default. If you want it to be installed somewhere else, edit "Makefile" in jhbuild source tree and change the bindir variable. Also add this directory to your $PATH for convenience.
Grab the Jhbuild files for Hildon Desktop.
svn co https://stage.maemo.org/svn/maemo/projects/haf/jhbuild_modules
Adjust hildon-desktop.jhbuildrc in jhbuild_modules to fit your environment if needed. For example, you probably want to change the "checkoutroot" value to something different. By default it will grab the source code from repositories to ${HOME}/Code/hildon.
Run jhbuild like this:
cd jhbuild_modules jhbuild -f ./hildon-desktop.jhbuildrc -m ./hildon-desktop.modules build
Running Hildon Desktop
To run the Hildon Desktop simply start a jhbuild shell and run the start-hildon.sh script:
jhbuild -f ./hildon-desktop.jhbuildrc shell start-hildon.sh
There are some problems on running Hildon Desktop with the user of the current desktop session. The background manager of Hildon Desktop is a D-Bus service which will use the dbus-daemon for current session. What happens is that for this running dbus-daemon the DISPLAY and XDG_DATA_DIRS (where to look for dbus services) are already defined.
If you run hildon-session with a different user then a brand new dbus-daemon will run with the correct environment variables. So, it's suggested that you create another user (Ex: hildon) for testing Hildon Desktop.
Python Support
First, install the python related distribution packages:
sudo aptitude install python python-dev python-gtk2 python-gtk2-dev python-gobject python-gobject-dev
Grab the Hildon Desktop python support module, build and install. As you will use the Python installed on your system, you'll need use "sudo" to install it.
svn co https://stage.maemo.org/svn/maemo/projects/haf/trunk/python-hildondesktop cd python-hildondesktop ./autogen.sh ./configure --prefix=/opt/hildon make sudo make install
Get and install some example plugins to play with:
svn co https://stage.maemo.org/svn/maemo/projects/haf/branches/maemo-af-desktop/example-plugins cd example-plugins ./autogen.sh ./configure --prefix=/opt/hildon --enable-python make make install