I managed to pick up some old HP Entria C3230A X terminals from a friend who works at uni.. They slow and only do 8 bit colour but you can check email and the like just fine with them. (Back in my day the 8 bit colour was luxury :)
The X terminal gets a DHCP lease and uses TFTP to fetch it's server image from the nominated file server (or the DHCP server if one isn't specified) it can also be configured manually if you really want. The basic TFTP server in FreeBSD works fine, I have the following entry in /etc/inetd.conf
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /usr/local/share/Entria
The /usr/local/share/Entria directory contains the X server, fonts etc.. I downloaded it from here and then did the following..
mkdir /tmp/entria cd /tmp/entria tar zxf ~/generic.img.gz cd /usr/local/share/Entria tar xvf /home/doconnor/Enware/unpacked/HPXT-ENTRIA tar xvf /home/doconnor/Enware/unpacked/HPXT-ENVIZEX tar xvf /home/doconnor/Enware/unpacked/HPXT-SUPPL tar xvf /home/doconnor/Enware/unpacked/HPXT-TOKN tar xvf /home/doconnor/Enware/unpacked/HPXT-VG tar xvf /home/doconnor/Enware/unpacked/HPXT-MPEG tar xvf /home/doconnor/Enware/unpacked/HPXT-AUDIO tar xvf /home/doconnor/Enware/unpacked/HPXT-FLOPPY tar xvf /home/doconnor/Enware/unpacked/HPXT-FORMAT tar xvf /home/doconnor/Enware/unpacked/HPXT-SCANNER tar xvf /home/doconnor/Enware/unpacked/HPXT-NFS tar xvf /home/doconnor/Enware/unpacked/HPXT-CDE tar xvf /home/doconnor/Enware/unpacked/HPXT-CLIENTS tar xvf /home/doconnor/Enware/unpacked/HPXT-R4CLNTS tar xvf /home/doconnor/Enware/unpacked/HPXT-DYNKEY tar xvf /home/doconnor/Enware/unpacked/HPXT-XLOCK tar xvf /home/doconnor/Enware/unpacked/HPXT-XTOUCH tar xvf /home/doconnor/Enware/unpacked/HPXT-VT320 tar xvf /home/doconnor/Enware/unpacked/HPXT-XCLOCK tar xvf /home/doconnor/Enware/unpacked/HPXT-ASIAN tar xvf /home/doconnor/Enware/unpacked/HPXT-HP8FONTS tar xvf /home/doconnor/Enware/unpacked/HPXT-ISOFONTS tar xvf /home/doconnor/Enware/unpacked/HPXT-MISCFONT tar xvf /home/doconnor/Enware/unpacked/HPXT-DOC tar xvf /home/doconnor/Enware/unpacked/HPXT-SOURCES ln -s usr/lib/X11/700X .
By default xdm is configured to deny XDMCP and refuse requests from remote terminals. To enable it you need to edit /usr/X11R6/lib/X11/xdm/xdm-config and comment out the line
DisplayManager.requestPort: 0This allows xdm to respond to requests, you then need to get it to allow XDMCP by editing /usr/X11R6/lib/X11/xdm/Xaccess and adding the following lines..
* #any host can get a login window * CHOOSER BROADCAST #any indirect host can get a chooserMake sure you [re]start xdm so it re-reads its config file.
Power the terminal on and it should now boot up, go through it's POST, get a lease and fetch the requisite files to start (note that the extension loader part takes ages to run..) it will then try and find xdm sessios using XDCMP. You may need to adjust the configuration to use XDMCP correctly (and pick the right XDMCP host)