Installing CDE and Comparing With NsCDE

Earlier today in my NsCDE post I said maybe I’d install CDE and do a comparison between the two. Well then I decided to just bite the bullet and do it. So here is that direct comparison. Please reference that post for install instructions for NsCDE.

Note: When installing NsCDE under Ubuntu or other modern GNOME systems there is some wonkiness with the default GNOME file manager and text editor that we get into below. It may be better to install different applications for those and set the defaults to that at configuration time.

CDE Installation

The SourceForge site for CDE happens to have some not so bad documentation for installing under Linux . Since I already had the Ubuntu VM build for the NsCDE machine I just decided to use that instead. Again we need to install dependencies:

sudo apt install autoconf automake libtool git build-essential g++ \
   lib{xt,xmu,xft,xinerama,xpm,pam,motif,ssl,xaw7,x11,xss,tirpc,jpeg, \
   freetype6,utempter,xrender}-dev tcl-dev ksh m4 ncompress \
   xfonts-{100,75}dpi{,-transcoded} rpcbind bison patch xbitmaps \
   x11proto-fonts-dev flex opensp

Once that was done we check out the source code:

git clone cdesktopenv-code

and then go into the directory to configure and build it (using the newer instructions):

cd cdesktopenv-code/cde
sudo make install

This process took a lot longer than with the NsCDE since it is building the whole desktop system not just themes for another desktop environment. I even got a screenshot of CDE being built under NsCDE that I posted to social media:

Screenshot of CDE being built under the NsCDE desktop environment

After several minutes though it was done. Then we just need to add the option to the login menu:

sudo cp contrib/desktopentry/cde.desktop /usr/share/xsessions/

We then reboot the machine and on the next time we log in we can select CDE from our desktop environments:

Screenshot of login window with CDE option


Features and Bugs

Before I get to the graphical comparisons I’d like to compare some of the features and bugs. For the most part both of these are pretty stable but neither are bug free. For example with CDE I can’t seem to get the “Install Icon” button to work on any menu while it works fine under NsCDE. Likewise CDE’s lock screen’s password entry box doesn’t seem to work well. It is hard to tell if you have focus on the box and it doesn’t echo masked characters as you type so you can’t tell if you are typing a password or not. CDE also seems to often have dirty buffers which require either sweeping with an active window or restarting the display manager to clear properly. Lastly both of them handle modern GNOME apps horribly both in terms of rendering and access to resizing controls. You’ll see more about that below. Beyond that though how does NsCDE stack up to actual CDE:


Let’s start with as direct a comparison of the two desktops:

Screenshot of CDE Desktop

CDE Desktop

Screenshot of desktop with apps running etc.

NsCDE Desktop

As one can see these two on the surface are very similar. They are both running the default color scheme but are configurable. They have very similar but not identical font renderings. The icons in the minimized state are sometimes different but that is because they are different apps. The spacing of the items on the toolbox are a bit larger under NsCDE so for the same screen size it takes up a bit more room. Overall though it is a very faithful recreation. The GKrellM (seen in screenshots below) live process viewer shows far more details about all the sensors available on the system than the standard CDE one, which just shows CPU usage and is hard to configure.

Style Manager

Screenshot of CDE Style Manager

CDE Style Manager

Screenshot of NsCDE Style Manager

NsCDE Style Manager

The style managers have similar concepts but very different executions, with NsCDE having more configurability. First, NsCDE has a lot more styles to pick from. Second, because it is built on FVWM and with knowledge of the different GTK and Qt frameworks it has options for those themes. More importantly it has the ability to preview and apply the changes instantly. For CDE they only get applied when one logs in and back out.

Application Menu/Browser

Screenshot of CDE ApplicationBrowsing

CDE Application Browsing

Screenshot of NsCDE Application Menu

NsCDE Application Menu

I mentioned in my first post that I didn’t remember there being a convenient application menu under CDE like in NsCDE. I was partially right. There is a folder for icons for a lot of applications. Unfortunately it isn’t in any way synchronized with the GNOME menu. Again that makes sense since CDE isn’t GNOME nor have any concept of it while NsCDE was written in a world with that knowledge. The CDE one does provide some weird artifacts where applications it thinks it has don’t exist or aren’t installed, like Dreamchess, Gimp, or Chrome. It seems that these are pretty standard packages so in the package manager. Once I installed it, like dreamchess, it ran correctly. How to add to this list etc. I do not know. The documentation shed light on it but it doesn’t jump out at me from the UI how to do that. In this way the NsCDE is also far superior to CDE. Also since I can’t seem to edit the sub-menus on the CDE toolbox I’m stuck with whichever applications are there (unless I edit some hand edited config files I imagine).

The CDE applications that do exist though are the correct ones. The terminal app, file browser, etc. are all legit CDE unlike NsCDE borrowing whatever is in the system underneath it. Because of that we can see some weird behaviors when it tries to render modern GNOME applications.


Screenshot of CDE Terminal

CDE Terminal

Screenshot of NsCDE Terminal

NsCDE Terminal

The CDE terminal is the standard CDE terminal while the NsCDE terminal is the standard GNOME terminal. As you can see the CDE one looks a lot more idiomatic to the rest of the system. You can try to run the dtterm term directly under NsCDE but the font rendering is off making un unreadable display. One can obviously tweak the color and font settings of the GNOME terminal to far more closely match the CDE one.

Text Editors

Screenshot of CDE Text Editor

CDE Text Editor

Screenshot of NsCDE Text Editor (GEdit)

NsCDE Text Editor (GEdit)

The CDE text editor is the default standard CDE text editor while the NsCDE text editor is gedit. This is where we start to see how wonky some of the modern GNOME apps render under NsCDE. It has similar problems under CDE proper as well. The handles for resizing don’t seem to work. The menu system obviously isn’t meant to be like the older style X11/Windows menu bars so that looks off. It really makes using it very problematic. If instead we install an application like Geany (or others) however they render pretty consistently between the two:

Screenshot of CDE running Geany

CDE Running Geany

Screenshot of NsCDE running Geany

NsCDE Running Geany

Alternatively if you have the whole CDE system installed it is even possible to run the CDE Text Editor under NsCDE:

Screenshot of CDE Text Editor Running under NsCDE

CDE Text Editor running under NsCDE

File Managers

Screenshot of CDE File Manager

CDE File Manager

Screenshot of NsCDE File Manager (GNOME Nautilus)

NsCDE File Manager (GNOME Nautilus)

The CDE file manager is the standard CDE file manager while the NsCDE file manager is GNOME’s Nautilus file manager. Just like with the other modern GNOME apps this renders pretty poorly, has the same problem with not being able to get to resizing controls etc. Unfortunately the standard CDE file manager does not run at all under NsCDE. There are still plenty of options to choose from within the standard package managers. A very light weight and effective one would be either PCManFM or Thunar:

Screenshot of NsCDE running PCManFM File Manager

NsCDE running PCManFM File Manager

Screenshot of NsCDE running Thunar File Manager

NsCDE running Thunar File Manager

You would install them by running sudo apt install with pcmanfm or thunar, respectively. A much heavier option would be to use the default file manager for Cinnamon, nemo. This would bring in about 200 MB of additional files since it needs the whole Cinnamon stack installed (install with sudo apt install nemo):

Screenshot of NsCDE running Nemo File Manager

NsCDE running Nemo File Manager

Lastly you could try the same thing with KDE’s file manager, Dolphin (sudo apt install dolphin). It too requires between 100 and 200 MB of files but that’s not the biggest problem. Because KDE had problems picking up style hints the fonts and background rendered identically making for a bit of an ugly display:

Screenshot of NsCDE running Dolphin File Manager

NsCDE running Dolphin File Manager


Overall it’s pretty clear that NsCDE produces a very similar experience to the original CDE. In many ways it is superior to the original CDE on present day operating systems. Because it is beholden to other desktop environment applications however it can produce some wonky results at worst or not quite similar look and feel to the original CDE apps. If you care enough about ones like the text editor (which wasn’t that great even its day) or terminal you can try to use those under NsCDE. However you’ll probably have better success using more modern apps that happen to render well under it.