Common Desktop Environment
Le Common Desktop Environment (CDE) est un environnement de bureau pour UNIX initialement annoncé[1] en juin 1993[2] par SunSoft, HP, IBM, et Unix System Laboratories basé sur X Window System et la bibliothèque Motif. Cet environnement s'inspire en partie[3] du système VUE ("Visual User Environment") développé par HP pour les stations de travail HP9000[4] 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[5] à partir de 1995. Elle est également adoptée par SCO, Hitachi, Fujitsu, DEC et Univel (filiale d'AT&T et Novell).
Développé par | The Open Group (1993-2012) CDE Project contributors (2012-) |
---|---|
Première version | |
Dernière version | 2.5.1 () |
Dépôt | https://sourceforge.net/p/cdesktopenv/code/ci/master/tree/ |
État du projet | actif |
Écrit en | C, C++ |
Interface | Motif |
Supporte les langages | dtksh |
Système d'exploitation | Unix, OpenVMS, Linux, BSD, Solaris et OpenIndiana |
Environnement | Unix, OpenVMS |
Langues | Anglais, Allemand, Espagnol, Français, Grec, Italien, Suédois, Japonais, Chinois, Coréen |
Type | environnement de bureau |
Licence | LGPL |
Documentation | https://sourceforge.net/p/cdesktopenv/wiki/Documentation/ |
Site web | www.opengroup.org/cde/ |
Chronologie des versions
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.02[6]
- 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 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'exploitation OpenVMS de DEC. En 1997, la version 2.1 de CDE, basée sur Motif 2.0 a été commercialisée[7]. 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.2.0b (version alpha du 5 août 2012)
- CDE 2.2.0b (version alpha du 6 septembre 2012)
- CDE 2.2.0c (version alpha du 5 octobre 2012)
- CDE 2.2.0d (version beta du 30 mai 2013)
- CDE 2.2.1a (version stable du 2 mars 2014)
- CDE 2.2.2 (version stable du 27 juillet 2014)
- CDE 2.2.3 (version stable du 10 mai 2015)
- CDE 2.2.4 (version stable du 19 juin 2016)
- CDE 2.3.0 (version stable du 7 juillet 2018)
- CDE 2.3.1 (version stable du 16 novembre 2019)
- CDE 2.3.2 (version stable du 14 janvier 2020)
- CDE 2.4.0 (version stable du 4 juillet 2021)[8]
- CDE 2.5.0 (version stable du 23 juillet 2022)[9]
- CDE 2.5.1 (version stable du 1er octobre 2022)[10]
CDE LGPL fonctionne sur Linux, FreeBSD (la version 2.3.1 est disponible[11] 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[12]. 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 imake
pour 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 dtwm
dessine 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[13].
- SparkyLinux est une distribution permet d'installer CDE depuis ses dépôts officiels[14].
- Arch Linux dispose d'un paquet AUR[15].
- Gentoo Linux dispose d'un ebuild [16].
- UbuntuCDE[17] 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.
- RhubarbPI[18] a produit des paquets CDE installables pour OpenSUSE, Raspbian, Fedora (GNU/Linux),Debian, Ubuntu, CentOS, FreeBSD, NetBSD et OpenBSD.
- Void Linux dispose d'un fichier xbpr[19]
Par ailleurs, le projet CDEbian[20] 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[21].
Description succincte
Applications du bureau
Cet environnement comprend[22]:
- 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) 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[23]. L'environnement CDE permet un certain degré d'internationalisation[24] 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[25]. Comparé aux bureaux graphiques modernes, CDE consomme nettement moins d'espace disque et de mémoire[26]. 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[27], mais il doit être installé après le bureau CDE. Une autre solution[28] consiste à utiliser udevil pour monter automatiquement les disques.
Applications tierces
- Le programme xImaging[29] 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[30] (semblable à sdtwinlist pour Solaris) produit une liste des fenêtres actives sur le bureau CDE.
- Le programme treeps[31] est un gestionnaire de processus
- Le programme dtscan[32] est une interface pour SANE qui permet de numériser des documents
- Le programme classic-colors[33] 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[34] ou CDE/Motif theme[35] pour GTK.
Configuration
Le bureau CDE est configurable[36] 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 .desktop
utilisé 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 dtwmrc
qui utilise la même syntaxe que mwmrc
le 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[37].
- 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[38].
Voir aussi
Références
- Réponses aux questions les plus courantes sur CDE 1.0
- Présentation de CDE (École Polytechnique Fédérale de Lausanne)
- Solaris CDE: Guide de l'utilisateur
- Solaris CDE: Guide avancé
- Documentation en anglais de CDE LGPL
- Olivier Fourdan "Xfce: A Lightweight Desktop Environment." Annual Linux Showcase & Conference. 2000.
- Jeff Tranter, Retrocomputing: Motif and CDE (4 juin 2014).
- Brendan Gregg, Dtksh Demos (2004)
- Thom Holwerda, Common Usability Terms: pt. VII: CDE OS News (25 novembre 2007)
Bibliographie
- Katherine Haramundanis Exploring workstation applications with CDE and Motif (Digital Press, 1996)
- Antonino Mione CDE and Motif : a practical primer (Prentice Hall PTR, 1998)
- Scott Isensee Cosy with Cose: A Guide to CDE (Pearson Education Canada, 1999)
Notes et références
- Adrian Booth "New COSEy alliance formed" AUUGN vol. 14 no 2 p. 10, avril 1993
- Scott Mace, "X/Open group to distribute common Unix proposal this week", Infoworld p. 20 12 juillet 1993
- HP Journal: Numéro Spécial "Common Desktop Environment" p. 6--72 (avril 1996)
- HP Visual User Environment 3.0 User's Guide
- "Common Desktop Environment (CDE) for Unix Systems Completed", Business Wire 14 mars 1995
- Novell, Inc. Novell Announces Common Desktop Environment (CDE) 1.0 Solution For UnixWare 2 Customers (mai 1995)
- The Open Group Announces Common Desktop Environment 2.1
- Jon Trulson CDE 2.4.0 released
- « [cdesktopenv-devel] CDE 2.5.0 has been released | CDE - Common Desktop Environment », sur sourceforge.net (consulté le )
- « [cdesktopenv-devel] CDE 2.5.1 is available | CDE - Common Desktop Environment », sur sourceforge.net (consulté le )
- « FreshPorts -- x11/cde: Common Desktop Environment », sur www.freshports.org (consulté le )
- « CDE - Common Desktop Environment / Code / Merge Request #21: Added PAM support to CDE. (merged) », sur sourceforge.net (consulté le )
- (en) « CDE for CentOS 8 »
- « Dépôt Sparkylinux pur CDE »
- « Package Details: cdesktopenv 2.3.2-1 »
- « 505542 – cde-base/cde - the Common Desktop Environment », sur bugs.gentoo.org (consulté le )
- « Dépôt GitHub d'Ubuntu CDE »
- « rhubarb pi - Browse Files at SourceForge.net », sur sourceforge.net (consulté le )
- johna23-lab, cde-for-linux-void, (lire en ligne)
- (en) « page du projet CDEbian sut GitHub », sur github.com,
- « NuTyX GNU/Linux », sur www.nutyx.org (consulté le )
- Digital Equipment Corp. (1998) Introducing the Common Desktop Environment, CDE for Digital Unix 4.0
- « CDE Infrastructure | Linux Journal », sur www.linuxjournal.com (consulté le )
- « Chapitre 18 Configuration de sessions de bureau localisées (Solaris CDE - Guide avancé de l'utilisateur et de l'administrateur système) », sur docs.oracle.com (consulté le )
- Edmond Orignac, edorig/cde-utf8, (lire en ligne)
- Comparaison des espaces disque, espace mémoire utilisés par les différents bureaux graphiques
- page Sourceforge de xmsvm/dtvolman
- « Common Desktop Environment », sur myria.math.aegean.gr (consulté le )
- « XImaging », sur fastestcode.org (consulté le )
- « fastestcode.org - Archive », sur fastestcode.org (consulté le )
- « treeps 1.2.4 - Download, Browsing & More | Fossies Archive », sur fossies.org (consulté le )
- (en) « idunham/dtextra », sur GitHub (consulté le )
- Justin Meiners, Classic Colors, (lire en ligne)
- (en) « CDE for KDE », sur store.kde.org (consulté le )
- (en) « CDE / Motif theme », sur www.gnome-look.org (consulté le )
- Peter Collinson, « Customizing CDE », Sun Expert, , p. 30 (lire en ligne)
- « Vieux geek, épisode 48 : 1999-2003, quand Xfce clonait l’apparence de CDE. – Le Weblog de Frederic Bezies » (consulté le )
- (en) Liam Proven in Prague, « Battle of the retro Unix desktops: NsCDE pitted against CDE », sur www.theregister.com (consulté le )