Le Common Desktop Environment (CDE) est un environnement de bureau pour UNIX initialement annoncéAdrian Booth "New COSEy alliance formed" AUUGN vol. 14 , avril 1993 en juin 1993Scott Mace, "X/Open group to distribute common Unix proposal this week", Infoworld 12 juillet 1993 par SunSoft, HP, IBM, et Unix System Laboratories basé sur X Window System et la bibliothèque Motif. Cet environnement s'inspire en partieHP Journal: Numéro Spécial "Common Desktop Environment" (avril 1996) du système VUE ("Visual User Environment") développé par HP pour les stations de travail HP9000HP Visual User Environment 3.0 User's Guide utilisant le système d'exploitation HP-UX, empruntant aussi au "Common User Access Model" d'IBM. La première version, CDE 1.0 utilise Motif 1.2, et est disponible. à partir de 1995. Elle est également adoptée par SCO, Hitachi, Fujitsu, DEC et Univel (filiale d'AT&T et Novell).

Plateformes de référence Les plateformes de référence pour CDE 1.0 étaient: HP 9000/7xx sous HP-UX 10.01 IBM RS/6000 sous AIX 4.1.3 Intel 80486/Pentium sous UnixWare 2.02Novell, Inc. Novell Announces Common Desktop Environment (CDE) 1.0 Solution For UnixWare 2 Customers (mai 1995) Sun SPARCstation sous Solaris 2.4 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 ) utilisable avec les autres distributions Linux. Outre les systèmes Unix, CDE était aussi un environnement de bureau standard dans le système d'exploitation OpenVMS de DEC. En 1997, la version 2.1 de CDE, basée sur Motif 2.0 a été commercialisée.. 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 , 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.2.0b (version alpha du ) CDE 2.2.0b (version alpha du ) CDE 2.2.0c (version alpha du ) CDE 2.2.0d (version beta du ) CDE 2.2.1a (version stable du ) CDE 2.2.2 (version stable du ) CDE 2.2.3 (version stable du ) CDE 2.2.4 (version stable du ) CDE 2.3.0 (version stable du ) CDE 2.3.1 (version stable du ) CDE 2.3.2 (version stable du ) CDE 2.4.0 (version stable du ) Jon Trulson CDE 2.4.0 released CDE 2.5.0 (version stable du ). CDE 2.5.1 (version stable du ). CDE 2.5.2 (version stable du ) CDE 2.5.3 (version stable du ).

CDE LGPL fonctionne sur Linux, FreeBSD (la version 2.3.1 est disponible. 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. À partir de la version 2.4.0, CDE utilise les Pluggable Authentication Modules pour l'authentification des utilisateurs sur Linux et NetBSD. Un support préliminaire pour les processeurs RISC-V et la bibliothèque C µsl a également été introduit. Jusqu'à la version 2.4.0 incluse, la compilation de CDE utilisait

imake, qui a été remplacé par Autotools dans les versions actuelles 2.5.x . Le support EWMH a été amélioré et les versions 2.5.x permettent à des applications plein-écran comme MPlayer et ses dérivés (mpv ou celluloid) ou VLC media player de recouvrir entièrement l'écran. Les versions 2.5.1 et suivantes ne sont plus compatibles avec HP-UX, mais elles utilisent une version plus récente du Korn shell comme base pour dtksh et améliorent l'internationalisation et le support pour NetBSD.

Portages vers d'autres OS

SparkyLinux est une distribution permet d'installer CDE depuis ses dépôts officiels. Arch Linux dispose d'un paquet AUR.. Gentoo Linux dispose d'un ebuild.. Roger Brown. a produit des paquets CDE installables pour OpenSUSE, Raspbian, Fedora (GNU/Linux),Debian, Ubuntu, CentOS, FreeBSD, NetBSD et OpenBSD pour diverses architectures comme ARM, RISC-V, X86 64, Intel 32-bits. Il existe un script Slackbuild pour Slackware Void Linux dispose d'un fichier xbpr

vignette|Capture d'écran du bureau de CDEbian Par ailleurs, le projet CDEbian 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.

Description succincte

Applications

Applications du bureau Cet environnement comprendDigital Equipment Corp. (1998) Introducing the Common Desktop Environment, CDE for Digital Unix 4.0:

le gestionnaire de connexion dtlogin le gestionnaire de session dtsession le gestionnaire de fenêtres dtwm 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 appelés tiroirs) 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 son 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 et XNEdit. Le protocole ToolTalk initialement développé par Sun pour OpenWindows permet une communication interprocessus par échange de messages. L'environnement CDE permet un certain degré d'internationalisation 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. Comparé aux bureaux graphiques modernes, CDE consomme nettement moins d'espace disque et de mémoire., mais ses 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., mais il doit être installé après le bureau CDE. Une autre solution consiste à utiliser udevil pour monter automatiquement les disques.

Applications tierces

Le programme xImaging. 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. (semblable à sdtwinlist pour Solaris) produit une liste des fenêtres actives sur le bureau CDE. Le programme treeps. est un gestionnaire de processus Le programme dtscan est une interface pour SANE qui permet de numériser des documents Le programme classic-colors 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 ou CDE/Motif theme pour GTK.

Configuration Le bureau CDE est configurable 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 }