Fujitsu avait une version de CDE fonctionnant sur le DS/90 sous UPX/DS, et DEC une version pour processeur Alpha pour DEC Unix 4.0.
Parmi les distributions Linux, seules RedHat, Xi Graphics et Caldera utilisèrent CDE. Toutefois, Triteal vendait une implémentation de CDE pour Linux TriTeal Enterprise Desktop 4.2 (pour environ 120 $) utilisable avec les autres distributions Linux. Outre les systèmes Unix, CDE était aussi un environnement de bureau standard dans le système d'exploitationOpenVMS de DEC. En 1997, la version 2.1 de CDE, basée sur Motif 2.0 a été commercialisée[8]. Elle apportait un support pour les systèmes à processeur de 64 bits, un protocole d'impression basé sur Xprint et une aide en ligne utilisant SGML.
CDE fut développé conjointement par HP, IBM, Novell et Sun Microsystems (qui l'utilisera comme interface par défaut pour Solaris), en tant que membres du consortium Open Group. Sun Microsystems a abandonné CDE pour GNOME. HP, après une tentative similaire a préféré revenir à CDE.
En août 2012, le code source de CDE fut libéré sous la licence LGPL et déposé sur le site de développement collaboratif SourceForge. Un groupe de programmeurs poursuit son développement pour l'adapter à des systèmes Unix modernes (Linux, FreeBSD, NetBSD, OpenBSD, OpenIndiana) en prenant en compte les nouvelles fonctionnalités du X Window System et en éliminant des fonctions obsolètes comme XPrint. Les développeurs essaient aussi d'améliorer la sécurité et de moderniser le code C en éliminant les constructions devenues obsolètes.
Les versions successives de CDE sous licence LGPL ont été:
CDE 2.5.1 (version stable du 1er octobre 2022)[11]
CDE 2.5.2 (version stable du 18 novembre 2023)[12]
CDE LGPL fonctionne sur Linux, FreeBSD (la version 2.3.1 est disponible[13] dans les ports), OpenBSD , NetBSD (depuis la version 2.2.1) OpenIndiana (version 2.2.3, processeurs Intel seulement) et Solaris 11
(version 2.2.3, processeurs Intel et SPARC). Il est possible de compiler CDE à partir des sources sur des machines Linux à processeur Intel Atom
ou ARM (comme le Raspberry Pi).
Depuis la version 2.2.2, il est possible de compiler CDE sur FreeBSD avec le compilateur Clang.
Un portage sur OpenIndiana est en cours. La version 2.4.0 utilise Pluggable Authentication Modules pour l'authentification des utilisateurs sur Linux et NetBSD[14]. Elle a un support préliminaire pour les processeurs RISC-V et la bibliothèque C µsl. C'était la dernière version de CDE utilisant imakepour la compilation. La version actuelle, 2.5.0 , utilise désormais Autotools. Le support EWMH a été amélioré, et CDE 2.5.0 permet à des applications plein-écran comme MPlayer et ses dérivés (mpv ou celluloid) de recouvrir entièrement l'écran. Dans le cas de VLC media player, le gestionnaire de fenêtre dtwmdessine une toujours une bordure autour de la fenêtre VLC même en affichage plein écran. La version 2.5.1 n'est plus compatible avec HP-UX, mais elle utilise une version plus récente du Korn shell comme base pour dtksh et elle améliore l'internationalisation et le support pour NetBSD.
Portages vers d'autres OS
RedHat et CentOS 8 disposent de paquets RPM depuis le site COPR[15].
SparkyLinux est une distribution permet d'installer CDE depuis ses dépôts officiels[16].
UbuntuCDE[19] est un projet qui vise à créer un paquet logiciel CDE pour Ubuntu (système d'exploitation). Il a un dépôt GitHub, mais les paquets .deb créés par ce projet ne permettent pas encore un fonctionnement correct de CDE.
Par ailleurs, le projet CDEbian[22] a créé une distribution Linux Debian 10(buster) avec CDE 2.3.2 comme bureau graphique par défaut et une distribution Linux Ubuntu (système d'exploitation) 18.04 LTS utilisant CDE 2.3.1a. La distribution NuTyX fournit des images ISO 9660 pour installer NutyX avec CDE comme bureau par défaut[23].
l'horloge dtclock (visible à l'extrême gauche de la copie d'écran)
le gestionnaire de fichiers dtfile (visible sur la capture d'écran)
la calculatrice dtcalc
l'émulateur de terminaux VT100 dtterm (iconifié sur la capture d'écran)
l'éditeur de texte dtpad
l'éditeur d'icônes dticon
le gestionnaire d'impression dtprintinfo
le logiciel de messagerie électronique dtmail
l'agenda électronique dtcm
l'aide en ligne dtinfo
l'outil de configuration dtsyle
le langage de commande dtksh (Desktop Korn Shell une extension du shell Unix avec des instructions graphiques)
l'outil de création d'interfaces dtbuilder
Il permet de disposer de bureaux (workspaces) multiples (boutons "One", "Two", "Three" et "Four" du panneau de commandes sur la capture d'écran). Les différentes applications peuvent être lancées soit à partir du panneau de commandes (en choisissant dans des menus analogues au menu "Démarrer" de Windows 95/98/ME/XP) situé en bas de l'écran soit à partir du menu transitoire de dtwm obtenu en cliquant sur le fond de l'écran. Il existe aussi un gestionnaire d'applications (visible sur la droite du panneau de commandes) dans lequel les applications sont rangées dans des dossiers ("Applications Bureau", "Outils Bureau", "Administration Système"...) et peuvent être lancées par un double clic. La commande dtcreate permet de créer une action (un raccourci vers le programme exécutable) et de lui associer une icône (au format X PixMap ) et les types de fichiers reconnus par l'exécutable pour rendre le programme accessible à partir du gestionnaire d'applications. Les icônes CDE doivent être de trois dimensions: 16×16 (nom de fichier .t.pm) 32×32 (nom de fichier .m.pm) 48×48 (nom de fichier .l.pm) et sont stockées dans les répertoires /etc/dt/appconfig/icons/, /usr/dt/appconfig/icons/ ou $HOME/.dt/icons. On trouvait aussi un format 24×24 (nom de fichier .s.pm) sur certaines versions de CDE, en particulier pour Solaris.
CDE possède un protocole "glisser/déposer" qui permet de prendre
un fichier avec dtfile et de l'ouvrir en le déposant sur une application. Ce protocole est utilisable par exemple par XEmacs. Le protocole ToolTalk initialement développé par Sun pour OpenWindows permet une communication interprocessus par échange de messages[25]. L'environnement CDE permet un certain degré d'internationalisation[26] via le mécanisme des "locales" d'Unix. En particulier, il est possible d'avoir
des menus en allemand, espagnol, français, grec, italien, suédois en plus de l'anglais. Depuis la version 2.4.0, ces menus sont encodés en UTF-8, seule l'aide dtinfo conserve l'encodage ISO/CEI 8859-1.Si le système dispose des polices adaptées (encodage eucTW,eucCN,eucKR,eucJP) des menus en chinois, coréen ou japonais sont également disponibles. Comme pour le grec ou le suédois, ces menus ne sont pas installés par défaut, mais peuvent être ajoutés à une installation CDE existante[27]. Comparé aux bureaux graphiques modernes, CDE consomme nettement moins d'espace disque et de mémoire[28]. Mais les applications ont des fonctionnalités plus limitées. Par exemple, dtmail ne peut pas accéder à des serveurs IMAP ou POP3 utilisant une encryption SSL ou TLS, et un programme séparé comme fetchmail (ou getmail) doit être utilisé pour récupérer les messages. Il n'existe pas non plus d'application pour connecter un ordinateur à un réseau mobile (mais il est évidemment possible d'utiliser une application en mode texte comme nmtui dans une fenêtre dtterm). Le panneau de commande n'a pas de zone de notification, et un programme comme stalonetray doit être utilisé pour afficher les applets telles que nm-applet ou blueman-applet. Enfin, dtfile ne permet pas de monter des disques amovibles dans l'arborescence Unix. Sur Solaris, cette fonction était remplie par le programme volcheck. Sur Linux, le programme dtvolman (appelé aussi xmsvm) permet de monter les disques amovibles[29], mais il doit être installé après le bureau CDE. Une autre solution[30] consiste à utiliser udevil pour monter automatiquement les disques.
Applications tierces
Le programme xImaging[31] permet de visionner des fichiers images au format JPEG ou PNG sur Linux ou FreeBSD. Il est compatible avec le protocole ToolTalk.
Le programme dtwinlist[32] (semblable à sdtwinlist pour Solaris) produit une liste des fenêtres actives sur le bureau CDE.
Le programme treeps[33] est un gestionnaire de processus
Le programme dtscan[34] est une interface pour SANE qui permet de numériser des documents
Le programme classic-colors[35] est un programme de dessin de type Microsoft Paint
Le programme XEmacs peut utiliser le protocole de glisser-déposer de CDE s'il a été compilé avec configure --with-dragndrop --with-cde
Les applications Motif en général fonctionnent avec le bureau CDE et prennent le style imposé par dtstyle
Les applications non-Motif (GTK, Qt, Xaw) fonctionnent aussi mais elles ne sont pas affectées par l'outil de style. Pour que les applications Qt ou GTK aient le même aspect que les applications CDE, un thème adapté doit être utilisé comme CDE for KDE[36] ou CDE/Motif theme[37] pour GTK.
Configuration
Le bureau CDE est configurable[38] au moyen de fichiers placés soit dans le répertoire personnel $HOME/.dt/types/ soit dans le répertoire global /etc/dt/appconfig/types/ . Dans le premier cas, la configuration n'affecte que l'utilisateur, dans le second elle s'applique globalement. Un fichier de configuration typique .dt est de la forme
DATA_ATTRIBUTES XFig_FILE_1
{
ACTIONS Open
ICON Dtdata
}
DATA_CRITERIA XFig_FILE_1
{
DATA_ATTRIBUTES_NAME XFig_FILE_1
MODE f
PATH_PATTERN *.fig
}
ACTION Open
{
ARG_TYPE XFig_FILE_1
TYPE MAP
MAP_ACTION XFig
LABEL Open
}
ACTION XFig
{
LABEL XFig
TYPE COMMAND
EXEC_STRING /usr/bin/xfig %Arg_1%
ICON xfig
DESCRIPTION Dessin technique
WINDOW_TYPE NO_STDIO
}
Le paragraphe ACTION XFig indique comment lancer l'application de dessin technique Xfig, donne une description succincte, indique que l'application n'a pas besoin d'entrée-sortie standard, et définit son icône dans le gestionnaire d'applications. Le paragraphe ACTION Open indique que les fichiers de type XFig_FILE_1 s'ouvrent avec XFig. Le paragraphe DATA_CRITERIA indique que ces fichiers ont l'extension .fig et le paragraphe DATA_ATTRIBUTES indique l'icône à utiliser par le gestionnaire de fichier pour les fichiers .fig et les actions qui peuvent être faites sur ces fichiers (ici Open). Ces fichiers de configuration peuvent être générés au moyen de l'application dtcreate. Le script desktop2dt peut générer un fichier .dt à partir d'un fichier .desktoputilisé par MATE ou KDE. Il génère aussi les icônes dans les trois tailles nécessaires.
Le gestionnaire de fenêtre se configure avec un fichier dtwmrcqui utilise la même syntaxe que mwmrcle fichier de configuration du gestionnaire de fenêtre Motif. Les applications CDE utilisent les ressources X Window System pour leur configuration. Le fond d'écran peut être configuré avec un fichier au format X Pixmap, et les couleurs utilisées pour le tableau de bord, le fond d'écran, la bordure des fenêtres actives ou inactives dans un fichier palette de couleurs. L'application dtstyle permet de choisir des fonds d'écran prédéfinis (pris dans le répertoire /usr/dt/backdrops) et des palettes prédéfinies (prises dans le répertoire /usr/dt/palettes).
Influence
L'environnement KDE (Kool Desktop Environment) tire son nom d'un jeu de mots sur CDE.
L'environnement Xfce s'inspirait de CDE dans ses premières versions[39].
Le projet OpenCDE (2010-2012) visait à créer un clone sous licence GPL de CDE. Il a été abandonné lorsque CDE est passé sous la licence LGPL.
Le projet NsCDE (Not-so-Common Desktop Environment) vise à reproduire l'apparence de CDE en utilisant le gestionnaire de fenêtre FVWM[40].