This section details the procedure for setting up and using XDMCP.
I have tested the setup running an X Server that listens to an XDMCP session on Red Hat 6.0, 6.2 and Red Hat 7.0. I have not had a chance to test it on any other Linux flavors. If you have successfully setup one other than Red Hat platform, please share it with us. My server hardware is an IBM PC clone running an Intel Pentium II 400 Mhz with 128 MB memory and 30 MB ATA-66 Hard Drive. I use a 3COM 10/100 Fast Ethernet (3C509B) NIC. I setup the X Server to accept 6 session clients.
I am using Hummingbird Exceed 6.1 with Service Pack 1 on Windows 98 SE, Windows NT 4.0 and Windows 2000 Pro.
To prepare your X Server for XDMCP session, you need to make sure the following are properly installed:
Install your Linux OS. In my case, I installed Red Hat 6.2 (Custom Installation).
Setup your Networking. To test it out, ping and telnet are good comamnds to use to determine if your network works.
Setup X. Do not setup with a resolution higher than what the clients are able to use for their display. Test the X Server by typing either startx or telinit 5. Make sure X is running properly.
Creates the necessary user accounts (and associated groups) you will need for client access via the XDMCP client.
These are steps I used to setup the Server for accepting XDMCP requests:
Modify /etc/rc.d/init.d/xfs and make the following changes. Change all (this is where the Font Server port):
daemon xfs -droppriv -daemon -port -1 |
to:
daemon xfs -droppriv -daemon -port 7100 |
In /etc/X11/xdm/Xaccess, change (this allow all hosts to connect):
#* # any host can get a login window |
to:
* # any host can get a login window |
Edit /etc/X11/gdm/gdm.conf. This activates XDMCP, causing it to listen to the request. Change this:
[xdmcp] Enable=0 |
to:
Enable=1 |
Make sure "Port=177" is at the end of this block.
Now edit /etc/inittab and change the following line:
id:3:initdefault: |
to:
id:5:initdefault: |
Before changing this line, you can use the telinit command to test prior to modifying the line. Use either telinit 3 to set to level 3, or telinit 5 to set to level 5, graphics mode (you can issue this command on the second machine that telnets into this server).
Change the XServers file located at /etc/X11/XServers by adding these lines to get 4 xdm (or gdm) sessions running so that 4 different users can log in (you can add more depending on how powerful your server is).
:0 A local /usr/X11R6/bin/X :0 :1 B local /usr/X11R6/bin/X :1 :2 C local /usr/X11R6/bin/X :2 :3 D local /usr/X11R6/bin/X :3 |
Locate /etc/X11/xdm/Xsetup_0 and chmod 755 this file.
Edit the XF86Config file in /etc/X11 and change the line:
FontPath "unix:-1" |
to:
FontPath "unix:7100" |
Add this line to the end of /etc/inittab:
x:5:respawn:/usr/bin/gdm |
You are now ready to run a test.
To test if your XDMCP X Server is now ready to accept connections, do these steps. I find it easier using the X Server and another machine to test:
(Though you don't need to; it doesn't hurt...) Reboot the machine (I am assuming you are running level 5).
Make sure the Graphical login page comes up. Make sure the display resolution and mouse work. Log in from the console to see if the local access is OK. If OK, do not log off.
Setup Hummingbird Exceed to either query this machine (using the IP address or fully qualified DNS name) and try to connect to the X server. You should see the X Session come up and the login screen appear.
If possible, test the maximum number of allowed login sessions. This will ensure access is open to only this number.