FastX, from StarNet, is a utility that can be used to interact with remote linux systems graphically in much more efficient and effective way than simple X forwarding. A FastX interactive session can be disconnected from without closing the session, allowing users to leave applications running and resume their sessions from other locations. More information on this utility can be found on the StarNet website: https://www.starnet.com/fastx
CHPC's StarNet license allows for multiple FastX server installations; We recommend using the cluster interactive nodes (or the frisco peak nodes frisco1- frisco8) for this service, however if you have a demonstrated need for this to be installed on a CHPC supported system please contact CHPC. If there are compatibility complications with the FastX server, one may need to use a different window manager than your preferred one, e.g., using XFCE instead of gnome.
CHPC Usage Policy
- Users should by default use the frisco resources for FastX usage.
- The CHPC usage policy for the general interactive nodes still applies when using FastX. See Policy 2.1.1. When in doubt about the computational requirements of a workflow, it is better to use one of the frisco nodes or a private owner interactive node.
- When using FastX, users should connect directly to a specific resource. The generic pattern "cluster.chpc.utah.edu" is not the name of a single server, but a round-robin address which does not guarantee a connection to a specific interactive node. Users will need to explicitly select the address of the desired node. For notchpeak, kingspeak, and lonepeak, this will be cluster1.chpc.utah.edu or cluster2.chpc.utah.edu (for example, kingspeak1 is kingspeak1.chpc.utah.edu); for ash-guest, this is ash5.chpc.utah.edu or ash6.chpc.utah.edu. Frisco peaks are frisco1.chpc.utah.edu through frisco8.chpc.utah.edu.
- CHPC may establish additional usage policies for FastX depending on evolving user needs and usage patterns.
Update June 1, 2021: CHPC now has FastX 3 installed on all CHPC cluster interactive nodes in the general environment, including the frisco nodes. At this time only FastX 2 is available in the protected environment as well as for most stand alone server installations. We will maintain both FastX 3 and FastX 2 for a short period of time to allow users to transition between the two versions. Unless there are user reported issues with FastX 3, we will remove FastX 2 sometime in August. On the page below we have information on the usage of both versions.
Update Aug 9, 2021: FastX 3 is now also installed in the protected environment.
- Using the FastX 3 Web Client
- Installation of the FastX 3 Desktop Client
- Using the FastX 3 Desktop Client
Using the FastX 3 Web Client
- Open up a session in a web browser by going to http://servername.chpc.utah.edu:3300 (replacing servername with one of the CHPC servers, e.g., kingspeak1, notchpeak1).
- Sign in using your University of Utah uNID and associated password.
- Note that there are two views for sessions: List and Grid (on right hand side of window). In the Grid view, sessions are icons and you select the session by clicking on the icon. In the List view, each session is a line, and you select the session by the check box at the start of the line.
- To start a new session, click on the red "+" sign near the top left of the page to start a new session. Choose the type of terminal or desktop you prefer and select lauch. The session will start in a new browser tab.
- To reconnect to an existing session, login to the same server, and click on a given session and hit the play button. Again the session will open in a new browser tab.
- Once you have a terminal, near the top of the web browser window there are a few icons - these include an online keyboard, a file manager, and settings. If you choose one of the desktops, there is also an icon to resize to full screen.
- To keep a session active, you can go to the tab with your sessions listed, click on the session you want to keep and from the pulldown menu near the + sign, choose disconnect.
- To terminate a session, select the session, and select terminate from the pulldown menu near the "+" sign.
- To log off you go to the pull down menu associated with your username near the top right of your web browser window and select "Sign Out".
Installation of FastX 3 Desktop Client
The latest clients are available via the web client. Go to one of the CHPC interactive nodes via the web client (see instructions above). Once you log in, check your notifications (bell icon top right hand side near your username). You will see two notifications - the first is a link to this documentation page and the second is a link to a starnet page with download links for the client for Mac, Linux, and Windows desktops. Download and install the appropriate client.
Using the FastX 3 Desktop Client
- Start the FastX 3 client on your desktop (Note: If you are connecting using a VPN, be sure to start the VPN prior to opening the FastX client.) Two windows will appear - a FastX Window and a Connections Window.
- In the Connections window, the "+" found in the upper right corner is used to define
a server. In the general tab, you need to provide the host. You should also specify the user (your unid) and a name. As an example, you can use the host frisco1.chpc.utah.edu and name it frisco1. Leave the port set as 22. You do not need to make any changes in the Advanced tab. Select OK. You will then see the server in the Connections Window.
- If you have used the FastX 2 Desktop Client, your defined servers WILL NOT migrate; you will have to redefine them in FastX 3.
- Once a server has been defined, it can be edited (clicking on the right "pencil") or deleted by clicking on the X-icon on the right edge.
- Once you have one or more servers defined you can select one of them and login by
clicking on the entry in the Connections Window. When you do so, you will be asked
to enter your password (linked to your unid), and then select Continue. As soon as
you are logged, there will be a tab with the entry in the FastX window (the tab is
identified title contains the server's name and host from step 2.)
- To open a new session on this server, click on the "+" symbol in the top window.
- A new window will pop up. You need to either take one of the options given in the window or add a command. When you do this the session becomes defined in this window, along with the start and last connect time, and a new window opens for your session. Your choice depends on your needs. There are both full desktop and multiple xterm/terminal options.
- If you want to open a new session on the same server - use the "+" icon.
- If you want to open a session on a new server, select the Connection icon on the far left of the FastX Window. That will open up the Connections Window, where you can either select an existing server definition OR define a new server.
- If you want to finish the session, you can close this window. Please do this for any session that you are done with to ensure there are sufficient resources available to meet the active user needs.Also note that any session left idle for more than 30 days will be terminated.
- If you want to keep the session in order to return to it, right click on the session name in the list and select Disconnect from the Session pull down menu of the FastX window. You can close the FastX window (Quit in the File menu) listing the sessions at this point, and this closes your connection on the server.
- To reconnect, either from the same desktop or another, start FastX 3, select and login to the same server, and you will see your saved session. Right click on the session (or in Grid view, hit the "play" button. All windows you had open when you disconnected will appear.
- New in FastX 3 - you no longer need to use "
vglrun -c proxy" for applications that need or can benefit (better performance) from the use of virtualgl. FastX 3 will detect if a graphics card exists and use virtualgl if so.UPDATED June 16, 2021: Due to issues that appeared with the autodetection of the graphics card this setting has been changed, requiring the use of "
vglrun -c proxy" for applications as with FastX 2.
If you have any issues with FastX 3, please contact User Services at email@example.com.
A short training video walks through the installation and usage of the FastX 2 desktop client and supplements this page.
Update - 09 Jan 2018
You can once again download the fastX desktop client via the web interface. See the installation section below for details.
What's New with FastX 2
- You no longer need to provide license information with the use of FastX2 client. All licensing is at the server side.
- FastX2 has a web based client which you can access entering the server name appended with ":3000" in the web browser, e.g., http://frisco1.chpc.utah.edu:3000. While this is not meant to replace the heavy client, users may find it convenient. The desktop client, which can be installed with the directions given below, still offers better performance for demanding applications. Details of how to use both the web based and the desktop client are given below.
- With the desktop client, there is no longer a need or a mechanism to disconnect from the server; but users can still suspend, terminate, and resume sessions.
Installation of FastX 2
The latest clients are available via the web client. Go to one of the CHPC interactive nodes via the web client (see instructions below). Once you log in, on the bottom right-hand side of the window, there is a "Desktop Client" link. From there, you will see download links for the client version which match the current server version for Mac, Linux, and Windows desktops.
CHPC has the FastX 2 server installed on all cluster interactive nodes, as well as a set of nodes allocated specifically for FastX use, the frisco nodes. These nodes can be accessed by ssh, through the FastX interface via friscoX.chpc.utah,edu, where X is 1 through 8, or via the FastX 2 web client as described above. All of the frisco nodes have graphics cards to enable the use of VirtualGL for accelerated graphics. See step 9 of the 'To Use' section below for further instruction on the use of VirtualGL.
If you have any issues with FastX 2, please contact User Services at firstname.lastname@example.org.
Note: if you have an existing FastX client installation, all of your server definitions will be moved over when you do the installation of the FastX 2 client.
Using the FastX 2 Web Client
- Open up a session in a web browser by going to http://servername.chpc.utah.edu:3000 (replacing servername with one of the CHPC servers, e.g., kingspeak1, notchpeak1). Note: Fastx also uses port 3443 over the https protocol, so if your URL contains port 3443 make sure it begins with https, e.g. https://servername.chpc.utah.edu:3443 .
- Click on Start a new Session (or open up an existing one) and type in the command to start the session
- Once you have a terminal, near the bottom of the web browser window there is an icon with a few options. Note that cut and paste between this FastX2 session and a window outside of this session does not work well.
- To keep a session active, you can go to the tab with your sessions listed, and click on the session you want to keep and hit the pause icon. You can then log off.
- To reconnect, login to the same server, and click on a given session and hit the play button.
- To log off you go to the pull down menu near the top right of your web browser window.
Using the FastX 2 Desktop Client
- Start the FastX 2 client on your desktop (Note: If you are connecting using a VPN, be sure to start the VPN prior to opening the FastX client.)
- Use the "+" found in the upper right corner to define a server. You need to provide
a name, the host and a user (your unid) data. As an example, you can use the host frisco1.chpc.utah.edu and name it frisco1. Leave the port set as 22. Do not change the entry on Sci and leave the FIPS compliant
- Servers can be edited (clicking on the right "pencil") or deleted by clicking on the X-icon on the right edge.
- You can create several several entries (i.e. different hosts & names)
- Once you have one or more servers defined you can select one of them and login by
clicking on them. When you do so, two windows will open. In the top window you will
be asked to enter your password (linked to your unid) . As soon as you are logged,
the password window will disappear and the main window will appear (its title contains
the server's name and host from step 2.)
- To open a new session on this server, click on the "+" symbol in the top window.
- A new window will pop up. You need to either take one of the options given in the window or add a command. When you do this the session becomes defined in this window, along with the start and last connect time, and a new window opens for your session. Your choice depends on your needs. There are both full desktop (XFCE and Mate desktops) and different xterm/terminal options .
- If you want to finish the session, you can close this window. Please do this for any session that you are done with to ensure there are sufficient resources available to meet the active user needs.
- If you want to keep the session in order to return to it, right click on the session name in the list and select the pause ("||" button) You can close the FastX window listing the sessions at this point, and this closes your connection on the server.
- To reconnect, either from the same desktop or another, start FastX2, select and login to the same server, and you should see your saved session. Right click on the session, and select the "play" button. All windows you had open when you disconnected will appear.
- For applications that need or can benefit (better performance) from the use of virtualgl:
All the frisco nodes have a graphics card. You must start the application with virtualgl.
For example for starting vmd you would use "
vglrun -c proxy vmd". Note that in the case that your application call is a script, as is the case with using gv to start gaussview, this will not work; instead you need to add this vglrun internal to the script.
- Please be sure to close any sessions you no longer need to keep the number of sessions at a minimum.
Additional Notes for FastX 2
- For users of Gaussview who are not using modules you will need to
source /uufs/chpc.utah.edu/sys/pkg/gaussian09/EM64T/etc/g09.cshbefore starting Gaussview with
gv. With the use of modules you would do a module load gaussian09 (unless loaded via the custom.csh script.
- FastX 2 uses port 3000 with the http protocol, so a URL such as "http://servername.chpc.utah.edu:3000" is correct. However, Fastx uses port 3443 with the https protocol, so any URL containing port 3443 must begin with https, e.g. "https://servername.chpc.utah.edu:3443".
- For users of the CSDS program mercury, you will need to use VirtualGL for the molecules to appear in the display window.
- For users of Abaqus, you must use the -mesa flag (abaqus cae -mesa) or your model will not display.
- If you are connecting to a node with a graphics card (this applies to all of the frisco nodes) from a Linux or an OSX machine using ssh -X, add -c proxy flag to the vglrun command, that is, vglrun -c proxy vmd. This forces the VirtualGL to use the X11 transport.
To cut/paste to or from the FastX window: see https://www.starnet.com/xwin32kb/copying-and-pasting-in-xterm/ We advise MAC Users to NOT use the regular XTerm terminal but to opt for either the Mate Terminal or KDE Terminal. In the latter terminals, the copy command is
<CRTL><SHIFT>c; the paste command is
<CTRL> ccommand is an interrupt in Linux/Mac).
The copy and paste "commands" are also visible under the "Edit Button".
- Make sure to close your fastx client (on the machine your working on), re-open the fastx application and try again. When the network (your client IP address) is changed out from underneath your host, the fastx client needs to be restarted.
- Verify that you can ssh to the host your attempting to fastx to, if you can't ssh
then fastx will not work. You can also try to use the web fastx version by pointing
your browser to https://frisco1.chpc.utah.edu:3443/login. If neither of these work
for you, then there's a high probability that the desktop version of fastx will not
work. If you can't even ssh then it could be the destination host doesn't allow ssh
from where (the network or IP) your coming from. This could be from a number of reasons,
some listed below.
a) It could be the host you are trying to ssh to requires you to have a UofU IP. If that is the case then connect to the UofU vpn first then try again. https://vpnaccess.utah.edu/+CSCOE+/logon.html#form_title_text is the UofU entry point for VPN.
b) It could also be that your coming from a network or IP that is blocked (temp or permanently) from the campus border; if you suspect this then you can ask CHPC by sending email to email@example.com.
c) Your ssh client could be misconfigured, make sure you have your client configured for ssh v2.
d) Make sure DNS is working on your host (both forward and reverse lookups), this means you can open up a terminal or command line and type 'nslookup frisco1.chpc.utah.edu and have it return and IP # (188.8.131.52), then type 'nslookup 184.108.40.206' and it should return the name of frisco1.chpc.utah.edu.
If this doesn't work you may have a name service resolution problem on your client. You can fix it or you can just use the ip # instead of the name.
- You may need to delete the sessions files in you CHPC home directory and try again..
(with %hostname% being the one that's having issues) in your CHPC home directory,
do (by 1st ssh'ing to a host which mounts your CHPC home directory such as kingspeak1.chpc.utah.edu)
rm -rf C-*
OR you can just remove or rename the entire .fastx_server/%hostname%
- If things are still not working... Does fastx to that server work from a different
fastx client (if you have this on another client to test).
Please send email to firstname.lastname@example.org with with the version of fastx your using, the operating system your using (linux/osx/windows, etc), the host IP your working on (e.g., one way to get this is to visit http://www.whatsmyip.org/ and tell us what "your IP" says, and other error messages and information is helpful including if you've successfully done this before and this is a new problem or if this is your 1st time.
- If things are still not working... Does fastx to that server work from a different fastx client (if you have this on another client to test).
- Make sure you don't have any alternative Python environment loading at the login via the shell init scripts (.custom.[sh,csh], .tcshrc, .bashrc). Some Python modules that CHPC provides, such as anaconda3, break FastX login. If you need Python, load the module after the FastX connection has been established.
- It could be that you have a bunch of modules that are loaded automatically when you
log in, and one of the them is perl/5.18.1 which is incompatible with fastx. This
error can reproduce when the module is loaded automatically.
To unload that module, log in with a regular terminal (not fastx), and execute "module list". You'll see that perl module along with a bunch of others. Then execute:
$ module unload perl/5.18.1
$ module save
That "module save" command should print, "Saved current collection of modules to: "default".