What is CDE?

Jon Trulson Peter Howkins

This is an import of the CDE 2.1 Datasheet from The Open Group, may contain traces of marketing speak.

The Common Desktop Environment (CDE) Release 2.1

The Common Desktop Environment (CDE) is an integrated graphical user interface for open systems desktop computing. It delivers a single, standard graphical interface for the management of data and files (the graphical desktop) and applications. This unified desktop for open systems helps get the work done rather than get in the way. CDE's primary benefits -- deriving from ease-of-use, consistency, configurability, portability, distributed design, and protection of investment in today's applications -- make open systems desktop computers as easy to use as PCs, but with the added power of local and network resources available at the click of a mouse. CDE maintains compatibility with thousands of existing UNIX® system-based applications.

CDE Delivers the Desktop and Manageability

CDE was designed with end users, software developers, and system administrators in mind. It gives end users a consistent, customizable, network-aware graphical user interface across workstations and PCs. CDE gives software developers a single set of graphical user interface (GUI) and desktop programming interfaces for all platforms that support the X Window System,TM simplifying the task of creating and distributing cross-platform applications. In addition, CDE gives system administrators a degree of control over the enterprise desktop computing environment that has been lost in the move from centralized to client-server or distributed computing.

CDE includes session management, window and workspace management, graphical file and object management, transparent data interchange across platforms and applications, multi-user collaboration, desktop productivity tools, a context-sensitive help system, an on-line documentation browser, network services, an application builder, industry-standard graphical user interface toolkits, and configuration and management utilities.

CDE incorporates the industry-standard Motif 2.1 application programming interface (API) and provides additional APIs for key desktop services, such as interapplication communication and group scheduling, across platforms. CDE also provides an integrated, multimedia email facility.

Most of the world's major open systems vendors have implemented CDE. The Open Group brand for CDE indicates products which conform to the CDE specifications. CDE enables you to consider the benefits of workstations from multiple vendors for use in networked distributed environments.

End-User Benefits

CDE provides an easy-to-use, visually attractive and inviting environment that is consistent with PC behavior. It brings the power of distributed systems to the end user's desk, yet masks the complexity of such environments. Using an object-oriented approach, CDE supports easy access to applications and data regardless of where they reside on the network, or on what open system platform.

The Common Desktop Environment is intended to

  • Reduce learning time by providing the same appearance and behavior across multiple operating systems
  • Increase productivity by helping system administrators and end users customize the desktop environment to fit individual or group work styles and preferences
  • Ease learning by providing a consistent, rich, and easily accessible context-sensitive on-line help system and on-line documentation for help whenever and wherever the user needs it.

CDE also

  • Provides a comprehensive set of productivity tools (multimedia-enabled mail, text editor, calendar, clock, icon editor, and others)
  • Runs most existing applications "as is", reducing the costs of moving to a new environment and helping to protect investments in software

Software Developer Benefits

CDE provides software developers with a consistent set of industry-standard APIs, including the X Window System, OSF/Motif, direct manipulation (drag-and-drop) protocols, and common services for on-line help and on-line documentation utilizing the same SGML format, application integration, and internationalization. By providing APIs that are common across multiple open systems hardware and software platforms, CDE allows developers to make efficient use of the time and money allocated for porting and testing.

The Common Desktop Environment is intended to

  • Reduce development and porting effort by providing consistent, standards-based APIs across multiple platforms
  • Enable application interoperability independent of the open hardware platform/operating system variant
  • Ease programming by providing convenience features that simplify common GUI coding tasks

System Administrator Benefits

CDE provides system administrators with a common method of installing and integrating applications on various platforms in a distributed, multi-user environment. It also provides a method for remote configuration and maintenance of an individual user's or a group of users' CDE environment. The Icon Editor, Action Creation Utility, and Application Gather and Integrate routines all simplify and automate the task of integrating applications onto specific platforms and into the network. Administrators also can define specific hosts to perform certain tasks without writing a script. Database applications, for example, can be directed to the database machines, and analytics to the mainframes, by setting up configuration files that are propagated automatically to all users.

The Common Desktop Environment is intended to

  • Reduce system administration for installing and updating systems on multiple platforms
  • Simplify management of workstations and applications in the networked environment
  • Permit open systems in the network, even those that do not have CDE installed, to participate as application servers

CDE Core Components

The CDE core components include

  • An XDMCP-compliant login manager (including PAM, a "pluggable authentication modules" architecture)
  • A session manager ("session" is the time period during which a user is logged on to a machine)
  • The CDE window manager (including the CDE FrontPanel and workspace manager)
  • An interapplication messaging system
  • A desktop tool set
  • Application development tools
  • Application integration components

Login Manager

The login manager provides a graphical logon screen and manages user access to the system. Its PAM technology permits organizations to use different authentication mechanisms on different machines without having to modify applications or login commands. Different authentication mechanisms (operating system or network) are encapsulated as dynamically loaded shared software modules. These modules can be installed by system administrators independently of applications, and executed by applications depending on the system configuration. The PAM technology provides a mechanism for giving CDE users a "single sign-on" for all the applications they may use -- whether those applications are local or out on the network. The login manager authenticates the user then executes a script that manages the remainder of CDE startup. The user's work environment is set up and control of the screen passes to the session manager.

Session Manager

The ability to take a snapshot of a user's work environment and restart the same environment from the snapshot is referred to as session management. The session manager takes these snapshots and keeps the full state of a session/environment including

  • The clients (applications) running, both open and iconified
  • The screen location and geometry of all clients
  • The current user preferences such as fonts and colors

CDE 2.1 supports the X11 Release 6 session management protocol. The Inter-Client Communications and Conventions Manual (ICCCM) session management protocol in CDE Release 1.X is still supported to ensure backward compatibility for older applications. CDE session management gives each application the opportunity to internally save its state so that session management encompasses the internal state of all applications running in the session.

The CDE session manager performs two major types of management. The default type is a current session -- an automatic snapshot taken when the user exits CDE. The snapshot is saved under the user's home directory and restarted when the user next logs in. The other type is a home session -- a fixed snapshot taken on demand. This allows a session to be set up and used upon login regardless of the session state when the user logs out. Home sessions can be set up for individual displays or all displays. This allows configuration of a unique home session for each different X device or workstation.

The session manager also starts the window manager and the interapplication messaging system.

Window Manager

The CDE window manager is the control mechanism for the visual user interface, or desktop, of a session. Applications are displayed on the desktop and their windows are managed by the window manager.

The major interactive component of the desktop is the FrontPanel. A user can manage all aspects of a session (except the initial login) through objects on the FrontPanel. The FrontPanel provides access to

  • The workspace manager
  • Graphical controls for launching applications
  • Slide-up menus (subpanels) containing additional graphical controls
  • Encapsulated X clients

The CDE window manager provides for the use of multiple workspaces, one at a time, during a user's session. A workspace is simply a set of applications that can be seen on the screen -- either running in an open window or iconified. Each workspace is self-contained and has no geometric relationship to other workspaces. The workspace manager provides a group of buttons, one per workspace, on the FrontPanel. When the user changes workspaces (by clicking on a workspace manager button), the window manager shows only the applications that are specified to be visible in the chosen workspace.

The graphical controls on the FrontPanel and in the slide-up menus can be configured to launch applications with a button click, or to launch applications when an object has been dragged to a control. The drag-and-drop functionality allows an intuitive visual means of data management and application control. The drag-and-drop facility is designed to support this function even if the file/object resides on other workstations in the network.

An encapsulated X client is a running application, for example, a clock or load meter, displayed in a portion of the FrontPanel.

Users have the flexibility to reconfigure the FrontPanel to suit their preferences, rather than having to work in a predefined manner. A user can interactively add or delete workspaces, can add or remove controls from subpanels, and can add or remove entire subpanels.

Messaging System

The CDE messaging system is an API to inter-process communication designed to permit cooperating applications to communicate easily. It facilitates seamless interaction between applications. The CDE messaging system is based on the ToolTalkTM message server.

The messaging system runs as a background process which passes messages from one application to another. Each client "registers" itself with the message process and can then receive messages.

The message system handles communications between different applications. For example, when dragging a file from the File Manager to the Mailer, the message system is used to communicate which file should be mailed and where to find the file in a file system. Obviously the messaging system is not automatic. Each application must be registered with the messaging system to receive messages, and any application sending or receiving messages must be built with the messaging system libraries.

Desktop Tool Set

CDE 2.1 includes a set of applications that enable users to become productive immediately.
Mail Icon

  • Mail Tool. Used to compose, view, and manage electronic mail through a GUI. Allows the inclusion of attachments and communications with other applications through the messaging system.

Calendar Icon

  • Group Calendar Manager. Used to manage, schedule, and view appointments, and create calendars. The calendar communicates with the mail tool via the CDE messaging system.

Editor Icon

  • Editor. A text editor with common functionality including data transfer with other applications via the clipboard, drag and drop, and primary and quick transfer.

  • Terminal Emulator. An xterm-like terminal emulator that supports ANSI X3.64-1979 and ISO 6429:1992(E) emulation.

  • Calculator. A standard calculator with scientific, financial, and logical modes.

File Icon

  • File Manager. An interface into a file system that includes graphical representation of all data objects, drag-and-drop functionality between objects and between cooperating client applications, and a general file-type association database.

Printer Icon

  • Print Manager. A graphical print job manager for the scheduling and management of print jobs on any available printer.

Browser Icon

  • On-line Documentation Browser. A context-sensitive graphical help and documentation search and retrieval system based on Standard Generalized Markup Language (SGML).

Application Development Tools

CDE includes two components for application development. The first is a shell command language interpreter that has built-ins for most X, Xm, Xt, and CDE functions. The interpreter is based on ksh93, and should provide anyone familiar with shell scripts the ability to develop X, Motif, and CDE applications.

To support interactive user interface development, developers can use the Motif Application Builder, a GUI front end for building Motif applications that generates C source code. The source code is compiled and linked with the X11 and Motif libraries to produce the executable binary.

Application Integration

CDE provides a number of tools to ease integration. The overall model of the CDE session is intended to allow a straightforward integration for virtually all types of applications. Motif and raw X (X, Xt, Xaw) applications require little integration.

The task of integrating in-house and third party applications into a desktop, often the most difficult aspect of a desktop installation, is simplified by CDE. The power and advantage of CDE functionality can be realized in most cases without recompiling applications.

For example, OpenLookTM applications can be integrated through the use of scripts that perform front-end execution of the application and scripts that perform pre- and post-session processing.

After the initial task of integrating applications so that they fit within session management, further integration can be done to increase their overall common look-and-feel with the rest of the desktop and to take advantage of the full range of CDE functionality. Tools that ease this aspect of integration include an Icon Editor used to create color and monochrome icons. Images can be copied from the desktop into an icon, or they can be drawn freehand.

The Action Creation Utility is used to create action entries in the action database. Actions allow applications to be launched using desktop icons. They ease administration by removing an application's specific details from the user interface.

The Application Gather and Application Integrate routines are used to control and format the Application Manager. They simplify installations so that applications can be accessible from virtually anywhere on the network.


CDE is more than an easy-to-use, user-friendly desktop interface. It is an environment -- made up of user tools, network tools, deskset applications, and development tools -- that is recognized as a standard by major open systems vendors and their customers.

CDE is an important step forward in the use of open systems for general-purpose desktop computing. CDE harnesses raw computing power and network savvy in one elegant, visually stunning, easy-to-use and simple-to-administer package. It is network, workgroup, and enterprise aware. It is configurable, customizable, consistent, and manageable. As such, it is the graphical user environment of choice for networked, multi-vendor, enterprise-wide computing.

CDE Origins

Introduced in 1995, CDE was jointly developed and licensed for use by Hewlett-Packard, IBM, Novell and SunSoft. Under the auspices of The Open Group Pre-structured Technology (PST) process for collaborative technology development, the original CDE founders, in conjunction with Hitachi, Fujitsu, Digital Equipment Corporation, and SCO (after purchasing the UNIX division of Novell), continued to support the evolution of CDE. This collaborative effort has provided for the maintenance of CDE and the development of its subsequent releases.
CDE Reference Material

The Common Desktop Technical library is the CDE documentation set for users, system administrators, and application developers.

This documentation is provided as part of the CDE source code. Published volumes and other media providing sets of documentation are part of The Open Group's Common Documentation initiative.

Details of pricing and availability can be found in our publications list.

Preliminary Documentation

This list is subject to change. Please consult our publications list for the definitive list.

  • CDE 2.1 - User's Guide (including CDE Glossary)
  • CDE 2.1 - Advanced User's & System Administrator's Guide
  • CDE 2.1 - Programmer's Overview
  • CDE 2.1 - Programmer's Guide
  • Help Systems Author's & Programmers Guide
  • CDE 2.1 - Tooltalk Messaging Overview
  • CDE 2.1 - Desktop Kornshell User's Guide
  • CDE 2.1 - Application Builder User's Guide
  • CDE 2.1 - Dtinfo User's Guide
  • CDE/MOTIF 2.1 - Style Guide
  • MOTIF 2.1 - User's Guide (including Glossary)
  • MOTIF 2.1 - Programmer's Guide
  • MOTIF 2.1 - Programmer's Reference V1
  • MOTIF 2.1 - Programmer's Reference V2
  • MOTIF 2.1 - Widget Writer's Guide

Style Icon

  • Style Manager. A graphical interface that allows a user to interactively set their preferences, such as colors, backdrops, and fonts, for a session.


Wiki: Home
Wiki: QandA

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks