FastX is a program for connecting to the HPC systems with a GUI desktop environment. It is similar to /wiki/spaces/hpcdocs/pages/76514725 connections but is newer and a little more robust when using Duo 2 factor authentication. Please see the FastX documentation site for detailed information on how to use FastX. FastX will send an automatic authentication request to your registered device if using the Duo app. Otherwise it will make a phone call to your registered number. Unlike No Machine though there is a much longer time out so it is more forgiving of slow push response times or the latency of a phone call for authentication. Another benefit that FastX has over No Machine is that you can close a remote desktop session but as long as the FastX program and the connection to the server was not disconnected the underlying ssh session is still active. This means that sessions can be started and stopped on the same server without triggering additional authentication requests from Duo.
Install FastX2
You can download the FastX2 client from the FastX - ITS Help Desk - Information Technology Services at The University of Iowa page. You will need to sign in with your HawID and password. On the next page that opens up you will see buttons to download a client. Select the one that is appropriate for your system.
Connecting to HPC systems
To connect to the HPC systems, you will need to create entries for the hosts. To create a new entry click on the green + button of the FastX toolbar. This will open up a connection editor.
FastX2 |
---|
Be sure to set the User field to your HawkID. Then click on the Save button. Once this is established the server connection will appear in the connection list.
FastX2 |
---|
Double click on the connection entry to establish an ssh connection. You will be prompted for a password if you are not using a key and Duo will autopush an authentication request to your default device with the Duo app or a phone call to your Duo registered phone number. The screen will now look like the following:
FastX2 |
---|
Once the Duo authentication has been approved click on the plus sign in the top-right to start a new session. This will bring up a menu with some common session options.
FastX2 |
---|
Select the one that you would like to use and it will start up in a new window. When you are finished with a session you can log out of it as normal. This will leave an ssh session open to the server so that any further sessions on that server will not need to go through the Duo authentication. To disconnect from the server completely, either exit FastX or right-click on the server name and select Disconnect.
Resuming sessions
Sessions can be resumed if they are not terminated when the FastX program is closed. This means that you can disconnect from a server but leave the session running and reconnect to it later. In this scenario, the back end ssh connection to the server has to be established so this will require Duo authentication. But once the ssh connection is up FastX will find any existing connections on the server. What is important to keep in mind here is that there is more than one login node for the HPC system, and that they are selected in a round robin manner, so that a connection to the HPC system will resolve to one of the available login nodes. This is important to remember when trying to reconnect to sessions as your new connection will need to land on the same host as the session that you want. If you do this frequently you may want to create explicit connections for each login node.
- argon-login-1.hpc.uiowa.edu
- argon-login-2.hpc.uiowa.edu
- argon-login-3.hpc.uiowa.edu
- argon-login-4.hpc.uiowa.edu
We kindly ask that you please terminate any sessions that you no longer need as they do use resources.
FastX Desktop Connection Issues
When connecting to Argon with FastX version 2 to open a graphical desktop session such as MATE or KDE, you might get an error like 'The command "mate-session" exited'. This can occur if you install Anaconda in your home account and select "yes" for the installer to initialize Anaconda with conda init. That option modifies your ~/.bashrc so Anaconda is conveniently configured every time you log in, but the modification also causes graphical sessions to use dbus software supplied in Anaconda, which prevents them from starting. To solve this problem, edit your ~/.bashrc file to comment out all the lines in the "conda initialize" section. In the future, when you want to use Anaconda in a command prompt or in a job script, use the command required to activate it. For example, to activate a default installation of Anaconda3, use the following:
exec "$($HOME/anaconda3/bin/conda shell.bash hook)"
If your version of Anaconda is older or if the above command fails, you can still change your PATH variable in your shell or script to access it:
export PATH="$HOME/anaconda3/bin:$PATH”