NoMachine remote desktop solution on Linux


© Photo by Clem Onojeghuo on Unsplash

© Photo by Clem Onojeghuo on Unsplash

Article from Issue 209/2018

Need remote access to a PC? NoMachine offers this and much more.

Today, two or more PCs are often used in private households, in addition to tablets and smartphones. Often, one of the desktop computers is used as a server that the other systems access – for example, to transfer data, but above all to stream multimedia content. Remote desktop programs let you work on a remote computer without the systems exchanging large amounts of data.

Software for remote access to computers on the intranet also simplifies the maintenance of the other computers from your own workstation. In enterprises, remote desktop software performs the same task, but also allows access to servers via thin clients, for example. If such lightweight PCs are used instead of conventional desktop computers, this saves on costs.

Linux offers many options to take advantage of remote desktop applications. In pure Linux environments, programs based on Virtual Network Computing (VNC) are often used, such as TightVNC [1] or the KDE duo Krdc/Krfb. However, you are much more independent with NoMachine [2], cross-platform remote desktop software that offers some additional highlights.

VNC [3] and its derivatives are based on the Remote Framebuffer Protocol, which in older versions causes a fairly substantial flow of data along with some technical disadvantages, such as rudimentary scaling of the screen resolution in real time. In contrast, NoMachine uses the NX protocol, which minimizes data overhead and is therefore suitable for use over low-bandwidth networks.

The NX protocol compresses data and caches previously transferred files, so the volume drops considerably during the transfer. No additional software is required on other platforms, so the software always works with similar transfer speeds in heterogeneous environments. Additionally, NX uses an SSH tunnel to transmit the data in the professional versions.


NoMachine is available free of charge in several versions as DEB and RPM packages on NoMachine's website [4]. A tarball archive also exists for each hardware architecture, which you can install independent of the existing package manager and distribution.

After downloading the 45MB package, install it using the appropriate package management tools. In most cases, the routine integrates the application into the existing menu structure. The setup also ensures that the program is automatically activated at system startup, so you will find the red NoMachine icon in your desktop system tray when you restart your computer. However, for some distributions with the MATE desktop, automatic integration into the menus does not work, so you have to add the corresponding starters manually.

The freely accessible software version is available as a client-server application under a proprietary license, and the essential components of the NX protocol and the associated libraries are licensed under the GPL. For professional users, NoMachine offers a commercial licensing model that includes various support options and additional features: Although the free version does not support the SSH protocol and only one connection to a remote system is established at a time, these restrictions are removed in the paid Enterprise versions.

First Use

After installing on all computers involved, you can launch the software by clicking on the corresponding launcher. In the first dialog, the wizard shows some options that allow you to connect to remote computers.

After clicking Continue, you reach an area where the software browses the local network for computers on which the program is also running. It then displays these computers along with their IP addresses or hostnames. Make sure you launch the software on the participating systems before the first connection is established (Figure 1).

Figure 1: NoMachine remote desktop software relies on a mix of proprietary and free components and a tiered licensing model.

First, change the application's user interface to your desired language. To do this, on the administration machine used to display the remote desktops, click the Settings button and choose the Appearance tab of the new dialog. Next, select the desired language option in the Text drop-down box.

Further optional settings can be found in the Transfers, Folders, and Privacy tabs. In Transfers, decide whether it should be possible to exchange files between the participating machines and, if so, up to what maximum size. In the Folders tab, you can define where the program stores the transferred data, among other things. In the Privacy tab, you can set different options for deleting logfiles. By default, the program automatically removes all logs at the end of a session.

You can set some basic settings for the appropriate service by clicking on the Connection preferences button at bottom left: Here you can configure, among other things, whether it loads automatically every time the PC is started and whether the system is visible on the intranet. You can also change the port if necessary; by default, the tool listens on port 4000. If you change this value on the server, you will also need to enter the new port number on all systems that you control remotely from here; otherwise, no contact will be established.

When the configuration is complete, click Done and relaunch the computer system to apply the modified options.

Remote Control

After relaunching, select the desired remote system from the displayed list in the corresponding dialog and establish the connection by clicking on the Connect button. The program will now guide you through a multilevel dialog box with instructions on how to use the software, in the course of which you can authenticate against the remote system.

Unlike similar programs such as AnyDesk and TeamViewer, NoMachine does not use separate accounts for this purpose, but uses a user account and the associated password on the remote computer. Therefore, when you log on to the remote system with root credentials, you have administrative privileges.

When using the program for the first time, it is strongly recommended that you read the notes on the meaning of the symbols that appear in the individual dialogs, because they provide important information for controlling the screen and scaling (Figure 2).

Figure 2: The program window provides you with information on how to operate the software.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Remote Terminal Service with NX

    NX provides fast terminal services, even over slow connections.

  • Remote Administration

    Remote desktop applications allow remote access to machines, including desktop sharing, which makes them useful assistants in both the personal and professional spheres. We look at a few candidates.

  • Remote Control Intro

    You can optimize your network by letting your systems share screen images, CPU cycles, and even mouse clicks. This month we look at remote control and terminal service technologies.

  • Rdesktop

    Windows terminal services in Linux with Rdesktop

  • Neatx: Google Releases Its Own NX Server

    Internet giant Google is now entering the terminal server market. With Neatx, its own Python adaptation of the FreeNX sources, a GPL server has recently become available.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More