CentOS 7 builds the current CDE without major problems. The guide given here assumes that you start out with the minimal installation (Core, without X11). If you use a desktop ISO to install, you'll probably have most of the dependencies installed already. In that case yum will just moan about already installed packages, but with no bad consequences:
Install Xorg and the required packages by issuing the following commands as root or a sudo-authorized user (sudo bash --login):
yum -y groupinstall "X window system" for fnt in $(yum list | grep dpi | grep -v '^fcitx' | awk '{print $1}'); do export FONTPKGS="${FONTPKGS} ${fnt}" done yum -y install $FONTPKGS git ksh motif-devel bdftopcf \ rpcbind ncompress bison ksh93 libXinerama-devel libXdmcp-devel \ libXScrnSaver-devel libXmu-devel libXaw-devel libXft-devel \ libtirpc-devel libjpeg-devel tcl-devel openssl-devel gcc gcc-c++ unset FONTPKGS cat > /usr/bin/yacc << EOF #!/bin/sh exec /bin/bison -y "$@" EOF chmod a+rx /usr/bin/yacc
If you haven't started from the minimum installation and already are running in Xorg, you can skip the next part, which enables X11 at startup.
ln -svf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
Clone the sources to a directory of your choice. for instance /usr/local :
cd /usr/local/src && git clone git://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code
As of February 22nd 2019, CDE compiles without any need to interfere. Use the following sequence to create a log file of the build, just in case something goes wrong in future versions. That makes it easier for the developers to hunt down any bugs.
cd cdesktopenv-code/cde make World 2>&1 | tee centos-$(uname -r)-build.log
Issue the following commands:
admin/IntegTools/dbTools/installCDE -s /usr/local/src/cdesktopenv-code/cde/ mkdir -p /var/spool/calendar
be sure to adjust the source path behind the -s parameter if you didn't clone into the /usr/local/src directory.
If you want to run dtlogin as your display manager be sure to disable your current one, which with CentOS is usually lightdm:
systemctl disable lightdm systemctl stop lightdm
This will get you out of your X11 session and you can test dtlogin:
/usr/dt/bin/dtlogin -nodaemon
If you have it confirmed to be working, you can log into CDE, open a terminal and fire off the following sequence to make it your new display manager:
cat > /lib/systemd/system/dtlogin.service << EOF [Unit] Description=Common Desktop Environment Login Manager Documentation=man:dtlogin(1) Conflicts=getty@tty1.service After=getty@tty1.service systemd-user-sessions.service plymouth-quit.service acpid.service [Service] ExecStart=/usr/dt/bin/dtlogin -daemon Restart=always IgnoreSIGPIPE=no BusName=org.freedesktop.DisplayManager [Install] Alias=display-manager.service EOF
Now that you have the service unit, you can enable it:
systemctl enable dtlogin
reboot, and welcome to the good old days.