Setting up Common Desktop Environment for modern use

I have recently started using CDE and as someone that never used it back in
the 90s I really enjoy the classic look of it. Here are some tips and tricks
for setting up CDE that I have gathered from various sources online and from
my own tinkering. If any non-FreeBSD users are reading this, remember that
your dt directory is likely located in /usr/dt and not /usr/local/dt like it
is on FreeBSD.

Installing CDE
--
CDE is available in the ports tree: x11/cde


Starting the CDE login manager on boot
--
Add the following line to /etc/rc.local:
Code:
/usr/local/dt/bin/dtlogin

If you want to change the logo image on the login screen, change the following
value in /usr/local/dt/config/C/Xresources:

Code:
Dtlogin*logo*bitmapFile:

Here you can specify a direct path to a .bm or .pm file.
Instead of changing the Xresources file you can always just replace the
file it uses with another of the same name. You will find it at:
/usr/local/dt/appconfig/icons/C/FreeBSDDtlogo.pm
This image is 237x237 pixels.


Setting up the CDE Calendar
--

Add these lines to /etc/inetd.conf:
Code:
dtspc stream tcp4   nowait  root    /usr/local/dt/bin/dtspcd /usr/local/dt/bin/dtspcd
cmsd/2-5    dgram rpc/udp4 wait root /usr/local/dt/bin/rpc.cmsd rpc.cmsd

Add these lines to /etc/rc.conf:
Code:
rpcbind_enable="YES"
inetd_enable="YES"

Add this line to /etc/hosts:
Code:
127.0.0.1   HOSTNAME

(not just localhost but your actual hostname)


Configuring workspace switching with the keyboard
--

These configurations are done in ~/.dt/dtwmrc

Put these in the "Keys DtKeyBindings" section:
Code:
Ctrl<Key>Left root|window|icon f.next_workspace
Ctrl<Key>Right root|window|icon f.prev_workspace

For switching to specific workspaces:
Code:
Mod4<Key>1 root|window|icon f.goto_workspace "ws0"
Mod4<Key>2 root|window|icon f.goto_workspace "ws1"
Mod4<Key>3 root|window|icon f.goto_workspace "ws2"
Mod4<Key>4 root|window|icon f.goto_workspace "ws3"

Mod4 is the Windows key.
ws0..3 are the internal names of the workspaces, so these will work regardless
of what you name the workspaces on the panel.

Adding programs to the panel
--

Download icon image file, set size to 32x32 pixels, save as .xpm
If the icon is going to be directly on the panel and not in a submenu then
make 48x48 instead
Move .xpm file to ~/.dt/icons (or wherever you want) as a .pm file
Start "Create Action" in Desktop Apps
Name the action
Enter the command to be executed when clicking the icon
Click "Edit icon"
In the Icon Editor, go to File -> Open and open the .pm icon file
Click File -> Save and close Icon Editor
In the Create Action window, click File -> Save
The new action will be saved in your home folder
Move the action file
Open the File Manager to the location of the action
Expand the Personal Applications submenu on the dock
Drag the action file from the File Manager to the Install Icon location on the submenu
Restart Workspace Manager to arrange the icon alphabetically in the submenu

The built-in CDE applications
--

Overview of some of the applications that come with CDE.

Terminal
- Basic terminal, works fine.

Text Editor
- Simple text editor.

Calculator
- This program crashes whenever you change modes, needs work.

Calendar
- Quite a robust a full-featured calendar application, has been reported to
have some stability issues.

Icon Editor
- A great little program for creating icons, I recommend trying it out for
some quick and dirty icons for applications you want to put on the panel.

Mailer
- This is an ancient email application that will need a lot of work to become
usable. Technically you can set it up to work using sendmail but I have not
tried. Don't expect modern fanciness like security or HTML rendering. :)

Information Manager
- A very impressive amount of documentation. This is one of those signs that
this was at one point commercial software.

Style Manager
- This is not one program but a group of programs that change window colors,
desktop background (or backdrop in CDE speak), screensavers etc.


Some applications to try that mesh well with CDE
--

Here are some applications that use Motif and/or mesh with the overall look
and feel of CDE:

graphics/xv
graphics/xpdf3
astro/xephem
astro/xmoontool
games/xshisen
EDIT: Some more applications to check out:
audio/xmcd
audio/xmmix
editors/nedit

Feel free to make suggestions for other applications to add to this list!

Screenshots
Some screenshots of current setup:
6020
6021
6022


The color scheme I am using is one I made myself, here are the RGB codes.
Left to right, top then bottom:
Code:
121
174
181
-
163
174
181
-
189
189
189
-
191
192
197
-
188
188
188
-
191
192
197
-
127
127
127
-
191
192
197
 
Last edited:
I noticed the very same thing yesterday when installing CDE on a testing machine. I do not know why it has been marked as broken and there is no info on freshports. I simply commented out the line in the Makefile and it built fine from what I could see. So try doing that.

Code:
#BROKEN=             Does not build on head
 
The port seems to incorrectly assume that everything above 1200000 is HEAD. Which was true when 12.0-CURRENT still existed. But FreeBSD 12.0-RELEASE-p3 is 1200086. 12.0-STABLE is 1200503 at the moment.

Code:
.if ${OSVERSION} > 1200000
  BROKEN=         Does not build on head
.endif
It should probably check for 1300000 if it indeed fails to build on -CURRENT.

Those lines need to be removed from the port or at least corrected for 13.0-CURRENT.
 
Don't install software outside the ports/package system. Those are not registered in the package database. You will not be able to keep track of versions and you will run into a dependency hell sooner or later. Use the ports or packages, that's what they're there for.

If the port/package is broken report the issue so it can be fixed.
 
I have virtualized Solaris 10 to fetch some authentic CDE icons for use with various applications, cannot seem to find where they are located though, the only *.xpm and *.pm files I cna locate on the system are for gnome.

Also, do you know how to edit the entries in application manager/desktop_apps and the likes? When i installed CDE on FreeBSD, a lot of these entries did not point to actual applications and I would like to edit them as well as change their icons to stock CDE/ solaris 10 CDE icons..
 
Hmm,

It seems I made a terrible mistake with CDE back in 2012. Turns out my patch for the front panel favored the wrong color.

cde_wrong.png


The panel border is using the shade color for that turquoise area (the bug my patch aimed to fix). However, it seems that the turquoise was the color that the front panel should have been.

So something like this:

cde_right.png


Who'd have thunk that? I believe my ancient fix was somewhere in here:
https://sourceforge.net/p/cdesktopenv/code/ci/cc076d775603048270ea43b3965788dad93c5201/

It looks very blue, but brings it more in-line with how it looked on AIX:

aix2.gif
 
Last edited:
Kind of off-topic, but still related: here in Berlin, probably Germany & Europe (worldwide?), too, oldtimer-bicycles (& new ones with a retro-look) have become very popular recently. Not only they look way beautiful -- they're often very ergonomic, leightweight & technically up on par with modern hardware, sometimes even better because metal is used where plastic material is used today. E.g. I remember an article about derailleur gears: the principles of operation did not change in the past 70 years, a model from the 50ies is in practice not worse than a modern one, the only difference is they had less sprockets & the modern one is lighter (which does not matter for such a small part).
I remember we had a NextStation mid-end of the 90ies. The UI was impressively intuitive. It's hard to see real progress in UI implementation techniques when you compare todays frameworks like Qt with yesterdays solutions.
 
It's hard to see real progress in UI implementation techniques when you compare todays frameworks like Qt with yesterdays solutions.


Our biology hasn't changed much since the NextStation days, it's no wonder the way we interact with our computers doesn't need any progress. :)
 
  • Like
Reactions: a6h
If anything it looks as though there is a little bit more of a push back to the command line for casual users with "innovations" such as Microsoft's improved command prompt (with tabs!!).
 
I am trying to be more productive with CDE. I could use some information on how I might get things like copy pasting in dtterm working
Also, outside workplace switching, are there other window management functions that I can bind to keys?

Furthermore I see I am no longer executing my xresources when starting this via dtlogin or xdm, since my xsession is linked to dt's

Any way around this?
 
I am trying to be more productive with CDE. I could use some information on how I might get things like copy pasting in dtterm working. Any way around this?
Hmm. I guess dtterm is a terminal application for X11? E.g. under KDE I have sophisticated copy & paste facilities built into x11/konsole (incl. URL detection, i.e. then I have an additional command "Open URL"). Follow-up goes here. I guess it's easier to build a Motif/CDE design/theme for KDE Plasma (sophisticated tools built-in), than to patch all the features you want into an outdated CDE. Just my 2¢.
 
Dtterm should support copy and paste. You should be able to find it in the program "Edit" menu (https://docs.oracle.com/cd/E19253-01/806-4743/images/ugdtterm.tiff.gif) or if you have hidden that, right click to get the following context menu (https://docs.oracle.com/cd/E19253-01/806-4743/images/ugtermpopup.tiff.gif).

Motif/CDE design/theme for KDE Plasma (sophisticated tools built-in), than to patch all the features you want into an outdated CDE. Just my 2¢.
The problem with that even though it looks like CDE, it would still be slow and inefficient. Especially over X11 forwarded connections. The entirety of CDE, Motif, Xt and libX11 is smaller than Qt for example.
 
Dtterm should support copy and paste. You should be able to find it in the program "Edit" menu (https://docs.oracle.com/cd/E19253-01/806-4743/images/ugdtterm.tiff.gif) or if you have hidden that, right click to get the following context menu (https://docs.oracle.com/cd/E19253-01/806-4743/images/ugtermpopup.tiff.gif).


The problem with that even though it looks like CDE, it would still be slow and inefficient. Especially over X11 forwarded connections. The entirety of CDE, Motif, Xt and libX11 is smaller than Qt for example.

Thanks.


I am working on themes for gtk3, qt4 and qt5 so the apps can blend in with CDE, sort of. I am color blind though so this is hard, anyone here tried this?
 
Awsome post. I'm having a good time here installing CDE but I cannot figure out how to set up Brazillian Portuguese. Any idea how to do it ? (It seems there are only 5 languages out of the box: EN, DE, FR, IT and ES). Thx.
 

Attachments

  • cde_day3.png
    cde_day3.png
    647.3 KB · Views: 1,225
I guess you have to search the net or do the translations yourself. AFAIK it should be fairly easy to translate ES -> PT_br. Maybe you can set up a fallback mechanism PT_br - PT - PT_any - ES - ES_any - EN.
 
Thank you for the info. Here is a screenshot of my customised desktop.
 

Attachments

  • customized_cde.png
    customized_cde.png
    87.8 KB · Views: 1,237
I've got to admit, I'd love to check this out. On the other hand, what's you guys' take on the security aspect of running CDE? Obviously there's a bunch of CVEs for CDE that are probably still applicable? Or are those ports patched to close those issues?

Source - first google result, for example:
 
Or are those ports patched to close those issues?
I'm going to say no:
Security Note

CDE has had quite a few known security vulnerabilities in it, and it is likely that several more unknown ones still exist. Don't expose it to the Internet. In fact, never expose any desktop to the Internet.

You should think strongly about enabling the dtspcd and rpc.ttdbserver daemons. Unless you know what they do, you almost certainly don't need them.

The following advisories have no traced resolution in this release;

xxxxxx - 1999-11-xx - http://www.cert.org/advisories/CA-1999-11.html
179804 - 2004-03-23 - http://www.kb.cert.org/vuls/id/179804
 
I've got to admit, I'd love to check this out. On the other hand, what's you guys' take on the security aspect of running CDE? Obviously there's a bunch of CVEs for CDE that are probably still applicable? Or are those ports patched to close those issues?
At this point I am inclined to say that CDE has the potential to be more secure than Gnome / KDE on many installations. Mainly because even though CDE receives less support it is much simpler. It also receives less "fiddling".

However almost certainly disable the components that involve root.
  • dtlogin
  • sulog from dtaction
  • dtspcd
  • tooltalk (only keep the user run service around)
Many of thse just require you hacking the install script a bit to remove setting of setuid bits.
 
Late to the game, but I'd like to add that I finally managed to port x11-wm/nscde to FreeBSD. If you like to run in an old school desktop environment, it's the next best thing - modern technology under the hood but the look and feel is all CDE:

 
Back
Top