XDMCP
This page intends to allow remote sessions using "X Display Manager Control Protocol" (XDMCP). See the GDM documention for more information on the parameters: https://help.gnome.org/admin/gdm/3.26/gdm.html#xdmcpsection.
Setup graphical logins
XDM
Modify /etc/X11/xdm/xdm-config
and comment out:
DisplayManager.requestPort: 0
So it will be:
!DisplayManager.requestPort: 0
Then modify /etc/X11/xdm/Xaccess
to allow any host to get
a login window. Look for a line that looks like this:
* #any host can get a login window
and remove the hash '#' sign at the beginning of the line.
In case you have multiple network interfaces also add a line like this:
LISTEN 192.168.0.10
Where 192.168.0.10 should be you server IP address.
Then reboot or restart your X server and the xdm daemon.
GDM
Modify /etc/gdm/custom.conf
to include:
[xdmcp] Enable=true Port=177
Then restart gdm.service
.
Or if using the inittab method, login as root on another tty and
telinit 3 telinit 5 && exit
KDM
Support for this feature seems to be very buggy. Lightdm is probably an easier choice.
Edit kdmrc ( /opt/kde/share/config/kdm/kdmrc
[KDE 3x] or /usr/share/config/kdm/kdmrc
(KDE 4x] ) and at the end there should be something like this:
[Xdmcp] Enable=true
Then you need to restart kdm.service
so the change you just made takes effect.
LightDM
Modify /etc/lightdm/lightdm.conf
Enable the XDMCP Server:
[XDMCPServer] enabled=true port=177
On a headless system, disable the automatic start of one seat so that LightDM can run in the background:
[LightDM] start-default-seat=false
Then restart lightdm.service
.
Accessing X from a remote machine on your LAN
You can access your login manager on the network computer 192.168.0.10 via the following command. TCP and UDP streams are opened. So it is not possible to access the login manager via an SSH connection.
$ Xnest -query 192.168.0.10 -geometry 1280x1024 :1
Or, with Xephyr, if you experience refreshing problems with Xnest:
$ Xephyr -query 192.168.0.10 -screen 1280x1024 -br -reset -terminate :1
Or, if you are on runlevel 3
$ X -query server address
Xserver should recognize your monitor and set appropriate resolution.
After allowing XDMCP access as described above, edit /etc/X11/xdm/Xservers
and comment out:
#:0 local /usr/bin/X :0
Then launch XDM as root, e.g. xdm -config /etc/X11/xdm/archlinux/xdm-config
Thin client setup
First of all one should setup dhcp and tftp server. Dnsmasq has both of them. For network boot image check thinstation project. If your network card does not support PXE, you can try Etherboot
Example GUI-based Clients
- Remmina
- Xming for Windows
Troubleshooting
Session declined: Maximum Number of Sessions Reached
Edit /etc/gdm/custom.conf
and add/increase the maximum sessions.
[xdmcp] Enable=true MaxSessions=2