Getting a remote desktop on ALICE with RDP

About

This section provides instructions for connecting to ALICE using RDP from Linux, Windows and MacOS. RDP will provide you with a full desktop on the cluster just like X2Go.

Currently, only ALICE supports RDP. It is not possible to connect to SHARK this way which is why the instructions below focus on ALICE. For SHARK users, you can use X2Go or Open OnDemand.

For LEI users: the University-own RDP gateway cannot be used to connect to ALICE. Hence, the instructions below don’t make use of it.

Just like X2Go, RDP will reconnect you to a previous session if you have not logged out or if you got disconnected.

Users who cannot use X2Go are advised to try out RDP.

Preparations for all operating systems

Because ALICE does not have its own RDP gateway, we will use port-forwarding with an ssh connection to connect to a login node on ALICE and then we can start the RDP session. RDP uses port 3389 on ALICE, so we need to forward it to a port on our local workstation that we can connect to. This method will work on all operating systems. However, Windows users who want to use MobaXTerm can skip this part here because everything can be set up within MobaXTerm (see below)

Here, we will describe the setup of the ssh connection and below are instructions to set up the RDP client for different operating systems.

Setting up the ssh connection is best done with an ssh config file (see https://pubappslu.atlassian.net/wiki/spaces/HPCWIKI/pages/37748788/Login+to+ALICE+or+SHARK+from+Linux#For-regular-users-or-%E2%80%9Cthe-more-elegant-way%E2%80%9D). If you have keys set up, even better.

If you have already set up your ssh config, you could stop here and just do

ssh -L 33389:localhost:3389 alice1

for the first login node or

ssh -L 33389:localhost:3389 alice2

for the second login node (assuming you set up your config as described in the user guide). Note that port 33389 is just an example and up to you because it is the port on your local workstation.

However, if you use RDP more often you might find it annoying to always type in the command like this. Instead, you can also add the port forwarding to your ssh config. However, we recommend to set up a separate alias for your connection, in particular if you tend to have multiple connections open to ALICE, for example one RDP and one/multiple separate command line sessions.

An example for an ssh config would look like this:

Host alice1rdp HostName login1.alice.universiteitleiden.nl User <user-name> ProxyJump <user-name>@ssh-gw.alice.universiteitleiden.nl:22 LocalForward 33389 login1.alice.universiteitleiden.nl:3389 ServerAliveInterval 60 Host alice2rdp HostName login2.alice.universiteitleiden.nl User <user-name> ProxyJump <user-name>@ssh-gw.alice.universiteitleiden.nl:22 LocalForward 33389 login2.alice.universiteitleiden.nl:3389 ServerAliveInterval 60

Also here, change port 33389 which is on your local workstation as needed.

Now that you have setup the ssh configuration, you can open a terminal and connect like this:

ssh alice1rdp

for the first login node or

ssh alice2rdp

for the second login node.

Before starting your RDP client, you will always have to open a terminal and connect as described above (except for MobaXTerm users on Windows as mentioned earlier). Then, you can continue with the RDP client (see the next sections for your operating system). Keep the terminal open and do not log out.

Connecting from Linux

If you do not already have an rdp client installed on your Linux system, then you first need to add it. A commonly used client is Remmina which will be using here, too.

Please check the installation page of Remmina to see how you can install it for your distribution (https://remmina.org/how-to-install-remmina).

Note if you need to share a local directory then do not use Remmina 1.30+ or FreeRDP 2.11+ . There is currently (November 2023) a bug in the RDP implementation that causes file sharing to fail.

  1. start Remmina and click on the icon in the topleft corner to create a new session

  1. Fill in the following details in the “Basic” tab, while adjusting the ResolutionB to what best fits your screen:

     

    In this example, we filled in the user password for the RDP connection. This will allow Remmina to automatically log into RDP.

  2. Next, click on the tab “SSH Tunnel” and fill in the following details:

  1. Now click on “Save and Connect”. If you filled in the right password, then the RDP session should be started automatically. If not, you will see a login screen:

Fill in your ALICE password and click on OK to start the RDP session.

  1. If the login is successful, you should now have a desktop on ALICE running.

Sharing local directories

You can make files and directories on local workstation available in your RDP session using “Remmina”.

  • Edit your existing Remmina connection (or create a new one) and fill in a drive mapping from your local computer to ALICE:

Here the local folder /home/<user>/Alice was shared with ALICE under the name Krakkie. You can share multiple folders by separating them with the ; character.

Never directly work on a shared directory, because the performance will be much worse compared to storage on ALICE. Always copy data to ALICE.

  • When done, press “Save and Connect” to start a new session.

The shared drives will be available on ALICE in /home/<your_username>/thinclient_drives

Connecting from Windows

For Windows, we will cover two options:

  • MobaXterm

    • Pro: Easy to set up, very easy to start new sessions and to resize the resolution.

    • Con: third-party app, performance may be slightly behind the other options

  • Microsoft Remote Desktop Connection:

    • Pro: Comes installed by default, good performance

    • Con: a bit more hassle to start each session, doesn't handle window resizing very well

Do not use the Remote Desktop app from Microsoft from the Microsoft Store

Windows RDP client

Windows comes with the Remote Desktop Connection app pre-installed. Before you can make a connection, you need to open an ssh connection to ALICE.

You can connect to ALICE with ssh using for example PowerShell, the command line or PuTTY (see Login to ALICE or SHARK from Windows - HPC wiki (atlassian.net)). Whatever application you choose, we assume here that you have an ssh configuration set up as described above.

In the following, we will use PowerShell as an example.

1. Open Powershell and connect to ALICE as described above. Leave PowerShell and the connection open (add SCREENSHOT)

  1. Next, open Remote Desktop Connection from the Windows start menu and type in

127.0.0.1:33389

Adjust the port 33389 to whatever you have set in your ssh config.

If you have already adjusted the settings, you can just hit enter or click on “Connect” and continue with step 5.

  1. Otherwise, go to "Show Options", open the "Display" tab, and adjust the “Display Configuration” as needed. Note that it is not possible to resize the Window afterwards. Keep in mind that the performance of the desktop will go down with higher resolution.

  1. Next open the "Advanced" tab, and Click on "Settings" in the "Connect from anywhere tab". Select  "Do not use an RD Gateway Server".

Remote Desktop Connection will remember these settings, so you do not have to set them the next time you make a connection using the client. You can also go back to the "General" tab, and choose "Save As", and store the settings with a recognizable name.

Now, hit “OK” or “Connect”.

  1. You might be prompted with a warning about the identity of the remote compute. This is because we are connection to your local host and not directly to the login node. You can accept the connection

     

  2. After accepting the connection, you will prompted with a login screen

    Fill in your ALICE username and password and confirm with enter or by clicking “OK”.

  3. After a successful login, you have a desktop running on ALICE

  4. [OPTIONAL] If you want to change what desktop environment you are using, see here: #Setting the Desktop environment to use: GNOME, XCFE or MATE

Sharing local directories

You can make files and directories on local workstation available in your RDP session using “Remote Desktop Connection”.

However, it is only possible share entire disks and not specific folders.

Never directly work on a shared directory, because the performance will be much worse compared to storage on ALICE. Always copy data to ALICE.

In order enable sharing,

  • go “Show Options” after starting the RDP client,

  • select “Local Resources”

  • click on “More” in “Local devices and resources”

  • in the pop-up window, click on the plus icon next to “Drives”

  • tick the drives that you want to share.

The shared drives will be available on ALICE in /home/<your_username>/thinclient_drives

MobaXterm

  1. If you do not have a recent version (21.0 or higher), download it..

  2. Open MobaXterm and make a new RDP session.

  3. Enter remote host name: localhost, set port to 3389, and leave the username empty.

  4. Go to the "Network Settings" tab, and add SSH gateway (jump host).

     

  5. First add the ALICE gateway jump host: ssh-gw.alice.universiteitleiden.nl, username: your ALICE username. Then add another jump host and add the login host: login1.alice.universiteitleiden.nl or login2.alice.universiteitleiden.nl, again with your ALICE username. Then press OK.

     

  6. [OPTIONAL] For ease of use, in the "Bookmark Settings" tab, you can give the session an recognizable name, and you can even create a shortcut on the desktop for easy access.

  7. Press OK at the bottom of the screen. If you see a pop-up, select 'accept'.

  8. You can now start the session by double clicking on the session in the left side of the screen (or right-click and execute, or using the desktop shortcut if you created it). The first time you connect you will be asked to enter your ALICE password three times (once for the gateway, once for the login node and once for the RDP server). You will also be given the option to store your passwords in MobaxTerm so you won't have to enter it again the next time. Alternatively, you can set up ssh keys and enable those for the jump host connections (see step 5).

     

  9. Your RDP session will then start. Note that you can easily 1. Detach the tab, to drag it around resize it  2. Enable/Disable scaling, we recommend disabling this as it will stretch the image 3. make the window fullscreen. 4. Fit to window size, this is really handy as it will change the resolution of the session to best make use of the current size of the window, making it a better alternative to scaling. Finally, you can use the 5. set connection password button so that you don't have to enter the password when reconnecting the next time.

     

     

  10. [OPTIONAL] If you want to change what desktop environment you are using, see here: #Setting the Desktop environment to use: GNOME, XCFE or MATE

Sharing local directories

You can make files and directories on local workstation available in your RDP session using “Remote Desktop Connection”.

However, it is only possible share entire disks and not specific folders.

Never directly work on a shared directory, because the performance will be much worse compared to storage on ALICE. Always copy data to ALICE.

In order enable sharing,

  • edit the settings of your session

  • in “Advanced Rdp settings”, select “Redirect drives”

  • click on “More” in “Local devices and resources”

  • in the pop-up window, click on the plus icon next to “Drives”

  • tick the drives that you want to share.

The shared drives will be available on ALICE in /home/<your_username>/thinclient_drives

Connecting from MacOS

If you do not already have an rdp client on your Mac, then you first need to install it. A commonly used client is the “Microsoft Remote Desktop” app available in the App Store, which we will also use here.

  1. Before starting the app, open a terminal and connect to ALICE using ssh as described above. Leave the terminal open and do not close the terminal or logout.

  2. Next, open “Microsoft Remote Desktop” and click on “Add PC”. If you already have other connections, this is found under the “+” or “Connections” menu.

  3. In “PC Name”, type in

    127.0.0.1:33389

    Adjust the port 33389 to whatever you have set in your ssh config.

  4. [OPTIONAL] Adjust settings such as resolution. If you want to have the desktop open in a window, then uncheck “Start session in full screen” in the Display tab. To use a different resolution, first uncheck “Update the session resolution on resize”, which enables the resolution setting.

  5. After clicking on “Add”, a new connection is available in the main window. Double click on the new connection.

  6. You will be asked to confirm the authenticity of the remote host. Click “Continue” to accept the certificate.

  7. Provide your ALICE username and password.

  8. If the login is successful, you should now have a desktop running on ALICE.

  9. [OPTIONAL] If you want to change what desktop environment you are using, see below.

Sharing local directories

You can make files and directories on local workstation available in your RDP session using “Microsoft Remote Desktop”.

Never directly work on a shared directory, because the performance will be much worse compared to storage on ALICE. Always copy data to ALICE.

  1. Open the app “Microsoft Remote Desktop”.

  2. Go to the settings for your connection by clicking on the dots that show up when you hover the mouse over the connection and select “Edit”.

  3. Go to the Folders tab and enable “Redirect folders”. Then you can add folders that you would like to share.

The shared drives will be available on ALICE in /home/<your_username>/thinclient_drives

Setting the Desktop environment to use: GNOME, XCFE or MATE

By default, XRDP uses the GNOME desktop environment. In our experience, this environment can be slightly slower than the other options.

You can manually change which desktop environment is used by creating/changing a file in your home folder on ALICE.

  • Log into one of the ALICE login nodes (by whatever means you like).

  • For XCFE, open a terminal and run:

    echo "xfce4-session" > ~/.Xclients   chmod 755 ~/.Xclients
  • For MATE, open a terminal and run:

    echo "mate-session" > ~/.Xclients chmod 755 ~/.Xclients
  • Disconnect from ALICE and start a new RDP session, you should now see the new desktop environment.

If you are using the MATE environment, and are experiencing issues with GUI windows:

  • Open a terminal and run:

    mate-window-properties
  • Make sure there is no tick mark in front of  "Enable software compositing window manager"