Overview
FastX (currently FastX3) is an accelerated client/server to display Linux's graphical user interface to Windows or Mac. The server side may not be present on a Linux machine and ASCTech can install it.
Contents
Usage
FastX is a remote desktop application that allows users to create a graphical user interface version of a remote computer. It should be noted that this is only possible if the server is running FastX server-side software.
You can download FastX from the OSU's Self Service page. Although there are different versions for Linux, Windows, and macOS, the differences are very minor and these steps should be appropriate for any of them.
When you first launch FastX, you will usually see a list of servers you have connected to. Initially, of course, this is going to be blank.
To create a new connection, press the + button at the top right of the window and select SSH. This will bring up the following form:
The Name field is simply a name you would like to give this connection. It does not have to be the same name as the server you're connecting to, and is what will appear in the list of connections mentioned above.
Mordor was a compute server, please substitute the name of the machine you are connecting to. Below is an example of how to make a connection to it:
Once you hit Save FastX will attempt to contact the server. You will also notice the connection appear in the main connection list, like so:
You will be prompted to enter your password if this is the first time you've connected to this server. Once you've authenticated and connected, you will see a window similar to the one above but with a few more options.
Clicking on the + again in the top right, you will be presented with a list of options for connecting.
The option to go with here to create a graphical desktop session is GNOME. The defaults for the other settings should be fine here.
Once you click OK, FastX will connect to the server. You may be prompted with the following dialogue:
If you are, remain calm and click Cancel to proceed with the connection. There is no need to enter an administrator's password, even if you have one.
After this you will be greeted with your desktop.
Once you've finished your session, you can simply close the desktop window. Since GNOME sessions in FastX are persistent, you will be able to continue right where you left off next time you log in, if you would like. Notice that the previously blank screen now has a GNOME session saved in it.
You can either close this session permanently by clicking the X at the top right of the session, or leave it and resume at the same place later. You can have multiple GNOME sessions open at once.
Installing the FastX Server
Note: These instructions are for Ubuntu, for RHEL machines replace apt-get with yum.
Install FastX3 server with the following command
sudo apt-get install FastX3
To finish the installation of FastX3 run the following command
sudo /usr/lib/fastx/3/install.sh
You'll then be prompted with the following message
Do you already have a license server on your network? [Y/N]
y
Enter the name (or IP address) of your license server:
fastx.coeit.osu.edu
when asked to Install/update the FastX web service? [Y/n]
n
The FastX server should now be installed.
Tunnel through jump
pre-requisites
- access to asc jump
- ssh keys (optional, but ideal)
MacOS
with ssh key
- Add this line to the ssh options under the "Advanced" tab
-J name.#@jump.asc.ohio-state.edu:2200 -i /Users/name.#/.ssh/id_rsa
Without ssh key
- change the port from 2200 to 22
- omit the -i /path/to/id_rsa
Windows
with ssh key
- under the "Advanced" Tab
- uncheck "use plink ssh program"
- add:
-J name.#@jump.asc.ohio-state.edu:2200
- select "ok"
- Note: trying to connect after this step will result in an error. From what I was able to find at the time of writing, the error is due to an outdated OpenSSL library used by windows. [more info]
- to remedy this we need to take some extra steps.
- create (if it doesnt already exist) a .ssh folder under C:\Users\name.#
- create a file named `config` (with no filetype, you may have fiddle getting an empty file, windows doesn't like to save files without extensions).
- in the config file add an entry for the host (or in this case I used `*` to denote all hosts).
- the line `MACs hmac-sha2-512` resolves the error (mac here means "message authentication code")
- the IdentityFile line tells ssh where to find your ssh key (if you are using one)
Without ssh key
- omit the IdentityFile line
- change ports for jump to 22 instead of 2200
Client Download
https://www.starnet.com/download/fastx-client
Avoiding unnecessary multiple sessions
Remember to log off of your GUI's desktop sessions when you are done on a system. If you don't. you accumulate them which will not help your system performance.
- In KDE - Select the desktop icon (top right corner of the desktop) , choose the leave option, then the logout option
These options do not log off of your GUI session
Fastx - Exit program
Fastx - File close connection
Fastx - Session - disconnect
- XFCE - Top right corner on desktop (will have your username), select Logout, select Logout again.
These options do not log off of your GUI session
Fastx - Exit program
Fastx - File close connection
Fastx - Session - disconnect
- You can see the number of desktops you have running via the terminal command line with the command: ps -eaf | grep -i username.# | grep -i Xorg
- If you have a non-GUI program that runs for a will on the system, the tmux virtual terminal is a good way to run things because you start the terminal session, start your job, and then detach from the session and exit the system. Then you can reconnect to the system, and attach to your tmux session to check on the status of the job. If you use tmux you don't have to have the GUI running all the time.
* To start tmux
tmux
* Use it like any terminal shell
$myshellscript.bash
* To detach from the session use the key sequence "CRTL-b" and then "d" (for detach)
[detached]
* To see your sessions (you can have as many as you want)
# tmux ls
0: 1 windows (created Thu Aug 24 12:59:21 2023) [266x57]
* To reattach to the session
tmux a -t 0
$myshellscript.bash
$
For more info on tmux see the man tmux page or google it.