Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

NsCDE 2.0 - Modern desktop environment in CDE's clothing, its installation to Ubuntu


The Linux desktop environment of today is probably GNOME. I wonder how many users would dare install CDE there. Not only plainly outdated, but there is little information on how to install it. So it is not an option.

NsCDE (Not so Common Desktop Environment) could be a modern desktop environment in CDE's clothing rather than heavily extended FVWM theme.

Its appearance and behavior is introduced at YouTube (see end if this post). This post introduces its installation process to Ubuntu. It almost commonly works for Ubuntu on Hyper-V and WSL. Points especially for WSL is additionally mentioned as needed.


Installation process in this post is based on following environment.

  • Ubuntu 20.04.2 LTS
  • NsCDE 2.0

In case of WSL, following steps should be completed in advance of the installation process. This post doesn't treat with them.

  • Install of WSL2 and Ubuntu 20.04 LTS and X server
  • Set user and password in Ubuntu

The next post may help for X server.

Installation process
Based on the process introduced at GitHub, rough step of installation would be

  1. install packages with dependencies in "Known system specific package dependencies"
  2. install extra packages
  3. download and install of NsCDE in "Installation"
  4. Rebooting PC and initial configuration (Reboot is not required in case of WSL)

At first, the common 1st step is run next commands.

sudo apt update -y
sudo apt upgrade -y

Install packages

Although "Known system specific package dependencies" introduces many packages, it doesn't list all required packages. Additional packages must be installed depending on the environment of users.
Following is my case. "x" on "WSL" column means packages only for WSL.

🔎Additional packages

Package WSL
dunst baesd on "Installation Dependencies"
gcc for compile x
firefox for NsCDE help x
gettext for msgfmt
ksh93 based on "Installation Dependencies"
libx11-dev for cursorfont.h
libxext-dev for shape.h
libxpm-dev for xpm.h
make for compile x
python3-psutil based on output from "./configure"

Checking not installed among all listed packages with "apt list", then install missing one with "apt install -y".
Next command is for check. Replacing "apt list" to "apt install -y" and leaving missing packages, it also works as install command.

apt list gcc make ksh ksh93 xterm xdotool xscreensaver xsettingsd xclip xutils x11-utils x11-xserver-utils python3 python3-xdg python3-yaml python3-pyqt5 python3-psutil qt5ct qt5-style-plugins fvwm fvwm-icons dunst gettext imagemagick stalonetray gkrellm rofi libx11-dev libxext-dev libxpm-dev libstroke0 libfile-mimeinfo-perl firefox xfe rox-filer

At the final step of installation process, use can set preferred file manager and text editor. "xfe" (it includes "xfwrite") and "rox-filer" are for it. They can be replaced with preferred one, or be deleted if not required.

Download and install of NsCDE

Execute commands as "Installation" indicates. In my case, "umask 0022" was skipped because this command is not installed in my Ubuntu. In case of "wget", not git clone, a set of commands will be as followings.
For your info, "<version>" in GitHub is replaced to "2.0".

cd /tmp

tar xpzf 2.0.tar.gz
cd NsCDE-2.0

sudo make
sudo make install

Reading over outputs from "./configure" is recommended. Extra packages were installed based on this output. Especially for the line including "No", if it is resolved by installing a package, it is better to take care of it in advance of "sudo make".

Rebooting and initial configuration

for WSL

🔎Expand here
Reboot is not required for WSL.
Run X server and enter next command.

nscde -r

Around the next progress in the console,

X server indicates NsCDE.

Then, initial configuration.

for others

🔎Expand here
Reboot Ubuntu after "sudo make install".
Then, login screen includes "Fvwm" and "NsCDE".

Check "NsCDE" and login, initial configuration is started after the splash window.

Initial configuration

Operate Terminal on NsCDE from here on. Repeatedly answer with "Y" or "N" for confirmations. If not sure, answer "Y".
Last 2 confirmations are for preferred file manager and text editor, and enter their commands. If not sure, hit only Enter.

Then, screenshot at the top of this post is indicated. Installation is done.

NsCDE Help

Click the right icon on the paned,

Firefox shows the help document.

Japanese input and output

Ubuntu supports Japanese input and output beforehand, its input method is taken over in NsCDE. In my case, Ctrl + Insert switches input method *1. It works similarly in NsCDE as well as Ubuntu desktop.

Basically, Japanese rendering is no problem other than some window title. This is due to system font setting.