How to install IceWM on Ubuntu

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Note: I'm no longer supporting this tutorial, as IceWM setup seems to have changed significantly since I originally created this tutorial, and I don't use IceWM regularly enough myself.

You can learn more about IceWM at the Ubuntu community site:

What is IceWM?
How do I install IceWM?
How do I run commands in IceWM?
Initial setup for IceWM
Changing settings on IceWM
Installing and changing themes in IceWM
More IceWM tweaks

What is IceWM?

IceWM is a lightweight window manager. Ubuntu defaults to using a desktop environment called Gnome. Kubuntu defaults to using a desktop environment called KDE. Xubuntu defaults to using a desktop environment called Xfce. Even though Xfce is a lighter user interface than Gnome and KDE, it is still a full desktop environment, and if you use a window manager alone, you'll usually get a snappier performance, which is especially good for lower spec'ed systems. IceWM is only one of many window managers. You can read here about some of the other window managers.

How do I install IceWM?

If you're installing IceWM from Ubuntu, the first thing you need to do is make sure you have the proper software repositories enabled.

If you are installing IceWM from a command-line installation of Ubuntu, follow these instructions instead.

Go to System > Administration > Software Sources

Enter your password.

The software repositories we want enabled are called the Universe repositories. If those repositories are unchecked, as in this screenshot example, you should check that set.

Once you've ticked the Universe repositories, click Close

If you've made a change, you should get a warning asking you to reload the repository information. Click Reload to do so. This will let the software package manager know what new software is available for installation.

Wait for the information to reload. The Software Sources window should disappear when it's done reloading.

Now we need to install IceWM. Go to System > Administration > Synaptic Package Manager

Click the Search button (or press Control-F).

In the Find window, search for the term icewm

In the search results, find the package called icewm and right-click it and select Mark for installation.

You'll be asked if you want to install icewm-common as well. Click Mark to continue.

You'll then see that icewm and icewm-common are marked for installation. If you want a bunch of IceWM themes installed as well, right-click icewm-themes and mark that for installation as well. To install the applications you've marked for installation, click Apply

You'll be asked if you want to apply the changes. If you want to see what the exact changes are, click on the white arrow or Show Details. If you're satisfied with or don't care about the details, click Apply.

Wait for IceWM to install

Quit Synaptic now that IceWM is installed.

Let's quit Gnome, too, while we're at it, by going to System and Quit

Then select Log off to log out.

At the login screen, click on Session. On some login screens, you may have to click on Options to get to the Session selection.

Select IceWM as your session. Then click on Change Session

You'll then be asked whether you want to make IceWM your default session or not. If you plan on using IceWM full time, select Make default. Otherwise, choose Just for this session.

Now you should be logged into IceWM!

How do I run commands in IceWM?

In Gnome, KDE, and Xfce, you can run commands by pressing Alt-F2 to get a run dialogue box to appear. Even though there are ways to get Alt-F2 to launch a run dialogue box in IceWM, IceWM also has a built-in run command option.

So normally your task bar is just a task bar at the bottom of the screen.

If you press the Windows key and Space Bar together, though, you will get a run command dialogue right in the panel. So you can type a command (nautilus --no-desktop, in this example) and hit Enter to execute it. Or, if you change your mind, you can hit Escape to change the run command dialogue back to a normal panel again.

By the way, if you decide to use Nautilus as your file browser, be sure to add the --no-desktop option at the end (as in the screenshot above). Omitting that option is bad for two reasons:

  1. One of the advantages of running IceWM is that it's lightweight. Having Nautilus manage the desktop makes things a little "heavier" than need be, even after you close the file browser window.
  2. When you try to log out of IceWM, you won't be able to unless you first issue the command killall nautilus

Of course, if you are going for lightweight, you might not use Nautilus at all. I would recommend installing and using Thunar or Rox-Filer.

Initial setup for IceWM

Before you can configure IceWM, you need to set up the configuration files first.

In your home folder (in this example, /home/ubuntu), right-click and create a new folder.

Call the newly created folder .icewm

Be sure there is a dot at the beginning of the folder name.

Then, copy all the text files from /usr/share/icewm to /home/username/.icewm (or, in this case, /home/ubuntu/.icewm)

The copied over versions of the text files are what we'll be using to configure IceWM preferences with.

Changing settings on IceWM

All of IceWM's settings are stored in these text files. I've generally found that editing the text files directly is the easiest way to configure IceWM, but even if you go for one of the graphical configuration tools (iceconf, icepref, or iceme), it may not be a bad idea to know what's going on behind that tool.

One of the configuration text files is called keys and allows you to create keyboard shortcuts. The syntax is pretty much

key "modifier+key" command
So if you wanted to set up a keyboard shortcut of the Windows key and the F key to launch Firefox, you would write
key "Super+f" firefox

You can see that a bunch of keyboard shortcuts have already been predefined. The keyboard shortcut for volume changes uses an application called aumix. If you want to take advantage of this keyboard shortcut, make sure to install the aumix application.

In order to have changes take effect, be sure to save the text file and then go to the IceWM menu, the arrow next to Logout, and select Restart IceWM

The syntax for toolbar text file is

prog "Name of Program" /path/to/icon/for/program programcommand
So an entry for a Firefox launcher on the toolbar might look like this:
prog "Firefox" /usr/lib/firefox/icons/mozicon128.png firefox
Don't forget to save the file and then restart IceWM for the change to take effect.

In the preferences file, you change a preference to 1 if you want it activated or to a 0 if you want it deactivated. In the special case of the background image, you may have to run the command

before it takes effect the first time.
#DesktopBackgroundCenter=0 #0/1
When you see something like this, it means that there is no explicit preference for whether the desktop background is centered or not, and the default preference is that it is not centered. The # at the beginning of the line means the line is "commented out" or "visible to the human eye but invisible to IceWM."

DesktopBackgroundCenter=1 #0/1
To change this preference, delete the # sign from the beginning of the line, and then change the 0 to a 1. After you do this, save the file, and restart IceWM, the desktop background should be centered.

Installing and changing themes in IceWM

I'm not going to lie to you. Most of the themes for IceWM are pretty ugly. The three best themes I've found are Thinblack, IceOSX, and IceBuntu. SilverXP is not bad, either, if you want to mimic a Windows look.

To install a theme, find it first through a Google search. I found Thinblack on the FreshMeat website. I clicked it to download it to my desktop.

Then double-click on the .tar.gz (compressed) file to unzip it.

Go ahead and Extract it.

There should now be an extracted folder next to the .tar.gz file. Cut that extracted folder (we'll paste it later).

Within your /home/username/.icewm folder, there should be a folder called themes. If there isn't one already, create it.

Inside the themes folder, paste the actual theme itself.

To switch to the newly installed theme, go to the IceWM menu, Settings, Themes, and then select your theme (in this case, Thinblack).

You should now see your new theme in action.

More IceWM tweaks

Now that you've mastered some of the basics of IceWM, you may want to go just that extra step further in customizing it.

One thing you may notice is that the theme of the GTK applications looks rather bland and very 1990s. If you want to spruce it up a bit, you can create a new file in /home/username and call it .gtkrc-2.0

In that text file, put this text

gtk-icon-theme-name = "Human"
gtk-theme-name = "Human"
Then close whatever GTK application (like Nautilus) you have open and reopen it.

You should see quite a change. I used Human as an example, but you can use whatever theme you want, as long as the theme is installed.

You may also want to create a startup file in /home/username/.icewm

The name of the file is actually the word startup

The contents of the file would probably look something like this:

gnome-volume-manager &
nm-applet --sm-disable &

Once you save it, right-click the file, go to Properties, and make sure the file is set to be executable. The next time you start IceWM, all the commands in this file will be run. I used Gnome's volume manager and network manager applet as only examples. You can put whatever commands you want.

If you have suggestions or corrections for these tutorials, please post in this Ubuntu Forums thread or leave a comment on my blog.

I will not give help to people posting in the above places. If you require technical support, start a support thread on the Ubuntu Forums. That is the appropriate place to ask for help.