Setting up remote access to Linux virtual desktops
This document is intended to provide general guidelines for understanding which NoMachine products and licenses are necessary to provide remote access to virtual desktops and single applications running on a single Linux host (Terminal Services). The remote computer can be your own physical or virtual machine either on-premises or hosted in a cloud .
Definitions
To create virtual desktops on the remote computer, NoMachine Workstation or Small Business Server or Terminal Server needs to be installed on that computer.
A NoMachine virtual desktop is an individual instance of the remote desktop, i.e. each user can have his/her personal desktop. Instead of running a virtual instance of the whole remote desktop, it's also possible to execute single applications. These two functionalities are available only with NoMachine servers on Linux ('NoMachine Terminal Server' family).
Pre-requisite to providing access to the remote Linux machine are to install (i) a desktop environment (even in case of headless machines) and (ii) any of the NoMachine servers from the 'Terminal Server' family.
Licensing
1 NoMachine Workstation license if you plan to have up to four virtual desktops
or 1 NoMachine Small Business Server license for up to ten concurrent virtual desktops
or 1 NoMachine Terminal Server license for more than ten concurrent virtual desktops (unlimited).
On the end-user's computer install NoMachine Enterprise Client (which is free to use) or connect by the web via browser. All of the above-mentioned products include access via the browser.
Minimum requirements
This scenario typically has installed:
1 NoMachine Workstation or Small Business Server or Terminal Server on a Linux host.
Typical use cases
The following diagram shows a general infrastructure built on top of a virtualized O.S. as the server host. A similar infrastructure can be set-up also for a physical server host machine. Note that client-server connections can be over the internet or on a private network (LAN). Users can connect by NoMachine client via the secure native NoMachine NX protocol, the SSH protocol or by browser (web sessions) via HTTPS. Password and key-based authentication methods, as well as Kerberos tickets and two-factor authentication are supported.

Scalability
This solution provides individual instances of the remote desktops (virtual desktops) and applications hosted on a single Linux computer. Workstation allows 4 virtual desktop sessions, Small Business Server allows 10 and Terminal Server provides an unlimited number. In the case of a larger number of users, you may consider setting up a multi-host environment with NoMachine Enterprise Terminal Server to distribute virtual desktops and applications among Terminal Server Node hosts. This solution allows load-balancing of sessions among multiple hosts. High-availability of virtual desktops is also possible by setting-up a failover cluster between two NoMachine Enterprise Terminal Server hosts.
TIPS
The NoMachine host can be either a physical computer or a virtual machine.
Multiple NoMachine Workstation or Terminal Server or Small Business Servers, even in different geographical locations, can be federated under a Cloud Server, which provides a single point of access to different subsystems.
