|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.
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:
dpkg-reconfigure locales and select the following off the list
For generic Linux
locale.gen, usually found in
/etc</etc> and uncomment (remove the # space from the start of the line) the following lines;
Then run the locale-gen to generate them
1.5) Modify rpcbind to run in insecure mode
Modify rpcbind to run in insecure mode (-i)
On Ubuntu and Debian based systems, edit (or create if it doesn't exist) /etc/default/rpcbind, and add the following line to it:
Restart the service with:
service rpcbind restart
or reboot the machine.
2.1) Get a copy of the repository
Use the git clone command here
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
2.2) Link in X11 headers
NOTE: This is no longer required on linux as of version 2.2.2 (07/2014).
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 .
2.3) Attempt to buildcd 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.
2.4) Test running some applications
/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.
/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.