Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to startup an always run but seldom actually used application to start on another workspace, so I don't have to manually do it each session start.

Can this be done, and if so, how?

share|improve this question
Another desktop != another xserver I presume? – Bruno Pereira Dec 11 '11 at 21:48
up vote 4 down vote accepted

A great app for this is devilspie. There's also a GUI settings manager, gDevilspie.

sudo apt-get install gdevilspie
share|improve this answer

First, thanks to Scott Severance I found out how to do this. But I wanted to flesh out his answer to make it easier for new Ubuntu users.

Note: This works with Metacity window manager, the default window manager for Ubuntu desktop.

First download and install gDevilspie (I used Ubuntu Software Center)

enter image description here


When I tried to run it, it failed. But thanks to AskUbuntu I found the fix...

sudo apt-get install python-glade2
  • This is a bug in gDevilspie, a needed package is not identified in the dependecies. If you already have this package (one of my computers did) you will not have to do this.

So start the application so its window is open, then fire up gDevilspie...

enter image description here

Click the ✔box so the daemon will startup at launch and then hit the add button...

enter image description here

Now give our rule a name.

Then identify the application's window for the new rule using its properties. Two ways to do this:

  1. Hit the Get button and be presented with a list of window_names, or

  2. Find the window_class using xprop.

The 2nd way is safer because window name can change. Open a terminal and type in xprop | grep WM_CLASS The mouse cursor will change to a plus. Move the new cursor so it's over the desired application window, and click it. The wm_class will appear in the terminal...

-@-:~$ xprop | grep WM_CLASS
WM_CLASS(STRING) = "skype", "Skype"

Now click the Actions tab, and check the ✔box for set workspace then set the desired workspace...

enter image description here

If you like, check out the rule...

enter image description here

Now save the rule using the Save button...

enter image description here

And start the daemon if it's not running already.

Note: You can do lots with gDevilspie (devilspie). Places for more information:

Knock yourself out!

Good Luck

share|improve this answer
Great explanation. This method is great when you want a certain application to have a fixed window placement, but only on startup. I use it to open a maximized Terminal window in an offscreen workspace on startup, and still be able to open other terminal windows in my active workspace. – Koviko Aug 9 '12 at 15:54
It's 2016, and I've just done something similar here. However, now that Unity/Compiz is the norm, a small caveat - set_workspace should be replaced with set_viewport – jymbob Jun 24 at 10:27

You can use Place Windows plugin of Compiz (CompizConfig Settings -> Window Management section -> Place Windows):

enter image description here

And then choose the window and viewport (in this example, i choose Firefox):

enter image description here

Also, if you want that window to start maximized you can set that in Windows with fixed placement mode.

share|improve this answer
Thank you for that explanation! – Thomas Mar 6 '12 at 13:27

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.