NoMachine Support

Your questions answered

Knowledge Base

Searching in: Articles & FAQs
Filter the search results
Applies to:
Last update:
Searching in: Articles & FAQs
ID: AR07P00987
Applies to: NoMachine Software
Added on: 2018-07-11
Last update: 2020-12-17
How to set-up a multinode environment on Linux

This article applies to NoMachine v. 6 or later and can be used to set-up a multinode environment for evaluation or for production as well.

A NoMachine multi-node environment is made of a central server, the Enterprise Terminal Server,  that is able to dispatch connections to other node machines where a Terminal Server Node is installed.

On the remote side
Install the appropriate NoMachine Enterprise Terminal Server package on the server host and the Terminal Server Node package on each of the node machines.

Packages for evaluation comes with a 30 days licenses which don't need to be activated.
They can be downloaded at:

Commercial packages downloaded from the Customer Area comes with the evaluation licenses as well that must be replaced with the appropriate customer license files.

On users' side
On the end-user's device, install the NoMachine client software or access the session via browser.

For sake of simplicity this article assumes the most common scenario, i.e. one Linux host for the server (machine A) and one Linux node (machine B). Repeat steps 3) in case of multiple nodes.

Step 1 -  Install NoMachine Enterprise Terminal Server (ETS) for evaluation on machine A.
This server acts as a gateway to tunnel client connections to the remote node, machine B.
If you're installing a customer's product, remember to download the package from your Customer Area and activate the server.lic and node.lic files as explained here: 
v. 7

Step 2 - Install NoMachine Terminal Server Node  (TSN) for evaluation on machine B.
If you're installing a customer's product, remember to download the package from your Customer Area and activate the node.lic file as explained here:
v. 7

Step 3 - Add the TSN node (machineB) to the ETS server on machineA.
On machine A run from a terminal the following command :

sudo /etc/NX/nxserver --nodeadd   IP-of-machine-B

As an alternative, you can add the node via UI as explained here:

IMPORTANT: The server has the automatic load-balancing of virtual desktops enabled by default: in this example the first virtual desktop will be started on machineA and the second virtual desktop on machineB. It's however possible to:
i) Exclude a node from the load-balancing mechanism. If two ETS servers are in a failover cluster, it's necessary to exclude the server from the list of nodes: sessions can be recovered only if they are running on the nodes.
ii) Activate the manual selection, use it in conjunction with the automatic load-balancing or disabling the load-balancing. 
For more detailed instructions, please refer to the NoMachine Enterprise Terminal Server Guide at:

Step 4 - (Optional) set a failover cluster
The ETS server on machineA  can be associated to a second server in an active/passive cluster to maintain high availability of sessions and applications running on the nodes. For configuring a cluster, refer to NoMachine Enterprise Terminal Server Guide here: the 'Practical example' provides step by step instructions.

Step 5 - Be sure to have the same system account on machineA and machineB. Username must be the same, password can be different. Let's call this account user1.
If there are two ETS servers in an active/passive failover cluster, the same account must exist also on the passive server host.

Step 6 - On the user's computer install the NoMachine client or connect via browser.
How to connect by client
On the user's computer runs the NoMachine User Interface and click on the 'New' button.

A setup wizard will guide the user through all steps necessary to create the first session. User may accept default settings, unless there are specific needs, for example using the SSH protocol for connections instead than the NX protocol.
- In the 'Host' field of the wizard specify the IP of machine A.
- If the connection is over the Internet, IP is the public IP of the server host.
- Be sure that port 4000 is open, if you are using the NX protocol, or port 22 for the SSH protocol.
- Complete the wizard and click on the connection icon to run it.
- In the login form insert username and password of user1 (see step 5) to log-in to machineA.

How to connect by browser
For connecting by browser, point your browser to http://serverName:4080 where serverName is hostname or IP machine A. Then log-in using the credentials of user1.

Once logged-in to the server, you will be able to create a new virtual desktop.

Some references:

- Use case: Setting up highly available remote access to virtual desktops load-balanced among multiple Linux hosts,


- To upgrade from an installation for evaluation to an installation for production, read here: