Wednesday, June 09, 2010

Howto Install Docky on Fedora

31 comments
If you know me personally, then you know that I'm a big fan of GNOME Do. As a keyboard savvy person I use Do extensively. Do is an application launcher similar to the Mac app Quicksilver. However the GNOME Do team has been putting a lot of research and development into it from the initiation. Result: probably the best application launcher out there for any platform.

Some months ago, Do included an interesting theme called Docky which made the launcher acts as a dock (a la Mac, Avant, Cairo Dock, etc.). With the integration of GNOME Do, there's no need to say that Docky was super cool. And it started gaining features in a high speed. Ultimately Docky was getting so developed that it became a separate project.

Installing GNOME Do on a Fedora system is as easy as:
$ sudo yum install gnome-do

There are some packages with the names starting from gnome-do-plugins*. With the addition of these GNOME Do can truly enhance your desktop experience. Give it a fair try, I'm pretty sure you'll be impressed.

However installing Docky on Fedora is a different story. So here I am having being fiddling with Mono tools for a hour or two and successfully installed Docky, to help you.

I started with the above linked guide, found some info on the Net and had to figure out a few things for myself. So I'm taking some fine information from the respective sources, as usual. :)

Note: BTW, I tried this on my Fedora 13 system. I believe for closer Fedora releases should also behave similarly. My intention was to get Docky running. So if your Mono development environment breaks, don't blame me. ;)

1. Install dependencies from package repositories.

$ su -c 'yum install git mono-devel bzr bazaar automake intltool gcc GConf2-devel gtk-sharp-gapi-devel gtk-sharp2-gapi gtk-sharp2-devel gnome-desktop-sharp-devel gnome-keyring-sharp-devel mono-addins-devel ndesk-dbus-devel ndesk-dbus-glib-devel gtk+extra-devel notify-sharp-devel'


2. Get Gio# source (for dependency)
This step is not listed in the official guide. But since Fedora doesn't have the "gio-sharp" package in the repos, you'll need to build it from source, install and configure a few things.

For the simplicity let's assume that you are fetching the Gio# source to your home directory.

$ cd
$ git clone git://gitorious.org/gio-sharp/mainline.git gio-sharp

This command will fetch the source code of Gio# and place it in a directory named "gio-sharp". Alternatively you can instead use:
$ git clone http://git.gitorious.org/gio-sharp/mainline.git gio-sharp


3. Compile Gio#
Change into the directory with the Gio# code and compile.

$ cd ~/gio-sharp

There should be a file with a name similar to autogen-X.YZ.sh. In my case it was "autogen-2.22.sh". Run it like:
$ ./autogen-2.22.sh
$ make
$ su -c "make install"

Give the root password when prompted and it'll be installed.


4. Get the Docky source
Docky project uses Bazaar version controlling system (it's hosted on Launchpad). You can do:

$ bzr branch lp:docky

Needless to say, you'll need Internet access for the first few steps of this howto. The last command will create a directory named "docky" in your current directory.


5. Set a couple of Environment Variables
In order to build Docky properly we need to set a couple of Environment Variables. We can do this inside a configuration file such as ~/.bash_profile. (To set proper variables system-side you can use a file like /etc/profile)

Open the ~/.bash_profile file in your favourite text editor. Mine's Vim. :)

$ vim ~/.bash_profile

Enter these lines in the file

PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig
MONO_PATH=/usr/local/lib/mono/gio-sharp-2.0/

export PKG_CONFIG_PATH
export MONO_PATH

If you look carefully you'll noticed that what we set as MONO_PATH is the location where the gio-sharp.dll file was installed after the compilation.

Finally we need to either log out and log in to the system or run the following command:
$ source ~/.bash_profile

Now you are ready to compile and run Docky.


6. Compile Docky

Go to the directory with the Docky source (i.e. docky directory from Step 4)
$ cd ~/docky

Then run the configure and make commands:
$ ./autogen.sh
$ make
$ su -c "make install"

Now that you have Docky installed you may want to add it the startup programs. However make sure you try it first. Just run from any terminal
$ docky

And enjoy your work.



As you saw we a couple of unpackaged software at our hand, namely Gio# and Docky. You might even ask me to maintain those packages for Fedora. While I'm actually working towards becoming a Fedora package maintainer, I'm not sure I want to package Gio#. Someone who knows her/his way around the Mono dev environment should be better take care of it rather than me.


Anyway, I've written this down quickly after finishing my installation. So there might be mistakes. Let me know if you bump into a mistake done by me while writing thing. You can alway use the official guide as the baseline.


Disclaimer: I'm not a pro-mono or anti-mono zealot. I do have concerns about Mono's legal standing. But this post is just for people who want to get the awesome Docky running under Fedora.
Read More...