When users are off-site or have slow internet connections, displaying graphics can be cumbersome. PCDS has explored two solutions for this problem:
This page is about the usage of NoMachine for providing NX technology to users involved in LCLS experiments or operations.
NoMachine NX is supported on Windows, MAC and Linux computers.
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.
You can download the latest version of the enterprise client from https://www.nomachine.com/download-enterprise#NoMachine-Enterprise-Client. Ubuntu/Mint users should download the Debian version of the NoMachine client.
LCLS is currently making two servers available for remote connections:
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.
The allocation of theses servers to the various activities is just to provide a low-tech load balancing and is not enforced.
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.
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
- 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.
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 option "terminate".
If you require a very basic display manger you can select "Run the command in a virtual desktop"
At the login prompt type the command "startx"
If you get a dialog box, select the "default configuration panel" to obtain a similar image to the one below:
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-l@slac.stanford.edu if you need more information or additional assistance with NoMachine.
Avoid sourcing the psconda environment on the NoMachine servers. To add the conda in your bashrc file, you can do the following:
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:
Sometimes users will find that they are unable to reconnect to an existing session, and are shown only a blank screen. We do not yet understand this issue, so our solution is to terminate the user's existing sessions, and kill all the user's running processes on the NoMachine server. The easiest way for the users to deal with this is to send a note to pcds-it-l@slac.stanford.edu and we will remove all old sessions and process.
It's also possible for users to fix with this themselves by ssh'ing to psnxserv.slac.stanford.edu and killing their own process. Potentially useful commands follow:
ps -f -u $USERNAME
kill <PID>
kill -9 <PID>
pkill -u $USERNAME
Note that the user will have to reconnect after running pkill
and may have to try a number of times (possibly using the -9 option, as shown with the kill
command).
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.
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".
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