Follow along and watch while I take a stock Ubuntu desktop and transform it something really slick!
Window borders, icons, splash images and other graphical user interface (GUI) preferences are largely a subjective thing. Still, it’s nice to have the tools available to transform the GUI into something that is more pleasing to your eye. Fortunately, GNU/Linux makes it relatively easy to mould your desktop environment into whatever suits your taste, and Ubuntu is no exception.
For the purposes of this discussion, I'll stick to Ubuntu’s default Gnome desktop, but Ubuntu’s KDE desktop (Kubuntu) is every bit as flexible.
How it works
Ubuntu’s Gnome desktop comes with a number of pre-installed themes, and a built-in theme manager. You can access the “Theme Preferences" by selecting System → Preferences → Theme from the Ubuntu menu (as shown in figure 1a). You will then be presented with the Theme Preferences window (as shown in figure 1b).
Figure 1a: Finding the Theme Preferences in Ubuntu's menus
Figure 1b: Theme Preferences window
By selecting one of the other themes listed in the Theme Preferences window, it will change the following three components:
- Controls: including such things as buttons, colours, and check boxes
- Window borders: including the type of border as well as buttons for minimizing, maximizing, and restoring windows
- Icons: complete icon themes (some are more complete than others)
You can also mix and match these components by selecting “Theme Details" (figure 1c).
Figure 1c: Theme Details
For example, you might select the “Clearlooks" Controls, “Atlanta" Window Border, and “Sandy" Icons. Once satisfied with your selections, a custom theme such as this can be saved from within the main Theme Preferences window.
A closer look
There are a few additional parts of the Gnome desktop that can be modified in order to better customize the overall look and feel. They are:
- Backgrounds: also known as “wallpaper"
- Login Manager: where you enter user name and password
- Splash Screen: a graphical image displaying logon progress
Fortunately, there is another tool known as “Art Manager" (also known as “Gnome Art") that will allow you to manage all six of these components. I will focus primarily on this tool to help change Ubuntu’s look.
Unfortunately, Art Manager is not installed in the default Gnome desktop. In order to install it, you will have to ensure that all Ubuntu repositories are enabled in the Synaptic Package Manager (figures 1d, 1e, and 1f).
Figure 1d: Synaptic Package Manager
Figure 1e: Repositories
Figure 1f: Edit Repository
Check the boxes for “Universe" and “Multiverse" and then hit “OK". Once the additional repositories are enabled, hit the “Reload" icon, and then do a “Search" for “Gnome Art". Install Art Manager and then close down Synaptic Package Manager (figures 1g and 1h).
Figure 1g: Find Gnome Art
Figure 1h: Install Gnome Art
Note: for more information about using Synaptic Package Manager read Simple package management with Synaptic by Marco Marongiu.
Open the Art Manager (figure 2a).
Figure 2a: Art Manager
Notice that Art Manager has additional sub-menus (figures 2b through 2d):
- Under “Backgrounds": Gnome → Other → All
- Under “Desktop Themes": Application → Window Border → Icon
- Under “Other Themes": Login Manager → Splash Screen → GTK+ Engine
Figure 2b: Backgrounds
Figure 2c: Desktop Themes
Figure 2d: Other Themes
When you select a component, it will download a database of available items in that category, along with thumbnails of the respective images (figures 2e through 2i).
Figure 2e: Background Themes
Figure 2f: Application Themes
Figure 2g: Border Themes
Figure 2h: Login Themes
Figure 2i: Icon Themes
I would suggest a fast internet connection for this, as the databases can be quite large. In most of the windows (as shown), you can either install the item, or you can just download the item for manual installation. The exception here is “Login Manager Themes", which can only be downloaded. Login Manager Themes must be installed separately (figures 3a and 3b).
Figure 3a: Login Screen Setup
Figure 3b: Install Login Screen
Now download (and hit “Install" where appropriate) the various components.
For those without a fast internet connection, I would suggest visiting the art.gnome.org web site. Here you can manually search for and download all of the theme components (figure 3a).
Figure 3c: Gnome Art
Remember that once downloaded, Gnome’s built-in theme manager can only install:
- Window border
Theses components must be installed separately:
- Login manager
- Splash screeen
The splash screen is of special note: as without the Art Manager, the only way to change the Splash Screen is through the command line; this will not be discussed here.
Putting it all together
You’ve added new pieces. Now put some of them together.
The Backgrounds can be changed by right clicking anywhere on your desktop, and then selecting “Change Desktop Background" in the pop-up menu (figure 4a).
Figure 4a: Change Desktop Background
Figure 4b: Background Preferences
Here, you can also add and remove images, set the scale of the image, and set the desktop colours behind the image (figure 4b). Any Backgrounds added with the Art Manager will already be included. Now select a new Background.
Next, open the Theme manager again (figure 1a) and go to Theme Details (figure 1b and 1c). In this case we will select Alphacube for Controls, Alphacube for Window Border, and Gartoon for Icons (figures 5a, 5b and 5c).
Figure 5a: Alphacube Control
Figure 5b: Alphacube Border
Figure 5c: Gartoon Icons
Next, change the Login screen (figures 6a, 6b and 6c). Remember, you only downloaded the Login Screen; so, you have to remember where you downloaded the file.
Figure 6a: Login Screen Setup2
Figure 6b: Find Login Theme
Figure 6c: Install Login Screen2
Then, change the Splash Screen (figures 7a and 7b). Remember to hit “Activate" in the Splash Screen Preferences.
Figure 7a: Install Splash Screen
Figure 7b: Activate Splash
To complete this theme, go back to the Login Screen Setup (figure 6a). In the GTK+ Greeter section, hit “Background Colour" and change it, otherwise you’ll get a brown background when you login (figures 8a and 8b).
Figure 8a: GTK+ Greeter
Figure 8b: Pick a colour
Now log out and log back in again. You should be presented with the screens shown in figures 9a and 9b.
Figure 9a: Welcome
Figure 9b: Welcome Splash
Just to put some finishing touches on our new theme, change the fonts (figures 10a and 10b).
Figure 10a: Font
Figure 10b: Font Preferences
If you are using an LCD screen, it’s best to choose Subpixel smoothing. Fonts are another one of those personal preference, but these are the choices I made. Your results will vary depending on monitor type, screen resolution, etc.
Under the hood
A Linux article would not be complete without adding a few command line tricks; so, here are just a few:
From time to time you may run into problems when installing theme components. For example, you will often install themes, only to find that they do not appear in the theme manager. Either that, or you would like them to be available to all users accounts on your PC. This occurs primarily because when you download and install theme components, they get installed to your home directory for security reasons. Also, from time to time (depending on where you found the theme components), the packagers have the wrong file and folder permissions set.
Let me give you a few examples:
You installed the Alphacube theme for Application and Window Borders. It’s currently in your home directory, but you want to make it available to all users.
First, you must set the proper permissions, and then you have to move it to the global themes directory (figure 11a).
From within your HOME directory, type this (the period before themes indicates a hidden directory):
Once in the themes directory, do a long listing like this:
As you can see in the image below, there are four Alphacube directories. You have to do two things here. The first is to change ownership to root like this:
sudo chown -R root:root Alphacube\ *
The other is to move them to the global themes directory like this:
sudo mv Alphacube\ * /usr/share/themes/
Figure 11a: Move Theme
One for the road
For those who happen to feel more comfortable with something familiar, you can even mimic the look of other operating systems (figure 12a and 12b).
Figure 12a: Mac Look
Figure 12b: Windows Look
In this case I had to change the stock “Ubuntu" menu logo, and replace it with something else. This is done as follows.
First you want to backup the original in case you want to restore it in the future. You can do it like this:
sudo cp /usr/share/icons/hicolor/48x48/apps/distributor-logo.png /usr/share/icons/hicolor/48x48/apps/distributor-logo.png.bak
Next, replace the stock icon like this (replace
custom_icon with the name of your icon):
sudo cp /home/custom_icon.png /usr/share/icons/hicolor/48x48/apps/distributor-logo.png
Finally (to refresh your menus), type:
In the big picture, it’s really what’s “under the hood" that counts. In other words, the operating system is only as good as all the stuff that goes on behind the scenes. The graphical user interface is really only “eye candy". Still, it’s nice to be able to mould the GUI into whatever you want it to be, and Ubuntu Linux is very flexible in this regard.