PC-BSD Thin Client Server Documentation
This document provides documentation and help for system administrators who wish to use a PC-BSD system as a Thin Client Server.
Converting a PC-BSD system into a working thin-client server is relatively simple. First, you will need an install of PC-BSD 7.x or higher, with dual network cards. One NIC should be connected to the outside world, while the other should be connected to a private LAN for the thin-clients to PXE boot from.
Once your system has the NICs setup properly, use Software Manager to install the PBI.
During the installation, the only question asked will be to identify which NIC you want to run DHCPD on. Select the NIC which is connected to your private network for PXE booting. After the install has finished, simply reboot the server for the changes to take effect. That's it! Any systems which are PXE capable should now boot up, and connect to the PC-BSD desktop via remote XDMCP.
Note: At install time, the user "pxeboot" will be created with the default password "thinclient". This username / password will be used to save working Xorg configuration files for each of the thin-clients you wish to configure. It is highly recommended that you change this password right away.
While the initial setup of the Thin Client Server is relatively simple, you may wish to further customize the system after installation. This can be done by editing several of the configuration files used for operation.
This file is used to control the dhcpd and PXE boot configuration. You may change the IP configuration of dhcpd or increase the range of addresses and more in this file. More information about this may be found here: 
WARNING: Changing this file is risky, and could break your PXE setup. If you change the network addresses, you may also need to modify /etc/exports, /etc/hosts.allow and others to reflect your changes for NFS mounting.
This file is used by KDM to adjust the login manager. Most of the variables are well documented, and you should take a look at them if you want to adjust any aspect of the X login screen that the client is presented with.
Using the Thin Client Server is relatively easy. After a successful installation and reboot of the server, DHCPD should now be running on the NIC you specified during the installation. Simply connect a hub/switch to this NIC and connect a PXE capable system into the switch. When you boot the Thin Client system, PXE should obtain an IP address and begin to load PC-BSD.
After the boot process is finished, the client will be brought to this prompt:
No saved xorg-config for this MAC: <Mac Address> Do you wish to setup a custom xorg.conf for this system? (Y/N)
If you wait 10 seconds, this message will timeout, and the client will bring up X in 1024x768 mode. However, if this isn't the resolution you wish to use, you may type "Y" and hit enter to bring up the Xorg Configuration screen. In this menu, you will be able to setup your own custom xorg.conf file, auto-detect settings, and test out your new configuration.
After you have tested and are pleased with the Xorg configuration for this client, you may now choose "Save working config" to send this configuration to the Server. You will be prompted for the password to the "pxeboot" user, which defaults to "thinclient", but you should have changed by this point. The file will be saved by the clients MAC address in /home/pxeboot/mnt/xorg-config/. Now when you reboot the client, it will automatically startup using this saved xorg.conf file and bring the system to the login screen.
Q. Where is the client's boot environment stored?
A. The clients boot environment is located in /home/pxeboot. This is mounted read-only during the PXE boot process to allow the client to bootup, and then bring up an XDCMP connection to the server.
Q. Where are the saved xorg.conf files for clients located?
A. The clients xorg.conf files are saved in /home/pxeboot/mnt/xorg-config. They are saved by mac address of the client, I.E <mac>.conf
Having trouble or want to help us with the Thin Client Server PBI? Please feel free to contact us on the PBI Developers Mailing List