How (not) to setup lightweight WM for occasional server management?

Garet Claborn asked:

I’m working with our admin team to firm up all the requirements of the dev team before creating some system images.

One of the things we ended up needing is a lightweight GUI setup. Knowing that the overhead should not really exist on servers, we’d keep the X server off. Misconception; as per comments the X server should only run client-side and we’re free to install our graphical tools without it running.

  1. I’ll be able to package bash scripts that will execute on the image’s first-run
  2. GUI Administration tasks are rare on our setup, but common on some clients so we’ll be including a script that may be run from ssh to enable the WM and x-forwarding. No other use of GUI will be going on locally or remotely.
  3. While not common, when people do need to use the GUI, there are sometimes many logged in at once.
  4. Some developers are using X Ming on Windows, others bring their own Linux
  5. Servers are CentOS, FreeBSD and Debian; current stable versions +|- a few months.

I have not even tried the vast majority of window managers, since there are so many, but I’ve thought about using openbox, ice or possibly something more resource heavy if it handles multiple sessions better. Our general consensus is graphed below.

Comparison of RAM consumption in Window Managers

Which specific manager to use is outside the scope of this question; however this sums up our goal fairly well.

Given these requirements, I’m trying to find out: what is a fairly standard and portable setup or stack to instantiate windowing on the fly through ssh?

I think others have come across similar situations. At minimum, I simply don’t know what to look for in WM portability. Aside from that, perhaps all there is to it is selecting a WM and writing startup scripts but if there are any techniques, packages, projects or specific WMs that aim for this use case that would be great to know as well.

My answer:


You don’t need a window manager in this case at all! Just ssh -X and start your app.

The X server and its own window management runs locally on the user’s desktop, not on the remote server. The Windows and Mac guys will have to start their X servers manually, but on Linux desktops it’s already running of course.


View the full question and answer on Server Fault.

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