# wdm-1.28 ## Introduction to WINGs Display Manager The WDM package contains a display manager based on WINGs toolkit from Window Maker. This package is known to build and work properly using a ZiomekOS 26.9.26 platform. ## WDM Package Information * Download (HTTP): http://deb.debian.org/debian/pool/main/w/wdm/wdm_1.28.orig.tar.gz * Download MD5 sum: `97d75a5be4fe1d2e232d2a39106a972e` * Download size: 400kB ## Additional Download ### Debian package source tarball This download is needed for patches. Download: http://deb.debian.org/debian/pool/main/w/wdm/wdm_1.28-27.debian.tar.xz ## WDM Dependencies ### Required Window Maker 0.96.0 (for WINGs), xdm 1.1.17 (for up to date configuration), BLFS Boot Scripts 20250225 (for xdm boot script) ## Installation of WDM Extract patches 1 to 11 from the Debian source tarball into `patches` directory. Apply patches: ``` patch -Np1 -i ../patches/01_kfreebsd.patch patch -Np1 -i ../patches/02_fix_login_overflow.patch patch -Np1 -i ../patches/03_autoconf.patch patch -Np1 -i ../patches/04_manpage_indent.patch patch -Np1 -i ../patches/05_french_translation_name.patch patch -Np1 -i ../patches/06_login_composite.patch patch -Np1 -i ../patches/07_ld_no_add_needed.patch patch -Np1 -i ../patches/08_do_not_use_dev_mem.patch patch -Np1 -i ../patches/09_pam_session.patch patch -Np1 -i ../patches/10_spelling_fixes.patch patch -Np1 -i ../patches/11_usr_bin_X11_removal.patch patch -Np1 -i ../patches/12_make_it_compile_on_lfs.patch ``` Since `configure.ac` has been changed, you need to rebuild `configure`: ``` autoreconf -i ``` Install WDM by running the following commands: ``` ./configure \ --prefix=/usr \ --datadir=/usr/share \ --sysconfdir=/etc/X11 \ --localstatedir=/var/lib/wdm \ --with-gfxdir=/usr/share/pixmaps \ --enable-shadow \ --enable-pam \ --enable-aafont \ --with-pamdir=/etc/pam.d \ --with-wdmdir=/etc/X11/wdm \ --with-nlsdir=/usr/share/locale && make ``` This package does not come with a test suite. Now, as the _root_ user: ``` make install ``` ## Configuring WDM **NOTE**: All the actions in this section must be executed as _root_. First, you need to update WDM config to make it inline with modern Xorg. I found the best way to do it, is just use what's delivered OOTB by xdm: ``` cp -v /etc/X11/xdm/{GiveConsole,TakeConsole,Xaccess,Xreset,Xresources,Xservers,Xsession,Xsetup_0,Xstartup,Xstartup} /etc/X11/wdm/ ``` xdm starts `xconsole` in `Xsetup_0`, which means an ever-present window on your desktop. You may want to comment out that line :). Next, you need to create WDM's `authdir`: ``` install -m0700 -o root -g root /etc/X11/wdm/authdir ``` You'll also need PAM configuration for WDM: ``` cat > /etc/pam.d/wdm << "EOF" #%PAM-1.0 # Block login if they are globally disabled auth required pam_nologin.so # Load environment from /etc/environment and ~/.pam_environment auth required pam_env.so # Use /etc/passwd and /etc/shadow for passwords auth required pam_unix.so # Check account is active, change password if required account required pam_unix.so # Allow password to be changed password required pam_unix.so # Setup session session required pam_unix.so session optional pam_systemd.so EOF ``` Finally, install `.xsession` for _root_ and make it executable: ``` cat > /root/.xsession << "EOF" #!/usr/bin/env /bin/bash exec /usr/bin/twm EOF ``` ``` chmod 755 /root/.xsession ``` ## Boot Script **NOTE**: All the actions in this section must be executed as _root_. To start WDM automatically when the system is switched to runlevel 5, you'll need to install the `/etc/rc.d/init.d/xdm` script and the `/etc/sysconfig/xdm` configuration file included in the _blfs-bootscripts-20250225_ package: ``` make install-xdm ``` Adjust the `/etc/sysconfig/xdm` to use WDM: ``` cat > /etc/sysconfig/xdm << "EOF" # Which display manager to use (full path): # DISPLAY_MANAGER=/usr/sbin/gdm # DISPLAY_MANAGER=/usr/sbin/lxdm DISPLAY_MANAGER=/usr/bin/wdm # DISPLAY_MANAGER=/usr/bin/sddm # Options to pass to the display manager: DM_OPTIONS="" EOF ``` ## Starting WDM WDM can be started from the command line as the root user: ``` telinit 5 ``` ## Starting WDM on boot To start WDM on boot, adjust `/etc/inittab` to set _5_ as the default runlevel: ``` id:5:initdefault: ``` ## Debugging WDM WDM is a pretty old piece of software, largely outdated in the context of a modern system like LFS. As such, there can be potential issues. By default, WDM logs to `/var/log/xdm-errors.log` and that's the first place to look for issues. In any case, if you need to validate your display manager setup, you can adjust `/etc/sysconfig/xdm` to switch to xdm and validate your overall environment is sane. For the (default) _NoChange_ WM choice, each user will need an `.xsesion` file in their home directory, to start the selected window manageger or desktop environment.