Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel4

Overview

When users are off-site or have slow internet connections, displaying graphics can be cumbersome.  PCDS has explored two solutions for this problem:

  1. The first ("NX technology") gives the user a special remote desktop that is specifically designed to improve the performance of X11 graphics over slow connection speeds (compared to ssh).  
  2. The second ("Virtual Box") allows the user to directly install the psana analysis environment on their Windows, Linux or Mac machine, so that LCLS data analysis (including graphics) can be done with no network connection (click here for information on the virtual box approach).

This page is about the usage of NoMachine for providing NX technology to users involved in LCLS experiments or operations.

NX Technology

...

/NoMachine NX is supported on Windows, MAC and Linux computers

Minimum System Requirements

A single 4k (3840 x 2160) display requires ~20 Mbps of download speed to support a 1Hz refresh rate.  This may vary depending on the number of high-definition or rapidly changing UI elements being displayed.  The upload requirements are minimal for control, but may limit speed of file transfers from the client to the host.

Note: MAC Clients must install XCode and XQuartz.You can download XQuartz from https://www.xquartz.org

Installation

You . You can download the latest version of the enterprise client from https://www.NoMachinenomachine.com/download-enterprise#NoMachine-Enterprise-Client. Ubuntu/Mint users should download the Debian version of the NoMachine client.

Configuration

LCLS is currently making three different two servers available for remote connections:

  1. psnxoprpsnxserv.slac.stanford.edu (aka psnxserv03psnxserv01, aka psnx01): for machine and beamline operatorsgeneral purpose connections
  2. psnxana.slac.stanford.edu (aka psnxserv02, aka psnx02): for interactive data analysispsnxserv
  3. psnxopr.slac.stanford.edu (aka psnxserv01psnxserv03, aka psnx03): for general purpose connectionsremote operation support.

You will be prompted to setup a login profile when launching the NoMachine for the first time. Select the following options:


 

Protocol: SSH
Host: psnxserv.slac.stanford.edu,  Port: 22
Authentication: Use the System Login (not the "NoMachine Login"). Do not select 'Use an alternate server key'. Use Password authentication
Proxy: Don't use a proxy
Save as: Choose a name such as PSNXSERV. You could select 'Create a link on the desktop'
Select Done to finish the setup

You can hit Connect to start the connection.

You may be asked to verify host authenticity. Hit Continue.

You will be asked to type Username and Password. Use your SLAC UNIX account and password and hit OK.

...

Accept the default options if no graphical display is required (Application - Run the console, Options - Run the command in a floating window) by clicking Continue. 

For performance and reliability reasons we have disabled the ability to open a remote desktop (GNOME) on the NX servers. We plan to keep allowing only the console mode for the foreseeable future since the multiple GNOME sessions were taking too many resources on the NX servers. Let us know if you see any fundamental reason why the ability to open a remote desktop is required to do your job. 

Image Removed

This will open a remote terminal on your local desktop from which you can type the name of the application you want to launch. For example, you can type "xterm&" or "gnome-terminal" to open additional terminals or "emacs&" to open the emacs editor.

If your session window appears briefly and then NoMachine windows close, you may need to apply this fix from

Code Block
titleNoMachine crash fix
	- Edit the player.cfg on the Windows computer and change the value of this key:
	  <option key="Switch to software decoding on Windows if resolution is bigger than 1920x1080" value="false" />
	  to:
	  <option key="Switch to software decoding on Windows if resolution is bigger than 1920x1080" value="true" />


Type "ssh -Y psana" to connect to the interactive pool to do data analysis.
 Image Added

When  When you disconnect and reconnect to NoMachine, these terminals and applications will remain in the state you left them in. If you would like to log out completely from your session, you can select the the option "terminate".

If you require a very basic display manger you can select "Run the command in a virtual desktop"

Image Added

At the login prompt type the command "startx"

Image Added

If you get a dialog box, select the "default configuration panel" to obtain a similar image to the one below:

Image Added

To get a nice working display, you can either resize the virtual desktop to fit the size of a defined window or full-screen (Ctrl+Alt+F)

When done, you can disconnect your session (keep state) or terminate (remove session).

Please contact pcds-it-help@slacl@slac.stanford.edu if you need more information or additional assistance with NoMachine.

Middle mouse button emulation for Mac users

MacOs users may wish to have middle mouse button functionality enabled in their NoMachine sessions. 

Here are the required settings within the XQuartz Preferences section (access via XQuartz→Preferences):

Image Added

Image Added

Use in EPICS EDM Displays

One of the common uses of this feature is to display the EPICS process variable (PV) names associated with widgets on EDM-based operator screens. Once these preferences are set then Option-Click displays the PV name upon release of the click (it is not displayed when still depressed) - and puts it into the cut-and-paste buffer.


Troubleshooting

bashrc

Avoid sourcing the psconda environment when accessing the NoMachine servers.  To add the conda environment to your profile edit $HOME/.bashrc with the following content:

  • Set an alias to source it manually:
Code Block
title.bashrc
 alias psconda='source /reg/g/psdm/etc/psconda.sh' 
  • Only source the environment on the ana nodes :
Code Block
title.bashrc
export MN=$(uname -n)
if [[ "$MN" =~ ^psana ]]; then
    source /reg/g/psdm/etc/psconda.sh
fi

Connection Issues

If you are not able to connect to NoMachine, check the followings:

  • For an offending ssh key error, please remove the old key by typing the following command: ssh-keygen -R "hostname" (e.g. ssh-keygen -R psnxserv01)

  • MAC Clients must install XCode and XQuartz.You can download it XQuartz from https://www.xquartz.org. Otherwise, you will get the following error:

...

Show all running user processes: 
Code Block
languagebash
ps -f -u $USERNAME

...

If you are not able to resume a NX Connection and you typically connect from multiple computers, be sure to use similar version of NoMachine client where you initiate the connection from. To check for NoMachine version, after you have launch NoMachine client, go to Preferences on top, then click on Updates, it will show you the version that you are running NoMachine on.

Broken display with "Green Screen" Issues

If your display is broken with mainly a green screen, it could be a hardware decoding issue. Click on "Display" button on NoMachine (shown below). Then click "Change settings" and turn on "Disable client side hardware decoding".

Image Added

Other issues

If Ctrl-C (Ctrl-break) does not work on the Linux client, hit the Alt-Ctrl-C (Use it in proper sequence so hold down the key one at a time). WindowsKey-Ctrl-C, or turn on Caps Lock and hit Ctrl-C will also work.

 Also see our how-to guide for Diagnosing Network/Connection Problems