In this HowTo I just want to collect the different ways you can personalize your desktop. It is divided in different sections; you don’t need to follow everything I say, just pick up what you like. There’s nothing new amongst the things I say, but I thought it would be handy to have a reference. Another useful reference is this. All I know, I’ve learned it on this forum, but I’m not able to trace back the authors of the original posts. If you think I’ve just reported something you explained first, then you’re probably right, and I thank you for this. Throughout the guide I assume you are using Gnome.
1: What can be skinned
A lot of things, actually. In this HowTo I will cover:
- Widgets: this are the little elements like buttons, loading bars, menus…, which are used in your applications
- Window borders: the part of the window containing the buttons to close, maximize and minimize
- Icons
- Mouse cursors
- Panels
- Splash screen: this appears when you login before the desktop os ready
- Login manager: the application which greets you after the boot
- Desklets: little apps which show useful information over your desktop
- Fonts
- Grub: the application which lets you choose what operating system you want to boot
- Usplash: what appears when the system is loading at boot
2: Where to find nice themes
The most common sites where you can find themes for Gnome are GnomeArt and Gnome-Look
Some other fancy stuff (for example wallpapers) can be found at Deviant Art
You may also want to have a look at Gnome Themes and Gnome Themes Forum.
If you know where to find themes, but want some advice on putting all together in a consistent way, have a look here. That thread is meant to show other people some screenshots and list the themes used to make it. If you get some nice theme, then share it on that thread.
3: Icons, windows, widgets and wallpaper
The most basic things which characterize the look of your desktop are widgets, window borders and icons. These elements can be managed under
System->Preferences->Themes or equivalently launching
gnome-theme-manager
in a terminal. You can install here the icons etc. that you have downloaded. Then you choose the elements you will actually use under Theme Details. When you are happy with your settings, you can save your theme, to be able to recall it with a click if you change it.
It may be useful to know where things actually go: icons are stores under ~/.icons, while other elements can be found under ~/.themes.
If you want to install themes system-wide, then you can just invoke the application as root, with
sudo gnome-theme-manager
Be sure to do this only to install things, and make your choices as a regular user.
Sometimes you may want to change a single icon. You can do this by right-clicking your file and choosing properties. Then click over the icon image and choose a new one. This is useful for special folders, also. Under the Symbols tab you can choose some little emblems and add it to the icon.
================================================== ========
Finally, the last element which characterizes your desktop is of course the wallpaper. You can change it using System->Preferences->Wallpaper or equivalently right-clicking on the current wallpaper and choosing “Set wallpaper”.
Just an advice here. It is tempting to choose a very beautiful picture or a photo of your family or whatever else, and to change wallpaper frequently. I discourage this, because it will easily lead to an inconsistent theme. Choose your wallpaper as the last thing while themeing, and be sure to use a simple image with few colors, which match your widgets or your window borders. The result will be much more satisfying.
4: Some applications still look bad.
You’re right. There are three kind of applications which will use different widgets and icons.
Root. The simplest to settle are applications which you run as root. These simply use the root theme. If you want the root theme to match the current user theme, you can just create some symbolic links
sudo ln -s /home/<insert your username here>/.themes /root/.themes sudo ln -s /home/<insert your username here>/.icons /root/.icons sudo ln -s /home/<insert your username here>/.fonts /root/.fonts
================================================== ========
Qt Then there are KDE applications. These apps use a different set of widgets, based on the QT graphic libraries, rather than the GTK (GIMP ToolKit) based, which are common on Gnome. The first thing to do is to find a matching QT theme; for this you can have a look here. Some themes are also available in the repos, but they may require you to install KDE as well. If you just want to make the apps look nice, but don’t want much hassle with theme installation, and you don’t care about theme matching, you can find here a deb to install Polymer theme, which is quite nice.
After you have installed the theme (the way to do this depends on the theme, and is usually indicated on the site) you have to set it as default. If you have KDE installed you can do this under the K Control Center. Otherwise you can install qtconfig
sudo apt-get install qt3-qtconfig qt4-qtconfig
You will find two entries under System->Preferences->Qt3 Configuration (or Qt4 of course). You just have to select the right theme (both under Qt3 and Qt4) and the right font. If you use the standard font, then you can choose Bitstream Vera Sans, normal, 10 under the font tab.
================================================== ========
Gtk1 Finally there applications which use the old version of the Gtk libraries. You will hardly be able to make them look good, because there are no nice themes for Gtk1. Anyway have a look here.
5: Panels
You can play with panels to achieve a more comfortable setting, or just to make your box look like OSX. I will first explain how to customize the standard panels. If you want a OSX-like launcher, you find it in the next paragraph.
By default you should have two panels, one at the top, the other at the bottom. To create a new panel or delete one, you can just right-click on the panel. Under the properties you can also set the position of your panel and its height. If you plan to make a panel with a lot of launchers you may want to make it about 48 high.
Under Properties you can also choose some other things: you may set it to hide automatically your panel or to make it a bit transparent. If your panel doesn’t hide correctly, then you have to edit the panel configuration. To do this run
gconf-editor
or equivalently Applications->Administration->Configuration Editor. Navigate to /apps/panel/toplevels/top_panel_screen0 and there modify the value of auto_hide_size to 0. Replace top_panel_screen0 with another panel, according to which panel you want to minimize.
Now you can add things to your panels or take them off, again by right-clicking. You can move things on the panel by right-clicking on them; if you are not able to move something past an object, probably that object is locked to the panel (again you can lock or unlock things on the panel with the right-click menu).
At this point you should be able to move things on the panel. For some settings you may like to move the area where your open windows show to the upper panel. You can do this by right-clicking on the upper panel, selecting Add to panel, and then choosing Window List. Be sure to stretch its sides until you feel it is big enough for your needs. If you have some windows open, but still the whole space you reserved is not filled, just don’t care, it is a bug in the gnome panel. However the whole area should be filled if you have enough windows open. Now you can delete the Window List on the lower panel. The same can be done with the Notification Area, which is the area with the little icons like the network status.
Many people will want to put the window list and the notification area on the upper panel and launchers for the most common applications on the lower (maybe 48 high and with autohide). If you want a panel which does not extend to the borders then you just need to uncheck the expand button in the panel Properties. However it can be nice to have smooth corners in that case (see this mockup). For this you can use a trick: under Properties choose a Background image, and put a fake image of a centered panel (you can find one in the gentle theme on Gnome Themes).
6: Desklets
What if you want an OSX-like bar, with the icons stretching when you pass over with your mouse?
The most common way to do this in Gnome is to use gDesklets. You can install it with
sudo apt-get install gdesklets
Then you will find the program under Applications->Accessories. From there you can add a lot of desklets: these are little programs that show over your desktop. The one which will make the OSX-launcher is StarterBar. But you can use a lot of other goodies from there: clocks, disk infos, memory infos, wheather forecasts and whatever else.
A lot of the desklets which are bundled in the repos are broken. To find new desklets or new versions of the ones you have, you can browse both here or here. When you have downloaded a desklets you can install it with gDesklets manager under the File Menu. The gDesklets symbol should appear in the Notification Area: right-clicking on it you get both the gDesklets manager and the configuration. From the latter you can set a shortcut to put the desklets in front of you windows. Be warned that the desklets will not be transparent, so the visual effect is horrible. You can set the desklets to be transparent from here, but you need a composite manager (see the last paragraph) to make it work (and it seems it not working however).
Finally you will want gDesklets to load at the login. To do this open System->Preferences->Sessions, choose the tab Program Start and there add “gdesklets”.
If you often change theme, you may want to change the desklets accordingly (for example you may choose other icons on the StarterBar). To be sure not to lose your work, look at the gDesklets manager profiles menu and use a different profile for each theme.
7: Cursors
The next thing you may want to change is your mouse cursors. You can do this under
System->Preferences->Mouse under the cursors tab. Still you can’t add new cursor themes here, so you basically have two ways.
The simplest is to install gcursor, which is in the repositories
sudo apt-get install gcursor
It will show up under System->Preferences->Cursor Selection and it lets install new cursors. It is quite strange, but it doesn’t let you delete themes, so you have to manually remove cursors themes, which are stored under ~/.icons.
The fact that cursors are stored in the same folder as icons can be annoying, because cursor themes will show up under the icon themes settings. Yet this can be useful to remove cursors (just the same way you’d remove icon themes), even if is not intuitive to do.
The second way to install cursors is, as you can now guess to unzip the theme, which usually will be a tar.gz file, under ~/.icons.
8: Splash screen and login manager
The login manager (GDM) is, of course, the same for all users, so you can change it only as root. You can set it under System->Administration->Login Window and here you can add themes, and choose the one which will be used. You can also choose to pick one of the themes installed at random.
The splash screen needs an external utility, so install gnome-splashscreen-manager
sudo apt-get install gnome-splashscreen-manager
Then you will find the settings you need under System->Preferences->Splash Screen. Since the splash is a little centered image, you may want to change the background color to match it. you can do this as root under System->Administration->Login Window.
9: Fonts
I don’t think there is any need to change Gnome fonts, since they look so good! Anyway you can choose fonts under System->Preferences->Font Types. The default is Bistream Vera Sans 10.
But you may want to have a better-looking antialias of the font. You can find here some patched deb files. You just have to install them (you can do this double-clicking on them) to have better looking fonts. Then go under System->Preferences->Font Types and choose the LCD option if your screen is LCD. You won’t be able to look at ugly no antialiased fonts anymore!!
Here is the comparison.
10: Grub and USplash
First, let me put here a disclaimer. Grub and USplash are loaded at boot, so if you mess them up and are not able to boot anymore, don’t hold me responsible. If you fear to modify them, then don’t.
Now, let’s begin with USplash. You may want to modify its appearance, but I have to warn you that you won’t get cool boot splashes with it. The reason is that the only images allowed are 640×480 with 16 colors. The reason for this restriction is that other solutions may give problem with the suspend/hybernate feature (have a look here and the links there). The simplest way to change USplash look is to take another theme, but I only know two themes: Ubuntu Serengeti and Ubuntu Minimalistic (no text). Follow the instuctions in the threads to install.
If you are not happy with this themes, you can follow this tutorial on how to create your own, but it’s hard to get really nice-looking themes.
So you may consider to change the program which displays the splash at bootup. The main alternatives are Splashy (Debian default) and FBSplash (Gentoo default). FBSplash is better looking and has more themes (it supports bootsplash themes, and there are quite a lot), but you’ll have to recompile the kernel in order to install it.
================================================== ========
Now, let’s change Grub image. Make sure you have at least one image (there are some in /boot/grub/splashimages). You can download other images (in xpm.gz format), for example on Gnome-look, and then put them in /boot/grub/splashimages typing
sudo cp PathToYourFile /boot/grub/splashimages
Second, you have to understand under what partition is mounted your /boot folder and translate this in grub partition naming. Usually you refer to you partitions as hda1, hda2, hdb1 and so on. The letter refers to the drive (“a” first hard disk, “b” second…), while the progressive number to the partition on the drive. To find out where /boot is located open System->Administration->Drives and open the Partitions tab. If you have a separate /boot partition, then find which partition has /boot as a mount point and look under Peripheals for its name. If you don’t have one, just find which partition has / as a mount point.
Now translate this name using Grub conventions. Grub names the first drive with a 0, the second with 1 and so on; the same with the partitions. So hda1 becomes (hd0,0), hda2 becomes (hd0,1), hdb1 becomes (hd1,0) and so on.
To make Grub display a image you’ll have to open its configuration file as root
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_old sudo gedit /boot/grub/menu.lst
Then add this line just after the comments at the beginning
splashimage=(hd?,?)/boot/grub/splashimages/NameOfTheImage.xpm.gz</

