CDE -- Common Desktop Environment

35 respostas [Última entrada]
Joined: 02/17/2016

I installed CDE.

Joined: 02/17/2016

CDE was developed about 20 years ago as a unified desktop environment for all the various forms of commercial, proprietary Unix that dominated the workstation market back then: IBM's AIX, Digital’s Tru64, HP's HP-UX, Sun's Solaris, Silicon Graphics' IRIX and on x86 hardware, SCO's UnixWare. DEC even ported it to OpenVMS, which isn't a Unix at all, and in Linux's youth there was an $80 commercial version for Red Hat Linux 4.

The Common Desktop Environment (CDE) is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit. It was part of the UNIX98 Workstation Product Standard, and was long the "classic" Unix desktop associated with commercial Unix workstations.

Here's how. Step by step instructions. It must be compiled from source.

Screenshot from 2016-05-16 19:25:52.png Screenshot from 2016-05-16 19:36:00.png Screenshot from 2016-05-16 19:41:22.png Screenshot from 2016-05-16 20:05:42.png Screenshot from 2016-05-16 20:04:32.png
Joined: 04/16/2013

Bummer, I thought you got it working in Trisquel! I tried doing it a while back, but just couldn't seem to make it happen. I really enjoy retro desktop enviroments and I wanted something that was more of a retro GNU/Linux desktop rather than just making a Windows 95 clone like I have now.

Nice to see it working anyways.


Joined: 02/17/2016

I think you could try Trisquel netinstall. I don't see why it should not work the same.

Joined: 02/17/2016

I installed sound drivers. CDE doesn't seem to have any apps for sound except the beep. My Debian setup was minimal, so I had to add Alsa. Alsamixer GUI works nicely. I made a launcher for it.

Use sudo or open a root terminal (su). Debian has root account enabled as default. I didn't install sudo.

apt-get install libasound2 libasound2-doc alsa-base alsa-utils alsa-oss alsamixergui

Configure Alsa as root for hardware.

alsactl init

I also realized CDE has no dialog for shutdown or restart, only exit GUI. I open a Terminal and (as root) type 'init 0' for shutdown and 'init 6' for restart. Only an administrator is supposed to shut down a Unix computer.

I installed Gnome Mplayer but there's an issue with the video screen size. It won't go any bigger than a matchbox or postage stamp. Vlc works fine.

brubeck_cde.png blue_rondo_cde.png gnome_mplayer.png
Joined: 04/16/2013

I really like the look of it. I love the nice crisp and clear non-smoothed fonts! And the beautiful pixel-art icons!

Joined: 02/17/2016

I think the desktop decorations are 16 colours VGA. Fonts are crisp. A computer interface must look like it's a computer, not a printed newspaper or a brochure. Form follows function.

I love the way the menus from the front panel can be detached and dropped on the workplace desktop.

debian_cde.png cde_vi.png Screenshot from 2016-05-17 15:28:38.png cde_desktop.png
Joined: 03/08/2014

> A computer interface must look like it's a computer, not a printed newspaper or a brochure.

I disagree with this. There's a reason the industry is pushing for high-DPI monitors: pixelated fonts are just ugly and harder to read than crisp, anti-aliased fonts.

Joined: 02/17/2016

Of course they are better. A Retina display is overwhelmingly good to look at. I'm not saying screens shouldn't be sharp. The same way a good, soft couch is easier to sit on than a hard surface. I just don't need that bling.

On my laptop screen CDE looks very good. It's enough for me.

I was talking about an interface that's disguised as something else than a computer. I guess it's familiarity and stubborness on my part. You feel like you're not in control.

Take old motorcycles or scooters with manual gears. Then compare them with a twist & go.

I want to keep things simple so that I can understand them.

The same applies to modern web design. I just want the text and something to click, the links.

Look at this rudimentary html:

Stallman's site:

elinks_star_stallman.png aldebaran_kalers_stars_elinks.png

I am a member!

I am a translator!

Joined: 02/01/2011

Wow, that's a blast from the past as far as I am concerned. Memories of my first internship in 1996 :)!

Joined: 02/17/2016

As time passes, old is new again. Fads come and go but the basic desktop metaphor (which CDE is) remains. All else is icing on the cake.

Would love to see somebody making a CDE packaging for a distro so that it could be optional when installing the system.

Screenshot from 2016-05-18 11:39:31.png cde_tutorial.png
Joined: 04/16/2013

Wouldn't it be cool to have a CDE-based Trisquel!? I wonder how to go about doing such a thing.

Joined: 02/17/2016

It sure would be a good project for a mini Trisquel.

There used to be a version of Debian 6 called CDEbian (probably unofficial, a one-man job). So it's possible and not far-fetched.

Somebody has given a download link here.

I don't know if the ISO is original. I doubt it because the guy gives the root password as 'Harlemshake! It's a live CD (about 700 MB).

This archived page is likely the original compiler (andarazoroflove) but his download links are all gone dead.

Joined: 02/17/2016

I missed Xclock, so I installed package 'x11-apps'.

apt-get install x11-apps

As a bonus, the Xeyes now keeps watch. Better than the Clippy who must die. No X desktop is complete without the rolling eyes!

There's a digital timepiece in CDE and an analog clock in the front panel. More clocks is less unawares.

xclock_xeyes.png huge_eyes_cde.png
Joined: 02/17/2016

Here's a video tutorial how to edit and replace launcher icons in CDE's Front Panel Subpanels (menus).

I changed most of the generic icons that I found and initially used before I knew better. CDE only comes with a limited set of pixel art.

--find, download an icon be it svg or png
--scale icon to 32 by 32 pixels (Gimp)
--save/export as 'example_icon.xpm' whatever as long as the extension is right
--copy to .dt/icons/ folder changing the name to ''
--open App Manager --> Desktop Apps --> Create Action
--create launcher, edit icon, save
--drag & drop the launcher icon from your File Manager folder to the Front Panel menu place holder 'Install Icon'
--refresh menu by restarting Workplace Manager (right-click on the desktop)

cde_app_menu.png cde_scale_icon.png
Joined: 02/17/2016

I said earlier that Gnome apps, some of them, can't be resized. They don't get the Motif decoration but use their own instead. These are somehow dependent on Gnome 3 design decisions.

Gthumb, once maximized from the desktop icon right-click menu, won't leave full-screen no matter what I do. It does work flawlessly apart from this issue.

I found that Mate apps work better together with CDE. Caja for File Manager (CDE's native FM is pretty archaic), Eom (Eye of Mate) for images.

cde_fman_caja.png eom_cde_about.png
Joined: 02/17/2016

Tips how to overcome some limitations and add functionality to CDE.

Joined: 02/17/2016

Oops, mispost!

While I'm at it, I might as well put something useful here: good Solaris screenshots.

Some background history of CDE.

Solaris CDE User's Guide.

Joined: 02/17/2016

This is Dthello, the CDE splash screen. It shows the version of CDE when starting but I could not capture that, only the background. Nowadays, computers are too fast for the eye to catch but a glimpse of the splash screen.


Dthello prints on screen the contents of /usr/dt/copyright

This can be invoked from the console:

dthello -file /usr/dt/copyright

I don't know why in the screenshot the text is truncated.

It's the Gnome Screenshot that wipes a portion. I had to launch it with delay before issuing the command dthello. The captured screen can now be used as a backdrop in /home/user/.dt/backdrops. Convert the file to XPM first and truncate the extension to PM.

dthello_cde.png dthello_copyright.png dthello_full_cde.png cde_dthello_backdrop.png
dthello.tar 10 KB
dtlogo.tar 440 KB
Joined: 02/17/2016

Applications are usually iconized/minimized on the desktop/workspace but there's a box that can be toggled on in the settings -- the Icons Window. This box can be iconized itself and every workspace (1--4) can have a different box with different software running. The icons stay in the box even when the program window is open.

I like this feature. I think KDE has something similar on the desktop -- a transparent window that can contain launchers, widgets and folders.

cde_iconsbox_2.png cde_iconsbox_workplace2_2.png cde_iconsbox_iconized.png cde_iconbox.png cde_styleman.png
Joined: 02/17/2016

I put a screenshot of Solaris CDE in the wallpaper thread. It's kind of misplaced but here's the link.

Joined: 02/17/2016

I'm trying to read a Debian CD-ROM. The Dtfile file manager won't automatically mount the CD. Well, I did that in the terminal and can now access the CD in the file manager /media/cdrom/.

There are various ways to browse. I can use 'cat' command to print the text of a file in the terminal or I can drag and drop the icons to the workspace desktop, then close the file manager. The icons on the desktop are temporary symbolic links to the CD. Clicking on them will open the file in Dtpad text editor. The links can rest on the desktop all day and with a right-click I'm able to go back to the parent folder.

I could just use Caja which mounts and shows and opens all necessary viewers at a click of the mouse. But that would not be fun.

There used to be a tool for this called Removable Media Manager (RMM) that's supposed to work seamlessly with the Dtfile file manager. Can't find it in my setup. I think it's not there.

readme_cat_dtpad.png readme_cdrom_debian.png open_parent_folder_cde.png
Joined: 02/17/2016

Application Manager has a default set of apps and you most likely want to add some more.

As root, go to /etc/dt/appconfig/appmanager/C

'C' is default English, if you use another, go to the respective language folder.

Make directories for Internet, Games, Accessories, Video_and_Sound or any other folders you like. The path would be something like '/etc/dt/appconfig/appmanager/C/Internet'.

As root, type:

mkdir /etc/dt/appconfig/appmanager/C/Accessories

cp /home/user/Gimp /etc/dt/appconfig/appmanager/C/Accessories/Gimp

Where 'user' is your login name.

Copy from /home/user/ all application Actions you want to see in these respective folders. When you are done, refresh App Manager --> Desktop_Tools --> Reload Applications. You should see the newly added icons in their app groups.


You must have created launchers called 'Actions' first with the 'Create Action' app. Actions are launchers with icons for Iceweasel, VLC and any other apps you may have installed. You can drag and drop these Actions to your Front Panel menu for easy access.


After rebooting the system has apparently done some cleanup and moved everything from /etc/dt/appconfig/appmanager/C to /var/dt/appconfig/appmanager/user-hostname-0/. All new entries in existing app groups must be created here.

appman.png appman2.png appman3.png appman_reload.png
Joined: 02/17/2016

Gnome ALSA Mixer is a GUI for Alsa sound utils. It's old-school enough to fit in seamelessly with CDE. I installed it from a deb package provided by Ubuntu since it was not available in Debian Jessie.

As root:

dpkg -i gnome-alsamixer_0.9.7~cvs.20060916.ds.1-5_amd64.deb

Fix dependencies:

apt-get install -f

There's another GUI for Alsa that installs together with the Alsa Utils.


cde_gnome_alsamixer.png cde_alsamixer_GUI.png
Joined: 02/17/2016

IBM has CDE documentation for AIX.

This bit is interesting:

"Stopping the Common Desktop Environment manually

When you manually stop the Login Manager, all X Servers and desktop sessions that the Login Manager started are stopped.

Open a terminal emulator window, and log in as root.
Obtain the process ID of the Login Manager by typing the following:

cat /var/dt/Xpid

Stop the Login Manager by typing:

kill -term process_id"

Typing kill -term 508 kills my session and logs me out to the command prompt. The session Xpid process number changes every time, so the command cat /var/dt/Xpid must be run prior to the kill command each time to get the PID.

Then, I can type:

/usr/dt/bin/dtlogin -daemon which will take me to the graphical login screen (dtlogin).

Or, I can exit root, login as user and type:

startx /usr/dt/bin/Xsession which will bypass the dtlogin graphical login and land straight on the desktop. Doing this strangely alters the mouse cursor to the default cross (X) and there's a wrapping or paginating issue in terminal (it won't justify to the left but prints output in steps).

dtlogin.png terminal_steps.png
Joined: 02/17/2016

Installing package 'xfm' gives you a set of apps with a file manager to manage common tasks. It opens with two windows, a launch pad called Apps.xfm and a file browser window. Right-clicking on the Apps.xfm buttons or window opens a menu with options to quit, edit or install launchers.

Xfm FM is funny -- the scroll bar is on the left side of the window. It doesn't matter, though, since Xfm scrolls fine at the behest of the mouse wheel, unlike the native CDE file manager (where you have to scroll on the scroll bar). If you have Feh installed, it will open pics by clicking on the file manager icons. Hey, it even mounts CD-ROMs on the fly!

"Description: X file and application manager

Xfm is a file and application manager program for the X Window System, based
on the Xaw3d widget set. It provides virtually all of the features that you
would expect in a file manager; move around your directory tree in multiple
windows, move, copy or delete files, and launch programs with simple mouse
operations. Directory displays are updated automatically in regular
intervals when the contents of the directory change. The integrated
application manager provides a kind of "shelf" onto which you can place your
favorite applications, as well as the files and directories you are currently
working with. It also allows you to access different groups of applications
and files. User-definable file types let you specify a command to be
executed when double-clicking on a file or dropping other files onto it.
Last not least, xfm can automatically mount and unmount special devices like
floppies as you open and close the corresponding directories (mount points)."

This is hard core.

Typing as root:

dpkg -i xfm_1.5.4-3_amd64.deb results in failing dependencies, to correct, issue command:

apt-get install -f and try again.

cde_xfm_suite.png cde_emacs_xfm.png cde_about_xfm.png
Joined: 02/17/2016

I tried to install CDE on Trisquel 7. No cigar. It would fail at early stages because of a missing library (libjpeg62-turbo-dev). I installed Debian's turbo and turbo-dev packages but again no gain: "make World -- no rule to make target 'World'. Stop."

Here is a page with links to old CDE screenshots. I'll save the best here, in case that site goes dark.

Xfce started as a CDE clone and a free replacement for the proprietary Unix interface. As of version 2, Xfce still retained its heritage or legacy panel very similar to CDE's Front Panel (which itself was inherited from OS/2).

cde-edward.png xfce-2-panel.png
Joined: 04/16/2013

Is this screenshot XFCE? Nevermind, I see that it is not. I wish there was an option still to make XFCE's panel work like CDE.

Joined: 02/17/2016

#1 is Solaris CDE
#2 is Xfce 3.3.2 panel (1999/2000)

It shows that Xfce closely mimicked CDE in early versions. The panels are almost identical.

Xfce 3.8.18 is still available in Sourceforge. It was a small add-on at that time (about 5 MB).

Olivier Fourdan interviewed by Norman M. Jacobowitz (issue 43 of Linux Gazette, July 1999):

"In late 1996, I started to work as a help desk analyst. As part of this job, I was working with HP X terms running CDE. I really loved that environment, and tried to find something similar on Linux. Unfortunately, the only thing I found was the commercial port of the real CDE to Linux, and it was really much too expensive for me.

Then in early 1997, I started to play with XForms and fdesign, the GUI designer. One real cool thing about fdesign is its ability to generate compilable C code from scratch. The XFce project had started, but as usual, I really didn't think it could go that far! I just started coding a very basic toolbar with Xforms, and when I released the first version on SunSITE (now called Metalab), people started asking for more and more features.

Initially, XFce was just the toolbar, without the window manager and all the goodies. In 1998, I released XFce 2.x with xfwm, the window manager. The rest of the goodies came from release to release ..."

KDE can be claimed to be a spinoff from CDE starting with the name which is a play on the original DE. Similarities are apparent.

Here's Xfce 2.1.2 (1998). The second attachment shows KDE 1.0 (1998).

xfce-2.png kde_desktop_1_1998.png
Joined: 02/17/2016

Finally I found out how to take screenshots natively on CDE.

There are two programs: 'xwd' for capture and 'xwud' for displaying.

xwd -out myfile.xwd

usage: xwd [-display host:dpy] [-debug] [-help] [{-root|-id |-name }] [-nobdrs] [-out ] [-xy] [-add value] [-frame]

There's an action in Application Manager. Double-clicking produces a windowed prompt for a filename as the output. 'OK', then click on the open window you want to capture. Xwd only captures windows. Clicking on the desktop works, but all icons and windows on it are in a black silhouette (parametre '-root' is needed). Windows are captured without decorations, unless the parametre '-frame' is included.

xwud myfile.xwd

usage: xwud [-in ] [-noclick] [-geometry ] [-display ]
[-new] [-std ] [-raw] [-vis ]
[-help] [-rv] [-plane ] [-fg ] [-bg ]

There is an action called 'Xwd Display' in Application Manager. It calls xwud.

appman_xwd_capture.png xwd_display_xwud_filename.png cde_silhouette.png cde_xwd_xwud_mtpaint_capture.png cde_mtpaint_shuttle_xwd_capture.png
Joined: 02/17/2016

Mounting usb sticks the manual way (as root) makes them read-only. I put this line in /etc/fstab so they mount without restrictions. Create /mnt/usb folder first as the mount point.

/dev/sdb1 /mnt/usb auto users,noatime,umask=0 0 0

I had to add 'nofail' to the fstab line because the computer would stop at boot and wait for the device which was unplugged.

/dev/sdb1 /mnt/usb auto users,nofail,noatime,umask=0 0 0

Also, I had issues with Spacefm and Caja dealing with removable media. Spacefm would occasionally hang if I didn't mount the stick manually first (I had to disable Spacefm automount for this reason; I didn't feel like playing with udevil rules). Caja would complain 'could not display computer ///' and 'cannot handle computer locations' when unmounting the usb.

Thunar (Xfce's file manager) works perfectly. Moreover, I found that the best so far graphical screen capture app is the Xfce 'xfce4-screenshooter'. A minor issue, the option 'active window' takes a full-screen shot the same as 'entire screen'. There's something in the Motif window frames or the unmanaged desktop that the screenshot program cannot negotiate. I had serious issues with the Gnome screenshot program (it started misbehaving, 'segment fault', and the GUI wouln't launch). It worked from CLI without GUI, though. I have Scrot as a sidekick.

apt-get install xfce4-screenshooter

cde_caja_cannot.png cde_screenshooter.png cde_thunar.png
Joined: 02/17/2016

I had to adjust my laptop's screen brightness manually as the dedicated keys won't work. To save the setting, I opened /etc/rc.local and added this line just above the 'exit 0' end line:

echo 10 > /sys/class/backlight/acpi_video0/brightness

So far, it seems to work and survive reboots and screen power downs. Unlike this:

echo 100 | sudo tee /sys/class/backlight/intel_backlight/brightness

Previously, I hadn't realized how powerful the command line is. Basically everything is doable without a GUI. One might ask, what good is a GUI anyway. Well, that would be an extreme attitude but describes the vanity of bling and underlines the value of simplicity in a few words. Maybe it's not time to ditch the GUI altogether but now I understand RMS a lot better. Heck, I can even install a mini base system, no X and get online in no time.

These are some programs/utilities/commands I have discovered during the process:

--acpi (very handy when checking battery state or CPU temperatures)
--dpkg-reconfigure locales
--dpkg-reconfigure keyboard-configuration
--dpkg-reconfigure tzdata
--unar (NOT unrar) extract HP BIOS update exes
--and many more I can't recall right now.

Even some simple graphical programs are now my favourites:


Joined: 05/13/2010

> I had to adjust my laptop's screen brightness manually as the dedicated keys won't work.

If the xev command sees the dedicated keys, it's fairly simple to create a keybinding to change brightness. It might be possible even if not but I haven't had to find out about that. (This probably should go to another thread though.)

Joined: 02/17/2016

Xev prints this when I press [fn+F9] [fn+F10]:

KeyRelease event, serial 33, synthetic NO, window 0x1800001,
root 0x99, subw 0x0, time 10692171, (-627,330), root:(562,580),
state 0x0, keycode 232 (keysym 0x1008ff03, XF86MonBrightnessDown), same_scre
en YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x1800001,
root 0x99, subw 0x0, time 10795280, (-562,236), root:(627,486),
state 0x0, keycode 233 (keysym 0x1008ff02, XF86MonBrightnessUp), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

I'll have to study this further.

I installed xbacklight. It's useful but the echo command is no more cumbersome if one wants to change the brightness only temporarily.

screen down
xbacklight - 33
screen up
xbacklight + 33

usage: xbacklight [options]
where options are:
-display [display] or -d [display]
-set [percentage] or = [percentage]
-inc [percentage] or + [percentage]
-dec [percentage] or - [percentage]
-time [fade time in milliseconds]
-steps [number of steps in fade]


I have made some progress. I installed xbacklight as stated above, and xbindkeys. I edited /home/user/.xbindkeysrc file with a little help from Arch Linux Archwiki. It now works up/down in 33 % increments.

## set brightness down
"xbacklight - 33"
m:0x0 + c:232
## set brightness up
"xbacklight + 33"
m:0x0 + c:233

It's not permanent. Xbindkeys must be run every session anew. I think it must be autostarted.


Well, that was easy.

Using your text editor of choice, create a file called "sessionetc" in $HOME/.dt/sessions

Next add the applications you want started in the order which they should starts, for example:

xclock &
conky &

The "&" is important or CDE will freeze when you log in again.

Make this file executable, chmod +x sessionetc then log out and in again. Your application will automatically be started!

Mangy Dog

I am a member!

I am a translator!

Joined: 03/15/2015

loldier great post!
THNXs ;-)

Joined: 02/17/2016

I made my laptop's audio keys work. Added these lines in /home/user/.xbindkeysrc. The keybindings can be obtained issuing the command xbindkeys -k and hitting the buttons. There's a blank window that pops up.

## Volume down
"amixer sset Master 5%-"
m:0x0 + c:122
## Volume up
"amixer sset Master 5%+"
m:0x0 + c:123

Every time the .xbindkeysrc file is modified, it must be updated: xbindkeys -p