CDE-2.5.3

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 14. Common Desktop Environment

- Prev

  Common Desktop Environment

- Next

  Hyprland

- Up
- Home

# CDE-2.5.3

## Introduction to CDE

The CDE package contains the Common Desktop Environment, a Motif-based desktop environment commonly associated with commercial UNIX workstations.

### Warning

CDE has had quite a few known security vulnerabilities in it, and it is likely that several more unknown ones still exist. You REALLY do not want to expose a CDE system to the public Internet. In fact, there are five known security vulnerabilities in this release of CDE which still have no fixes.

Also, you should think strongly about enabling the dtspcd and rpc.ttdbserver daemons. Unless you know what they do, you almost certainly don't need them, and they will increase your machine's attack surface.

- Download: https://downloads.sourceforge.net/project/cdesktopenv/src/cde-2.5.3.tar.gz

### CDE Dependencies

#### Required

FreeType, ksh-1.0.10, libjpeg-turbo, libtirpc, libutempter-1.2.3, libXp-1.0.4, Linux-PAM, lmdb, Motif-2.3.8, ncompress-5.0, OpenSP, rpcbind, rpcsvc-proto, xbitmaps, Xorg Applications, Xorg Legacy, and Xorg Libraries

## Installation of CDE

Fix `nullptr` being used incorrectly:

    sed -e 's/\, \*nullptr//g'     \
        -e 's/\&nullptr/nullptr/g' \
        -i programs/dtksh/ksh93/src/cmd/ksh93/sh/xec.c

Install CDE by executing the following commands:

    ./autogen.sh                                          &&
    CFLAGS+=" -std=gnu17 -Wno-incompatible-pointer-types" \
    ./configure --prefix=/usr                             \
                --sysconfdir=/etc                         \
                --disable-static                          &&
    make

### Note

This package will print escape sequences during the build process which will cause the terminal to stop echoing back characters. To work around this problem, you need to blindly type in reset after the compilation. Your terminal will work properly again once the screen has been cleared.

Now as the `root` user:

    make install &&
    install -vDm644 contrib/desktopentry/cde.desktop -t /usr/share/xsessions/

## Configuring CDE

### Systemd Unit

To automatically start dtlogin (CDE's display manager) when the PC is rebooted, install the dtlogin systemd unit provided by this package by executing the following commands as the `root` user:

    install -vdm755 /etc/default /usr/lib/tmpfiles.d &&
    install -vDm644 contrib/rc/systemd/dtlogin.service -t /usr/lib/systemd/system/ &&
    systemctl enable dtlogin.service

## Contents

Installed Programs: Xsession, dsdm, dtaction, dtappgather, dtappintegrate, dtbuilder, dtcalc, dtchooser, dtcm, dtcm_delete, dtcm_editor, dtcm_insert, dtcm_lookup, dtcodegen, dtcreate, dtdbcache, dtdocbook2infolib, dtdocbook2man, dtdocbook2sdl, dtdspmsg, dterror.ds, dtexec, dtfile, dtfile_copy, dtfile_error, dtfplist, dtgreet, dthello, dthelp_ctag1, dthelp_htag1, dthelp_htag2, dthelpgen, dthelpgen.dtsh, dthelpprint, dthelpprint.sh, dthelptag, dthelpview, dticon, dtimsstart, dtinfo, dtksh, dtlogin, dtlp, dtlpsetup, dtmail, dtmailpr, dtopen, dtopen_image (link to dtopen), dtopen_pdf (link to dtopen), dtopen_ps (link to dtopen), dtopen_video (link to dtopen), dtpad, dtpdm, dtpdmd, dtprintegrate, dtprintinfo, dtscreen, dtsearchpath, dtsession, dtsession_res, dtspcd, dtsrclean, dtsrcreate, dtsrdbrec, dtsrdelete, dtsrhan, dtsrindex, dtsrkdump, dtsrload, dtstyle, dtterm, dttypes, dtwm, huffcode, rpc.cmsd, rpc.ttdbserver, tt_type_comp, ttauth, ttcp, ttdbck, ttmv, ttrm, ttrmdir, ttsession, ttsnoop, tttar, and tttrace
Installed Libraries: libcsa, libDtHelp, libDtMmdb, libDtMrm, libDtPrint, libDtSearch, libDtSvc, libDtTerm, libDtWidget, libDtXinerama, and libtt
Installed Directories: /etc/cde, /usr/dt, /usr/include/csa, /usr/include/Dt, /usr/include/Tt, /usr/lib/cde, /usr/lib/dtksh, /usr/libexec/cde, /usr/share/cde, and /var/spool/calendar

### Short Descriptions

Xsession | is the startup script for CDE
dsdm | is the Drop Site Database Manager
dtaction | invokes a XCDE action
dtappgather | gathers application files for presentation by the Application Manager
dtappintegrate | integrates applications into XCDE
dtbuilder | is the CDE Application Builder
dtcalc | is the CDE Calculator
dtchooser | is the CDE dtlogin screen chooser utility
dtcm | is the CDE Calendar Manager
dtcm_delete | deletes appointments from the calendar database
dtcm_editor | is the CDE standalone appointment editor
dtcm_insert | inserts appointments into the calendar database
dtcm_lookup | looks up appointments from the calendar database
dtcodegen | generates code from a XCDE application building services project or module file
dtcreate | is the CDE Action and Datatype creation client
dtdbcache | manages the caches for CDE action and datatypes definitions
dtdocbook2infolib | is a tool used to create and modify hypertext information libraries
dtdocbook2man | converts a DtDocbook file into manpage format
dtdocbook2sdl | converts a DtDocbook file into SDL format
dtdspmsg | displays a selected message from a message catalog
dterror.ds | is a helper script for error notices and dialogs
dtexec | executes a command-based action
dtfile | is the CDE File Manager
dtfile_copy | is the CDE File Manager copy utility
dtfile_error | is the CDE File Manager error dialog script
dtfplist | prints the hierarchy of the front panel components
dtgreet | is the CDE dtlogin login screen display utility
dthello | is the CDE dtlogin transitional greeting utility
dthelp_ctag1 | contains the first pass for formal SGML parsing of HelpTag source
dthelp_htag1 | contains the first pass for shorthand parsing of HelpTag source
dthelp_htag2 | contains the second pass for parsing of HelpTag source
dthelpgen | generates a top‐level help browser volume
dthelpgen.dtsh | is a helper script for dthelpgen that displays a "working" dialog
dthelpprint | is a print utility for DtHelpDialog and DtHelpQuickDialog widgets
dthelpprint.sh | is a helper script for dthelpprint that actually prints the file
dthelptag | compiles CDE Help source documents into runtime Help volumes
dthelpview | views a CDE help volume
dticon | is the CDE Icon Editor
dtimsstart | launches an input method server
dtinfo | is the CDE Information Manager
dtinfo_start | is a helper script for dtinfo
dtksh | is a shell interpreter with support for many X, Xt, Xm and XCDE functions
dtlogin | is the CDE login service
dtlp | gathers lp arguments and prints a file
dtlpsetup | is a wrapper around dtlp
dtmail | is the CDE mailer
dtmailpr | is the email message print filter
dtopen | provides a multimedia viewing interface
dtopen_image | is a symlink pointing to dtopen
dtopen_pdf | is a symlink pointing to dtopen
dtopen_ps | is a symlink pointing to dtopen
dtopen_video | is a symlink pointing to dtopen
dtpad | is the CDE Text Editor
dtpdm | is the Print Dialog Manager, which provides printer-specific GUIs
dtpdmd | is the Print Dialog Manager daemon
dtprintegrate | creates the configuration files for the printer components
dtprintinfo | is the CDE Print Viewer
dtscreen | contains the CDE animated screensavers
dtsearchpath | sets desktop search paths
dtsession | is the CDE Session Manager
dtsession_res | is the CDE dtsession resource load utility
dtspcd | is the CDE Subprocess Control Service
dtsrclean | compresses d99 files
dtsrcreate | creates and initializes a DtSearch database
dtsrdbrec | produces a DtSearch database configuration and status report
dtsrdelete | deletes items from a DtSearch database
dtsrhan | creates a DtSearch fzk file
dtsrindex | loads an inverted index for document objects
dtsrkdump | produces reports about DtSearch database keys
dtsrload | loads document objects into a database
dtstyle | is the CDE Style Manager
dtterm | is the CDE terminal emulator
dttypes | generates a list of action and datatype definitions
dtwm | is the CDE Window Manager
huffcode | creates optimized DtSearch compression/decompression tables
rpc.cmsd | is the calendar manager service daemon
rpc.ttdbserver | is the ToolTalk database server
tt_type_comp | compiles ToolTalk otypes and ptypes
ttauth | is the ToolTalk authority file utility
ttcp | copies files and informs the ToolTalk service
ttdbck | displays, checks, or repairs ToolTalk databases
ttmv | moves or renames files and informs the ToolTalk service
ttrm | removes files or directories and informs the ToolTalk service
ttrmdir | removes empty directories and informs the ToolTalk service
ttsession | is the ToolTalk message server
ttsnoop | sends and receives ToolTalk messages interactively
tttar | processes files and ToolTalk objects in an archive
tttrace | traces ToolTalk calls and messages
`libcsa` | is a helper library for dtcm
`libDtHelp` | contains the CDE online help functions
`libDtMmdb` | contains the CDE multimedia database functions
`libDtMrm` | contains the UIL Resource Manager functions
`libDtPrint` | contains print-specific GUIs
`libDtSearch` | contains the CDE search functions
`libDtSvc` | contains the CDE service functions for desktop management
`libDtTerm` | is a helper library for dtterm
`libDtWidget` | contains the CDE widgets
`libDtXinerama` | is a Xinerama wrapper for CDE
`libtt` | contains the ToolTalk routines

- Prev

  Common Desktop Environment

- Next

  Hyprland

- Up
- Home