Creating a NoMachine XDM virtual desktop
NoMachine terminal servers for Linux support the XDMCP protocol and integrates with the system setup to allow running XDM sessions in a NoMachine virtual desktop.
Pre-requisites, not related to NoMachine configuration, are:
1) The target host has an active display manager (GDM, KDM, etc)
2) The display manager must be configured to allow remote hosts to negotiate sessions by XDMCP
Additionally:
3) NoMachine server supports Linux virtual desktops.
4) NoMachine server must be configured to init XDMCP sessions
During the installation, the NoMachine setup is able to detect if a display manager like xdm or kdm is present and configures automatically NoMachine to support XDM session types. I.e. the 'unix-xdm' session type is listed in the AvailableSessionTypes key in both NoMachine server.cfg (/usr/NX/etc/server.cfg) and node.cfg (/usr/NX/etc/node.cfg). For example:
AvailableSessionTypes unix-remote,unix-console,unix-default,unix-application,physical-desktop,shadow,unix-xsession-default,unix-gnome,windows,unix-xdm
NoMachine supports the following methods to select the target machine where the NoMachine XDM virtual desktop will be started:
a) XDM direct query
b) XDM indricet query
c) XDM broadcast query
d) Let NoMachine server decide (by providing a list of XDM hosts)
How to enable support for XDM sessions in NoMachine
To enable XDM support, you need to apply some settings in the /usr/NX/etc/server.cfg file.
Remove the pre-pending '#' from the key name in order to make the new setting effective.
Edit the ConnectPolicy key and set: desktop=1
ConnectPolicy autocreate=1,autoconnect=1,automigrate=1,desktop=1,dialog=0
This makes NoMachine to show all the available desktop types.
Then, depending on which methods you prefer to apply for XDM sessions, select any of the following settings.
a) to use XDM direct query, set:
EnableDirectXdmQuery 1
When the user connects, he/she will be able to specify the XDM host.
b) To use XDM indirect query, set:
EnableIndirectXdmQuery 1
The usre will obtain a list of the available XDM hosts.
c) To use XDM broadcast query, set:
EnableBroadcastXdmQuery 1
The NoMachine client will connect to the first responding XDM host.
d) To let NoMachine server decideby among the available XDM servers, specify a list of comma-separated XDM host in the format of IP:Port in this key:
RoundRobinXdmList 127.0.0.1:177
and set:
EnableRoundRobinXdmQuery 1
NoMachine server will choose the XDM server according to the list specified in the RoundRobinXdmList key by applying a plain round-robin algorithm.
How to connect by the client
On the user's machine, launch NoMachine (client) and create a new connection.
Choose 'Create a new desktop or custom session' and then 'Create a new XDM virtual desktop'.
Depending on the server configuration, the user will be able to use:
- Query and X Desktop Manager, specify the XDM enabled host.
- Get a list of available X desktop managers, run an indirect query to the specified host.
- Broadcast an XDM request, run a session on the first available server.
- Let NX Server decide: host and port mandated by the NoMachine server administrator will be used.
