GNOME and KDE are two of the most popular desktop environments on Linux. They both have their own strengths and weaknesses, but how do KDE apps run under GNOME? KDE is known for its user interface, which is more colorful and user-friendly than GNOME. This means that many KDE apps don’t work as well under GNOME as they do under KDE. However, there are a few ways to get around this. One way is to use a virtual machine or container to run KDE apps on top of GNOME. This allows you to use the same software on different computers without having to change the settings or install different software. Another way is to use a tool like kdesudo or gnome-shell-extension-kde-run which allow you to run specific KDE commands in GNOME without having to open a separate window. ..


The visual differences between the GNOME and KDE desktop environments are easy to see, so how is it possible to run an app from one under the other without problems? Today’s SuperUser Q&A post has the answer.

Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.

‘Shaking Hands’ clipart courtesy of Clker.com.

The Question

SuperUser reader LeNoob wants to know how KDE apps are able to run under GNOME:

What makes it possible for KDE apps to run smoothly under GNOME?

The Answer

SuperUser contributor grawity has the answer for us:

Tying into the same graphics system for easy “compatibility” is an awesome thing, and great when you want to have all your favorite apps running under the same desktop environment!

Each UI toolkit like GTK or Qt comes in the form of libraries that the graphical program links against. A program written for GNOME will use libgdk and libgtk, and a KDE program will use libQtCore with libQtGui. Both toolkits then simply use the same X11 functions to draw everything in the respective program’s window.

Most modern toolkits, like GTK, Qt, or EFL, perform all drawing themselves, and just send the finished image of the whole window over X11. Older toolkits like Xaw or Motif instead send commands to draw primitives like lines or rectangles, and the X server does all rendering.

The X11 protocol also covers window management, so each desktop environment will have a “window manager” program which draws window frames (“decorations”), allows you to move and resize windows, and so on. Modern “compositing” window managers actually take over Xorg’s job of composing all windows onto the final screen image, allowing things like shadows or effects to be added.

Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.