[HOWTO] create a custom desktop enviroment

Recommended Posts


== [HOWTO] Set up a custom desktop enviroment ==


I will be making reccomendations based around my own preferances and experience, but this could easily be applied with other apps etc.


I've seen a few threads recently asking about how this is done, so I thought it would be worth writing a how-to.

There are lots of reasons you might want to create your own custom desktop enviroment. These can range from your system being too slow to handle KDE / Gnome to just not really liking either. But your average window manager doesn't give you a full suite of utilities to manage your desktop.

==Choosing a WM==

The first step towards creating your customised Desktop Enviroment is to choose which window manager to base it around.

I personally use openbox, as it is fast, minimalistic and very customisable.

Your choice will want to take into account how much eye candy you want, how much customisation you want, how fast you want it to be..

By the way, you can't really get away with not choosing a window manager.. but if you're really indesicive or impatient, you can skip the rest of the choices ;) All of the following extras will need the creation of a startup file.

==Choosing a Panel (or taskbar etc)==

Ideally, a panel should provide you with the following:

-system tray (notification area)

-task switcher


-app launchers

A few of the ones that I have used (and provide all of the above) are gnome-panel, fbpanel, pypanel and the ROX panel.

==Choosing a desktop manager==

A desktop manager (for wont of a better term =p) might provide you with the following:

-a way of setting desktop background

-desktop icons

I personally use the ROX pinboard, which does both. Gnome uses nautilus to do this, but I find it to be far too bloated in my own experience. I have used feh and fbsetbg to set my wallpaper, and I know of (but don't use) fbdesk as a way of setting desktop icons.


What really sets a custom desktop enviroment apart from merely using a lightweight window manager is the ability to use an xsettings manager. One of these will allow you to set theme, screen resolution, fonts, mouse and keyboard settings etc on the fly, usually without needing to resort to editing config files.

The one I have experience with is using gnome-settings-daemon. Putting gnome-settings-daemon into your startup will allow you to use all of the Gnome settings utilities found in gnome-control-center (or from the gnome-panel settings menu).

You may also want to consider using xbindkeys to set custom keyboard shortcuts (the Gnome keybinding menu is a bit limited).

==Creating a startup file==

Since you want more than just a window manager up and running when you log into your custom Desktop Enviroment, you will need to create a startup file.

If you log in using startx from a console, you will need to call your startup file ~/.xinitrc.

If you log in from gdm or kdm or any other login manager, you will need to save your startup file under the name ~/.xsession. <== Appologies to someone I helped and told them to use ~/.xsessions (note the extra s..) That wouldn't have helped you, but I can't remember who it was...

When you log in (or startx), your X session will last as long as the startup file does. That is to say, as soon as your startup file exits, you will be taken out of X. It's also worth noting that if you put any items in your startup before your window manager without making sure they are background tasks, your window manager will never load..

What this basically means is that you need to make sure that every command has an '&' after it (to run it in the background) and that your window manager needs to come last and not be run in the background. Trust me, it just works.

A sample startup file would look like the following (note that none of these programs exist..)

set-desktop mybackground.png &amp;
my-xsettings &amp;
clever-taskbar &amp;

This would set your desktop background, run an xsettings manager, start your panel up and then finally run your window manager. All of the things (well most) that you would want from a fully featured desktop enviroment.

==My Setup==


The above screenshot shows my setup.

I use the ROX pinboard for my desktop icons and to set my background. (It randomly selects a different one evey half hour).

I'm using the ROX panel which includes pager, systray, clock and lots of app launchers.

You can see the Gnome utility for changing GTK theme, and also my startup file open in the text editor.

I'm using openbox as a very fast window manager.

Just a taste of what can be achieved...


I hope this helps someone. I'd be happy to answer questions about any of the apps I've mention (as I have used / configured them all at some point).

Any comments / grammer and spelling errors please let me know :)

Edited by theotherdave
Link to post
Share on other sites

screen shots?

Link to post
Share on other sites

screen shots?

Good point, I'll add one.

Link to post
Share on other sites

I'd also suggest as a great panel to use the new Xfce panel :)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.