CDE for Linux is currently Alpha Quality
| We are currently requesting that all contributions to the project are licenced under the MIT licence. Find out why? |
WARNING: THIS GUIDE IS FOR ADVANCED USERS FOR USE IN BUILDING AND PORTING.
Before you compile, please check the status of your distribution/platform. It will save you a lot of hassle.
CDE on Linux is not yet to the point of being simple to package for distribution or a relatively simple to compile from the source archive.
The initial Linux port is intended to be a minimal impact port, changing just what is required to make it build and run, so no warning fixes, refactoring, changing the build system or other niceties have been implemented as yet.
Check the supported platforms page for a complete list.
Compile-time and run-time requirements
On debian-like systems (including Ubuntu) install the following packages;
On Red Hat and Fedora 17 see this page.
Archlinux
See this page for additional notes.
Slackware 32/64 bit
See this page for additional notes
Do not install the following items
Generate system support for German, Spanish, French, and Italian locales:
On Ubuntu
On Debian
Run dpkg-reconfigure locales and select the following off the list
For generic Linux
Edit locale.gen, usually found in /etc and uncomment (remove the # space from the start of the line) the following lines;
Then run the locale-gen to generate them
locale-gen
Modify rpcbind to run in insecure mode (-i)
On Ubuntu
Edit /etc/init/portmap.conf
On Debian
Edit /etc/init.d/rpcbind
Find the line "OPTIONS="-w" and replace with "OPTIONS="-w -i"
Note: On Debian Squeeze this might be /etc/init.d/portmap
Restart the service or reboot the machine
Use the git clone command here
https://sourceforge.net/p/cdesktopenv/code/
Or get a copy of the source from a the Download Page. Extract the archive into a directory called 'cdesktopenv-code' (this isn't a strict requirement, but will make the rest of the instructions easier to follow)
Note: The source archive can become out of date rapidly. When in doubt, use the git repository
The X11 library headers need to be symlinked into the build tree. Be careful of capitalisation of 'x' and 'X' here.
cd cdesktopenv-code/cde mkdir -p imports/x11/include cd imports/x11/include ln -s /usr/include/X11 .
cd cdesktopenv-code/cde make World
The build will terminate with a successfully built message.
After you've built World, it should have compiled up the libraries and quite a few of the apps.
To check look in cdesktopenv-code/cde/exports/lib there should be 10 different CDE libraries.
(Replace /path/to/ with the path to the location of your source tree.)
export LD_LIBRARY_PATH=/path/to/cdesktopenv/cde/exports/lib cd cdesktopenv-code/cde/programs/dtcalc ./dtcalc
The install actions should only need to be done once on install, or on reinstall of later versions.
(Replace /path/to/ with the path to the location of your source tree.)
# Install CDE cd cdesktopenv-code/cde/admin/IntegTools/dbTools sudo ./installCDE -s /path/to/cdesktopenv-code/cde/ # Run the linux post install script (this does have a couple of errors reported) cd cdesktopenv-code/cde/admin/IntegTools/post_install/linux sudo ./configRun -e
Note: This may terminate with inetd errors. These are harmless and can be ignored.
# It seems this dir needs to be writable by every user of CDE sudo chmod -R a+rwx /var/dt # Directory required for calendar service sudo mkdir -p /usr/spool/calendar
Switch to virtual terminal and log in as root
# kill off xserver. For example, if you are running lightdm: service lightdm stop # note, you do not need to run rpc.ttdbserver. If you *really* want to, # then start it with /usr/dt/bin/rpc.ttdbserver and confirm its running # rpcinfo -p
You can log off root and into your regular user here
# add /usr/dt/bin to your PATH export PATH=$PATH:/usr/dt/bin export LANG=C # Start CDE startx /usr/dt/bin/Xsession
This should boot into the CDE desktop
(You can change the export LANG=C to LANG="fr_FR.ISO8859-1", LANG="de_DE.ISO8859-1", LANG="es_ES.ISO8859-1" or LANG="it_IT.ISO8859-1", for non English languages.)
Switch to virtual terminal and log in as root
# kill off xserver. For example, if you are running lightdm: service lightdm stop # note, you do not need to run rpc.ttdbserver. If you *really* want to, # then start it with /usr/dt/bin/rpc.ttdbserver and confirm its running # rpcinfo -p export PATH=$PATH:/usr/dt/bin export LANG=C cd /usr/dt/bin ./dtlogin
This should start the login screen.
(You can change the export LANG=C to LANG="fr_FR.ISO8859-1", LANG="de_DE.ISO8859-1", LANG="es_ES.ISO8859-1" or LANG="it_IT.ISO8859-1", for non English languages. Or choose a language from the dtlogin UI.)
Follow the instructions on this sub page to create a xsession file to allow a CDE session to be chosen from lightdm/gdm/kdm list of login sessions.