---
title: Remote Desktop Access

#tags:
#keywords:
last_updated: 19 Aug 2019
#summary: ""
sidebar: merlin6_sidebar
permalink: /merlin6/nomachine.html
---

Users can login in Merlin through a Linux Remote Desktop Session. NoMachine 
is a desktop virtualization tool. It is similar to VNC, Remote Desktop, etc. 
It uses the NX protocol to enable a graphical login to remote servers.

## Installation

NoMachine is available for PSI Windows computers in the Software Kiosk under the
name **NX Client**. Please use the latest version (at least 6.0). For MacOS and
Linux, the NoMachine client can be downloaded from https://www.nomachine.com/.

## Accessing Merlin6 NoMachine from PSI

The Merlin6 NoMachine service is hosted in the following machine:

* **`merlin-nx.psi.ch`**

This is the **front-end** (hence, *the door*) to the NoMachine **back-end nodes**, 
which contain the NoMachine desktop service. The **back-end nodes** are the following:

* `merlin-l-001.psi.ch`
* `merlin-l-002.psi.ch`

Any access to the login node desktops must be done through **`merlin-nx.psi.ch`** 
(or from **`rem-acc.psi.ch -> merlin-nx.psi.ch`** when connecting from outside PSI). 

The **front-end** service running on **`merlin-nx.psi.ch`** will load balance the sessions 
and login to any of the available nodes in the **back-end**.

**Only 1 session per back-end** is possible.

Below are explained all the steps necessary for configuring the access to the 
NoMachine service running on a login node.

### Creating a Merlin6 NoMachine connection

#### Adding a new connection to the front-end

Click the **Add** button to create a new connection to the **`merlin-nx.psi.ch` front-end**, and fill up
the following fields:
* **Name**: Specify a custom name for the connection. Examples: `merlin-nx`, `merlin-nx.psi.ch`, `Merlin Desktop`
* **Host**: Specify the hostname of the **front-end** service: **`merlin-nx.psi.ch`**
* **Protocol**: specify the protocol that will be used for the connection. *Recommended* protocol: **`NX`**
* **Port**: Specify the listening port of the **front-end**. It must be **`4000`**.

![Create New NoMachine Connection]({{ "/images/NoMachine/screen_nx_connect.png" }})

#### Configuring NoMachine Authentication Method

Depending on the client version, it may ask for different authentication options. 
If it's required, choose your authentication method and **Continue** (**Password** or *Kerberos* are the recommended ones).

You will be requested for the crendentials (username / password). **Do not add `PSICH\`** as a prefix for the username.

### Opening NoMachine desktop sessions

By default, when connecting to the **`merlin-nx.psi.ch` front-end** it will automatically open a new
session if none exists. 

If there are existing sessions, instead of opening a new desktop session, users can reconnect to an 
existing one by clicking to the proper icon (see image below).

![Open an existing Session]({{ "/images/NoMachine/screen_nx_existingsession.png" }})

Users can also create a second desktop session by selecting the **`New Desktop`** button (*red* rectangle in the 
below image). This will create a second session on the second login node, as long as this node is up and running.

![Open a New Desktop]({{ "/images/NoMachine/screen_nx_newsession.png" }})

### NoMachine LightDM Session Example

An example of the NoMachine session, which is based on [LightDM](https://github.com/canonical/lightdm)
X Windows:

![NoMachine Session: LightDM Desktop]({{ "/images/NoMachine/screen_nx11.png" }})

## Accessing Merlin6 NoMachine from outside PSI

### No VPN access

Access to the Merlin6 NoMachine service is possible without VPN through **'rem-acc.psi.ch'**.
Please follow the steps described in [PSI Remote Interactive Access](https://www.psi.ch/en/photon-science-data-services/remote-interactive-access) for
remote access to the Merlin6 NoMachine services. Once logged in **'rem-acc.psi.ch'**, you must then login to the **`merlin-nx.psi.ch` front-end** .
services.

### VPN access

Remote access is also possible through VPN, however, you **must not use 'rem-acc.psi.ch'**, and you have to connect directly
to the Merlin6 NoMachine **`merlin-nx.psi.ch` front-end** as if you were inside PSI. For VPN access, you should request 
it to the IT department by opening a PSI Service Now ticket: 
[VPN Access (PSI employees)](https://psi.service-now.com/psisp?id=psi_new_sc_cat_item&sys_id=beccc01b6f44a200d02a82eeae3ee440).
