You've already forked ziomekos
192 lines
4.8 KiB
Markdown
192 lines
4.8 KiB
Markdown
# 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.
|