2010年5月11日 星期二

WallpaperTray is not working in Ubuntu 10.04 (Lucid)

WallpaperTray is a good Gnome applet that it altomatically search user defined directory and ramdomly change your Wallpaper.  But it seems that it do not have anyone to maintaince the project.  And in Ubuntu 10.04, it is not the default packet that you can select from the Synaptic.  But you can install by compiling the orginal code.  Here is how it works.

1), download the wallpaper-tray_0.5.5.orig.tar.gz from Here.

2), extract it to a folder.  For example, /home//wp_tray

3), open the command, change the folder to where it is extracted.
cd ~/wp_tray

4), type the following command
./configure  --prefix=/usr
Normally, it  will have some error.  That is because you have some packet that is not installed. (For example, the gnome-dev.)  The packet you lack of will show at the bottom of the console window, just scroll up a little, and you will see the list.  Open Synaptic and install all packet you need.  Until there is no error when you excute this command.

5), compile the source code by entering the following command
make
This will compile all the source code.  It may takes a while.

6), install WallpaperTray by the following command
sudo make install
This will copy all the binary file that just compiled to the proper location in your OS.

7), logout and login to refresh the gnome setting.  After that, you may select WallpaperTray as the old way.

Also note that there should have no error when excuting the commands upon.

You may also notice that there is the .deb file of WallpaperTray in here when you download the source code on step 1.  Why not just download the .deb file from one of the list?  The reason is simple.  Some of the packet it depands have updated, but the WallpaperTray project did not update.  When installing, it will say that you have no ... package installed, but the packet is the old packet.  And this is the reason that you can not install this applet directly from Synaptic.  However, we can't install from the .deb file, but we can re-compile the source code and link to the newer library, and the problem is solved.