12

I know there's a command to let compiz take over from whatever windows manager is running, using compiz --replace &, same for unity with unity --replace &. What are the similar commands for other window managers (e.g. KDE4's plasma, Gnome, LXDE, XFCE)? And will this take all running application windows along?

Izzy
  • 3,540
  • 4
  • 30
  • 58

3 Answers3

9

Pretty much any window manager can replace the one currently running. Normally, you use the --replace option. Read the window manager's man page for details. You just need to determine the command name for a particular wm. Google or apropos can help you there.

Examples:

xfwm --replace   # xfce, I think
metacity --replace   # default wm in Gnome 2
icewm --replace    # old-school wm, my favorite back in the 1990s before modern wms

Switching wms won't have any effect on which windows are open, though it'll likely affect their placement.

By the way, even though desktop environments such as Gnome, KDE, or Xfce have a default wm that works well with the environment, window managers are actually separate and can normally be mixed and matched. Note, however, that some window managers also provide some other features, such as panels, which you won't have if you switch wms.

Edit

Determing the proper command to use: These kinds of things are really easy to determine for yourself. Just take a guess at the beginning of the name. For example, "open". Then start typing the first few letters and hit Tab. If the name isn't completed, hit Tab a second time to see a list of possible matches. Once you've found the command name, type man <command_name> to access documentation.

If you can't find the command name that way, look at the process list through some system monitor such as htop while the program in question is running. You'll see it there, though you might not be able to use the command in exactly the same form as it's listed, particularly if it's running through an interpreter such as Python.

Scott Severance
  • 13,776
  • 9
  • 52
  • 76
  • Yes, those restrictions are clear (and further apply to widgets and the like, especially with KDE4s Plasma stuff). Main reason behind my question is to be able switching to a different WM (e.g. when following/writing some Howto) and back again without losing any open apps. Thank you for providing the Gnome WM command, especially. I was especially looking for that one and the KDE4 Plasma thingy -- is that still kwm (and thus `kwm --replace`)? – Izzy Jul 04 '12 at 13:44
  • As I never use KDE, I don't know the situation these days. – Scott Severance Jul 04 '12 at 23:56
  • Trouble is with Plasma I'm no longer sure which one is responsible. There runs a `kwin` (which I guess must be the right one -- it was the wm in previous versions) plus `plasma-desktop` process. Not sure which one I'd have to call... Probably kwin. Well, I'll find out. Anyone running LXDE and knows whhich is its wm? I guess it's `openbox`? – Izzy Jul 05 '12 at 05:48
  • A [DuckDuckGo](http://duckduckgo.com) search took me to the [LXDE website](http://lxde.org/lxde), which says that LXDE uses Openbox. – Scott Severance Jul 05 '12 at 11:01
  • Thanx, yes, I know they're using "OpenBox". My question was more regarding the name of its executable to call for a switch -- and I'm not sure whether that's `openbox --replace &` for LXDE. I'm just setting up a script handling all the alternatives, so I can just call something like `switchwm ` (the script also checks whether that wm is available and handles that as well). – Izzy Jul 05 '12 at 11:44
  • This is easy to determine for yourself. See my edit above for more. – Scott Severance Jul 05 '12 at 16:38
  • The process list was my main source to identify the unknown. During the weekend I had a chance to test -- and unfortunately a running KDE (which is my current main-DE) cannot be replaced this way, as it uses 2 components -- so `metacity --replace &` would replace `kwin` (which in this case crashes and wants to send a bug report), but `plasma-desktop` keeps running. Results are quite strange. Luckily, a `kwin --replace &` fixed that... – Izzy Jul 09 '12 at 09:16
  • A few Ubuntu releases ago, I had the problem of having to toggle between Unity 3D (which had usable features) and 2D (which wasn't too usable but had an essential compatibility feature). I found that if I started the session in one, I couldn't switch to the other, but the reverse works. That suggests to me that if you log in to, say, LXDE and then launch KDE's stuff from there, it might work better for you. – Scott Severance Jul 09 '12 at 11:09
  • I thought about that as well -- that's why I was looking for an easy way to switch between the DEs without logging off/on, so I could check them once in a while and, if missing something, easily switch back. A pity this doesn't seem an option with KDE. -- Thank you for your help so far, Scott! I should consider my question answered; that it didn't solve my desire is a different thing ;) – Izzy Jul 09 '12 at 11:23
6

I know it's a while ago -- but as usual, after one stops looking for it, answers pop up. So I just discovered the fusion-icon package for Ubuntu: CompizFusionIcon is exactly for this, to switch between different window managers.

FusionIcon

So in case somebody else is still looking for an easy and convenient solution, this is another option.

Izzy
  • 3,540
  • 4
  • 30
  • 58
1

The fusion-Icon does no longer work. But: there is another way, how I managed to enable Emald-Window-manager in Xubuntu 13.04.

Step one: we need two terminal-commands

Therefore, we need our Terminal and there we have to enter these commands:

sudo apt-get install git autoconf libtool libwnck1.0-cil-dev libwnck-dev intltool libdecoration0-dev gawk compizconfig-settings-manager

Then follows this command here:

wget cgit.compiz.org/fusion/decorators/emerald/snapshot/emerald-0.9.5.tar.gz

Afterwards follows this command:

tar -zxvf emerald-0.9.5.tar.gz && cd emerald-0.9.5/

This extracts this package to your home-directory (in my case, this was like that).

Then close your Terminal and go to this directory /home //emerald-0.9.5

Step two: run the file autogen-sh in this directory

There search for a file called autogen.sh.

Click this file and let it run. This goes pretty fast.

Then close this file and close your home-directory and go back to the Terminal.

Step three: Cleanout

We again need to open the Terminal and enter these commands:

make clean

make distclean

Then cd to the directory of emerald:

cd /home/<your name>/emerald-0.9.5

Then enter these commands:

./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} LIBS='-ldl -lm'

make

sudo make install

Then close your Terminal and go to CompizConfig Settings Manager.

Step four: setting Emerald as window-manager

In CompizConfig Settings Manager, go to "general" and there to "Windows-Decoration". There enter the following command:

compiz --replace

Then close CCSM and go to the Emerald-Theme-Manager and select one of your downloaded Themes.

Step five: Finalization of setting Emerald-Theme-manager

open your Terminal and run:

compiz --replace

That's just it.