See the updated instructions for Fastx 3 here:

FastX

FastX version 2 is no longer supported by the vendor, and will be going away soon.  It is left on temporarily to allow everyone to transition to FastX version 3.
If you have any problems using FastX version 3 as described in the above link, please open a ticket with the SLAC IT Helpdesk.

 

 

FastX is a modern solution for displaying remote Linux applications (X Clients) on your desktop or laptop.  FastX gives you the option of using any standard web browser to connect to your remote Linux sessions.   Additional information can be found on the StarNet web page: https://www.starnet.com/fastx/ .

The production SLAC FastX service is available at: https://fastx.slac.stanford.edu:3443

The test SLAC FastX service is available at: https://fastx-test.slac.stanford.edu:3443

The vendor documentation is here:
http://www.starnet.com/xwin32kb/fastx-end-user-manual-desktop/

FastX works well with Wide Area Network connections from offsite (non-SLAC networks), and it can also be used on SLAC Local Area Networks.

The SLAC FastX production service is implemented on a cluster of VMs for redundancy, performance, and horizontal scale-out capability.

Some FastX features which can be useful:



Getting an error message when trying to log in

If you get a message like this when you try to log in:

That probably means you have an "XU" account which is for facility users for LCLS systems.  XU accounts do not have access to central computing systems (they do not have a valid shell on central computing systems – the "DO NOT use..." message comes from a special "use-NOT" shell).  If your status has changed from a facility users to a staff/faculty user, then you can request to have your group changed from XU to something else, so you have access to central computing systems, such as FastX.  You can contact ithelp@slac.stanford.edu for help changing your account status and getting a valid shell for central computing systems.

 

Connecting to FastX using your Web Browser

FastX is unique in that a client application is not required.  If you do not wish to download the FastX client, you can use any web browser to create to access your sessions.  All modern browsers are supported, including Firefox, Safari, Chrome, and IE 10+ (or your smart phone).


  1. Go to the SLAC FastX web login page:   https://fastx.slac.stanford.edu:3443  
  2. Log in with your SLAC Unix username and password.
  3.   Do not check the Public Key Authentication option – that will not work well since it will not give you an AFS token.

  4. To start a new session, click on the plus box: 

  5. Inside the command box, you can start an xterm window and connect to a SLAC interactive login pool machine like this. You can replace rhel6-64 with the hostname of your own group's interactive login machine if you have one. Next to the command box, make sure 'multiple' is chosen (it's a drop down menu; the other choice is single).  Multiple means "multiple window mode" which allows you to move and resize your X client windows inside your browser window.

    xterm -e ssh rhel6-64.slac.stanford.edu
        

     

  6. If you want to run your own window manager inside the browser client (instead of the default window manager you get when you run in "multiple window mode"), then choose "single window mode". Type the following two commands inside your xterm window if you want to run the "twm" window manager (the xsetroot command just makes your desktop background a more pleasing color):

    twm &
    xsetroot -solid grey

    Other lightweight window managers include fvwm2, fluxbox, and xfce.   If these are not installed, you can ask unix-admin to install them (they are part of the EPEL repository).  It is possible to run an entire GNOME or KDE session (using the commmands 'gnome-session' or 'startkde').  In general, the best way to use FastX is to only start the specific applications you need, without using an entire desktop environment.  But you are free to experiment to find the best solution for you.
     

  7. Now you can start your Linux X applications by typing the commands inside your xterm window.   For example:

    gimp &
    gvim &
    gnome-terminal &
    /afs/slac/package/anaconda/anaconda3/bin/spyder &

  8. As always, your SLAC Unix AFS token needs to be renewed every 25 hours.   If your AFS token expires, then you will not be able to write files into your AFS home directory.  When you reconnect to your session later, the 'qtoken' command will quickly tell you if you have a current AFS token or not.  If your AFS token as expired, then use the 'kinit' command to get a new Kerberos ticket and AFS token.

    /usr/local/bin/qtoken
    /usr/local/bin/kinit

Session sharing with FastX

If you wish to use the "Session sharing" feature of FastX (so you can grant others permission to view your session – but only when you are actively attached to the session yourself), then you need to start a new session and select mode=single, and NOT mode=multiple. 



Using the Client application

 

Although not required, you can also download and use the desktop client application for your Windows, Mac, or Linux desktop or laptop.  The client application interface to FastX generally will be a nicer, higher quality user experience.  The FastX desktop client version you use should be the latest one available on the SLAC FastX web login page.  If you have an old version of the FastX desktop client, please delete it and download the latest version.
 
Instructions for downloading and installing the FastX desktop client application:
  1. Go to this URL: https://fastx.slac.stanford.edu:3443
  2. Log and and look at the lower right corner for the link that says Click on the link that says: "Desktop client"

  3. Or, directly download the client application from this URL:
    https://www.starnet.com/fastx/current-client
                                                                                                                               
  4. Download and start the desktop client.
  5. Click the + (plus) sign in the upper right corner to configure a new connection.
  6. Select Web (which is https port 3443) when given the choices of Web or SSH
    1.  If you prefer to configure an SSH connection (port 22), the path to the sci binary is /usr/bin/fastx2_sci
  7. Enter these values when you create a new Web client connection: (replace 'ksa' with your username):

  8. If you see a checkbox that says "Force SSH Authentication", click that checkbox.
  9. Click the Save button.
  10. Double click on your new saved connection.
  11. You can start a new session using the same instructions the the above session for "Connecting to FastX" – click the + (plus) icon.
  12. When you start a new session using the desktop client, you have a choice for Window mode: Multiple or Single.  If you choose single window mode, all of your Linux X applications will be run inside one resizable single window (as opposed to the multiple seamless floating windows you get if you choose multiple mode).

You can reconnect to one of your already running sessions by double clicking on it under the Name column.   It could take several seconds for your saved session to appear.

You should also see any sessions you already have running that you may have started in a browser connection to FastX.

If you do select 'SSH' instead of 'Web' in the client configuration, then the PATH you need is: /usr/bin/fastx2_sci
'Web' connections use port 3443, and 'SSH' connections use port 22.  One may be preferred over the other if you have a firewall which prevents port 22 outgoing connections.
Also, you can use many of the usual ssh authentication methods (eg, GSSAPI passwordless if you have a Kerberos Ticket Granting Ticket by typing 'kinit' on your machine).


fastx-l mailing list

SLAC has a fastx-l mailing list for users of the FastX service to communicate.  This is good venue to ask questions and discuss anything related to using the FastX service.  SLAC users of the FastX service may be able to quickly answer or help solve your problem.  When you have a FastX question or problem, there are several options you can use to get help:

 

Subscribe to fastx-l by using this command:

echo subscribe fastx-l | mail listserv@slac.stanford.edu 

Send your question or problem to the fastx-l mailing list.  You will reach other SLAC users of the service, and they may have already researched and solved your problem.  After you subscribe, you can view the list archives here: https://listserv.slac.stanford.edu/cgi-bin/wa?A0=FASTX-L

Send your question or problem to ithelp@slac.stanford.edu .   SLAC Desktop staff provides support for the FastX service, and can help with desktop, laptop, and browser related questions about using FastX at SLAC.  They are familiar with supporting the FastX service, and may have already helped another user solve the problem you have.

If ithelp@slac.stanford.edu determines they need Unix or server configuration support to help answer your question, they will work with unix-admin to solve the problem.   unix-admin can open a support case with FastX, and utilize our site-wide vendor license for engineering support.  FastX support engineers are eager to hear about problems and bugs, and they have already worked with unix-admin to modify configuration options and apply patches in our test cluster.  If we can reproduce a bug, they can gather information from our environment and release a bug fix with the next standard release of the FastX server and clients.



Frequently Asked Questions

QuestionAnswer
Where is the "User" button in the web client?

It's on the top right side of the browser window in the first "My Sessions" window/tab after you authenticate (where the "launch session" button is available). You will just see your username. Click on your username for some options like keyboard settings, and a place to save bookmarks and view history of commands you've used, and an option to sign out. See screenshot below:

 

 

How do I copy/paste when using an xterm with the desktop client?

Copy and paste work just like any other program.  On linux xterm, copy is highlight. Paste is middle mouse click (Command-click on a Mac laptop).  Paste can also be shift+insert

If you use a Mac, the usual ⌘-c for copy will not work in an xterm FastX window.

If copy/cut/paste don't work well for you with an xterm, try gnome-terminal instead.

What makes FastX fast?https://www.starnet.com/xwin32kb/what-makes-fastx-fast/
What is the latest version of FastX?  Where are the release notes?

http://www.starnet.com/xwin32kb/fastx-server-release-notes/

How do I connect to SLAC's FastX service?

http://fastx.slac.stanford.edu:3000 or https://fastx.slac.stanford.edu:3443

You can use FastX from any browser, or you can download the client application by going to either one of those URLs and click on 'Looking for the desktop client?'

I get 'Permission Denied' when trying to reconnect to a session

Please report this problem to unix-admin if you see it.  This problem has been seen in the past, and reported to FastX.  It should be fixed in the latest versions of FastX server and clients.   There are a couple of things you can try if you get this error:

Connect to the specific server where your session is, instead of the load balanced name.  You can do that by using one of these URLs:

https://fastx-srv01.slac.stanford.edu:3443

https://fastx-srv02.slac.stanford.edu:3443

If you can connect using this method, then do a 'kinit' in your FastX xterm window to renew your AFS token.  Now you should be able to use the load balanced fastx.slac.stanford.edu URL once again.

I get a strange error message when I try to log into the browser client (or the desktop client with a Web connection)  I see some output from my .cshrc in the error, and then it does not allow me to log in.

You have to protect any echo commands in your ~/.cshrc file by testing for an interactive shell.  fastx uses a non-interactive ssh connection for authentication, and any echo commands will cause it to fail.  This is the same issue for scp or sftp – if you put echo commands in your .cshrc that do not test for a prompt, then scp or sftp will fail to work.  The fix it to put any echo commands inside a test like this:

   if( ${?prompt} ) then
echo hi from cshrc
endif

You can verify you found all your non-protected echo commands by testing with a non-interactive ssh command, like this:

   $ ssh iris.slac.stanford.edu date

If you see any output besides the date, you need to either remove those echo commands, or put them inside a test for a prompt as shown above.

I cannot reconnect to my session.If you are using the Desktop client application, and you have configured a "SSH" connection, try using "Web" instead.
I want to delete one of my FastX sessions, but it won't go away.Email unix-admin and we can try to remove it manually.  We will do this by finding out the session details, and then killing the processes on the individual fastx-srvX cluster server.

 

 

Tips and Recommendations

If you are having a hard time with copy/cut and paste using an xterm, try using gnome-terminal instead.
I noticed if you start a "multiple window" session using the desktop client, you can later reconnect to it using the browser, and then the windows are moveable and resizeable in the browser (without having to start your own window manager).   At least that worked for me when I started a session using a Mac desktop client.
If you have any issues with the desktop client application, try creating a new connection using 'Web' (or if you already tried 'Web', then create a new connection using 'SSH')
If you find a problem or get an error, please send a screen shot if possible (on a Mac, command+shift+4, then select the area, and screenshot is saved on your desktop.

Try "multiple window mode" in the browser client by doing the following:

  1. Go to:  https://fastx.slac.stanford.edu:3443
  2. then log in
  3. then click on the plus box to add a new session
  4. click on the 'xterm -e ssh rhel6-64'  command (or type it in yourself in the command box)
  5. next to the command box, make sure 'multiple' is chosen (it's a drop down menu; the other choice is single)
  6. press start

Multiple window mode in the browser is still in experimental mode according to FastX, so please report any problems to unix-admin so we can let FastX engineers know.  You can reconnect to your multiple window mode session from a desktop client application, as long as you configure a "Web" connection in the desktop client application.

There are two tools that can help you diagnose session problems and cleanup dead/old sessions:

/usr/lib/fastx2/tools/diag
and
/usr/lib/fastx2/tools/cleanup

These two utilities must be run on the specific fastx-srvX cluster members.  For example, if you have sessions on both fastx-srv01 and fastx-srv02, then ssh to each fastx-srvX machine and run the 'diag' tool like this:

ssh fastx-srv01 /usr/lib/fastx2/tools/diag
ssh fastx-srv02 /usr/lib/fastx2/tools/diag

Use the 'diag' tool to gather information about your sessions, and if FastX thinks they are dead or not. Use the 'cleanup' tool to remove dead sessions. The cleanup tool also needs to be run on the fastx-srvX machine.  You may need to run 'cleanup' more than once.

If you cannot log in to FastX and get this error:

it might be because you are trying to start a new shell from your login shell initialization scripts.  eg, if you put 'exec bash' at the end of your .cshrc, you will have problems with some programs like FastX.
If you want to change your login shell, use this self-service tool on rhel6-64 instead:

/usr/local/bin/ypchsh