Draft:NoMachine

NoMachine is a remote access and remote control computer software which allows remote desktop access and maintenance of computers, created by the Luxembourg-based company NoMachine S.à r.l. NoMachine is proprietary freeware and is free-of-charge for non-commercial use. It is the successor to NX technology, commonly known as NX.

History
In 2003, NoMachine's compression and transport protocol NX was created to improve the performance of the native X display protocol so it could be used over slow connections such as dial-up modems. Originally targeting Linux-based operating systems, the core compression technology, designed by Gian Filippo Pinzari and announced on the KDE and Gnome development forums, was released under the GNU GPL2 license (NX 1) for Linux servers in 2003, whilst other components such as the NX Server and NX Client programs remained proprietary software. A number of spinoffs of the NX technology have been developed over the years, such as Freenx and Google's Neatx. In 2010, the company announced they would be releasing the technology under a proprietary license. The last update to NoMachine's open-source project was released in 2012. In 2012, NX software became NoMachine software, also extending support for remote access to Windows and Mac machines. In 2013, NX finally became closed-source with the release of NoMachine 4.

Operating Systems
NoMachine is available for most desktop computers with common operating systems, including Microsoft Windows and Windows Server, as well as Apple's macOS. Packages for Linux install on multiple Linux distributions and derivatives, for example, Debian, Ubuntu, Red Hat, CentOS and Fedora Linux. There is also a version which can run on distribution variants for Linux ARM devices, including Nvidia's Jetson Nano and the Raspberry Pi. An app is available which allows users to connect from smartphones and tablets running Android or Apple's iOS/iPadOS operating system.

Functionality
The functionality of NoMachine differs depending variant or version of the software. The core of NoMachine is remote access to computers and other endpoints as well as their control and maintenance. After the connection is established, the remote screen is visible to the user at the other endpoint. Both endpoints can send and receive files as well as access a shared clipboard, for example. For the user connecting to the remote desktop, it is possible to view and stream audio and video content, including in the browser. Specifically for Linux, Terminal Server products were created for organizations that want to cut costs by running multiple desktops on the same Linux host and for those that want to migrate away from Windows-based systems.

In recent years, the functionality of the software has been extended and has been optimized in particular for use in large companies. For this purpose, the enterprise variant Cloud Server was developed for remote administration of large infrastructures.

Technology
NoMachine uses optimal image compression and caching with the latest video-encoding techniques in its NX protocol. NX monitors display and user activity to adapt quality and buffering to the displayed application. When connecting hosts across the network, the NX protocol works as a generic tunnel, with additional framing and flow control information, and dynamically adapts compression and bandwidth according to network speed and capacity. The display protocol uses a combination of video and image encoding, based on standard codecs and a number of techniques developed by NoMachine to keep latency to a minimum.