XDMCP is a #202206151238 protocol that used by #202205051624 that allow local or remote access to the X server. The server itself will run on the user side whereas the client will run remotely if it isn’t a local machine.
We can choose the so-called 202205182153#, formally XDMCP server, by changing the variable DISPLAYMANAGER
defined in the directory /etc/sysconfig
or the SysV, Upstart or Systemd script (Debian and Arch). Depending on the Linux distro, this variable could be found and/or defined in the file desktop
(Fedora) or displaymanager
(openSUSE). The variable can be either the executable file that start up the server (Fedora) or the name of that server (openSUSE). These servers are listed below:
Upon local access, the server will run the X server directly in the local machine. For remote access, it will instead use the XDMCP protocol to deliver to GUI session to the client following the permission configured in the server system. We need to run the command xhost +{client}
on the server in order to connect the specified client which later we will export the variable DISPLAY
to the client’s shell as {server}:0.0
to direct the GUI of program to the server. Closing such connection can be done by running xhost -{client}
.
Since XDMCP doesn’t primarily concern with encryption of its protocol, this could be a security risk. Therefore, instead of using xhost
, one can utilise the 202203221227# for XDMCP by using the option -X
or -Y
(-X
is arguably more secure except for Debian) or setting options in 202205191924#. When using this method, it is not necessary to change the setting on the 202205182153#.
The alternative to XDMCP model is 202205201001# where not only #windows or #macos computer is able to connect to 202204081225 computer, but the reverse is also true.